Skip to content

Commit

Permalink
Add a flag to search job with appended results (AcademySoftwareFounda…
Browse files Browse the repository at this point in the history
…tion#1514)

- Add a new configuration option `search_jobs.append_results` in
cuegui.yaml to control job search behaviour.
- If `search_jobs.append_results` is set to true, search results will be
appended to the current list of monitored jobs.
- If `search_jobs.append_results` is set to false, the existing jobs
will be cleared before displaying the search results.
- Updated Constants.py to include the new configuration parameter.
- Modified MonitorJobsPlugin.py to conditionally clear the job monitor
based on the config setting.
  • Loading branch information
ramonfigueiredo authored Sep 19, 2024
1 parent 0b60722 commit 388255c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
2 changes: 2 additions & 0 deletions cuegui/cuegui/Constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ def __packaged_version():
for action_type
in __config.get('filter_dialog.disabled_action_types', "").split(",")]

SEARCH_JOBS_APPEND_RESULTS = __config.get('search_jobs.append_results', True)

TYPE_JOB = QtWidgets.QTreeWidgetItem.UserType + 1
TYPE_LAYER = QtWidgets.QTreeWidgetItem.UserType + 2
TYPE_FRAME = QtWidgets.QTreeWidgetItem.UserType + 3
Expand Down
5 changes: 5 additions & 0 deletions cuegui/cuegui/config/cuegui.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -152,3 +152,8 @@ finished_jobs_readonly.layer: True
# MOVE_JOB_TO_GROUP, SET_ALL_RENDER_LAYER_MAX_CORES)
# An empty string means all actions are active.
filter_dialog.disabled_action_types: ''

# Define whether or not new jobs should be appended to the current list of jobs on the JobMonitor widget
# - True: search result will append jobs to the current list of monitored jobs
# - False: repopulate the jobs table with the search result
search_jobs.append_results: True
8 changes: 5 additions & 3 deletions cuegui/cuegui/plugins/MonitorJobsPlugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,12 +193,14 @@ def _loadFinishedJobsSetup(self, layout):
self.__loadFinishedJobsCheckBox.stateChanged.connect(self._regexLoadJobsHandle) # pylint: disable=no-member

def _regexLoadJobsHandle(self):
"""This will select all jobs that have a name that contain the substring
in self.__regexLoadJobsEditBox.text() and scroll to the first match"""
"""This will select all jobs that have a name that contains the substring
in self.__regexLoadJobsEditBox.text() and scroll to the first match."""
substring = str(self.__regexLoadJobsEditBox.text()).strip()
load_finished_jobs = self.__loadFinishedJobsCheckBox.isChecked()

self.jobMonitor.removeAllItems()
# Only clear the existing jobs if SEARCH_JOBS_APPEND_RESULTS is False
if not cuegui.Constants.SEARCH_JOBS_APPEND_RESULTS:
self.jobMonitor.removeAllItems()

if substring:
# Load job if a uuid is provided
Expand Down

0 comments on commit 388255c

Please sign in to comment.