diff --git a/cuegui/cuegui/Constants.py b/cuegui/cuegui/Constants.py index ff45e85d4..fef8da08f 100644 --- a/cuegui/cuegui/Constants.py +++ b/cuegui/cuegui/Constants.py @@ -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 diff --git a/cuegui/cuegui/config/cuegui.yaml b/cuegui/cuegui/config/cuegui.yaml index e210cfc20..ffb716b97 100644 --- a/cuegui/cuegui/config/cuegui.yaml +++ b/cuegui/cuegui/config/cuegui.yaml @@ -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 diff --git a/cuegui/cuegui/plugins/MonitorJobsPlugin.py b/cuegui/cuegui/plugins/MonitorJobsPlugin.py index 00e217fbc..744603088 100644 --- a/cuegui/cuegui/plugins/MonitorJobsPlugin.py +++ b/cuegui/cuegui/plugins/MonitorJobsPlugin.py @@ -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