Skip to content
Snippets Groups Projects
Commit 00df37d1 authored by Conor Finn's avatar Conor Finn
Browse files

RE #27965 Add warning if focusing > 10 workspaces

parent 0fd1afa5
No related branches found
No related tags found
No related merge requests found
...@@ -14,6 +14,8 @@ from Engineering.gui.engineering_diffraction.tabs.common.cropping.cropping_widge ...@@ -14,6 +14,8 @@ from Engineering.gui.engineering_diffraction.tabs.common.cropping.cropping_widge
from mantidqt.utils.asynchronous import AsyncTask from mantidqt.utils.asynchronous import AsyncTask
from mantidqt.utils.observer_pattern import Observer from mantidqt.utils.observer_pattern import Observer
from qtpy.QtWidgets import QMessageBox
class FocusPresenter(object): class FocusPresenter(object):
def __init__(self, model, view): def __init__(self, model, view):
...@@ -41,7 +43,8 @@ class FocusPresenter(object): ...@@ -41,7 +43,8 @@ class FocusPresenter(object):
return return
banks, spectrum_numbers = self._get_banks() banks, spectrum_numbers = self._get_banks()
focus_paths = self.view.get_focus_filenames() focus_paths = self.view.get_focus_filenames()
self.start_focus_worker(focus_paths, banks, self.view.get_plot_output(), self.rb_num, spectrum_numbers) if self._number_of_files_warning(focus_paths):
self.start_focus_worker(focus_paths, banks, self.view.get_plot_output(), self.rb_num, spectrum_numbers)
def start_focus_worker(self, focus_paths, banks, plot_output, rb_num, spectrum_numbers=None): def start_focus_worker(self, focus_paths, banks, plot_output, rb_num, spectrum_numbers=None):
""" """
...@@ -94,6 +97,16 @@ class FocusPresenter(object): ...@@ -94,6 +97,16 @@ class FocusPresenter(object):
return False return False
return True return True
def _number_of_files_warning(self, paths):
if len(paths) > 10: # Just a guess on the warning for now. May change in future.
response = QMessageBox.warning(
self.view, 'Engineering Diffraction - Warning',
'You are attempting to focus {} workspaces. This may take some time.\n\n Would you like to continue?'
.format(len(paths)), QMessageBox.Ok | QMessageBox.Cancel)
return response == QMessageBox.Ok
else:
return True
def _on_worker_error(self, _): def _on_worker_error(self, _):
self.emit_enable_button_signal() self.emit_enable_button_signal()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment