Skip to content

Commit

Permalink
Add configurable search behavior to Job Monitor
Browse files Browse the repository at this point in the history
- Introduced a new configuration option `search_jobs.append_results` in cuegui.yaml to control job search behavior.
- 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 committed Sep 19, 2024
1 parent 0b60722 commit 5933a7e
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: ''

# A flag for search job with appended results
# true to appended to the current list of monitored jobs,
# false to clear the current job list and show only the new search results
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 5933a7e

Please sign in to comment.