diff --git a/src/Modules.py b/src/Modules.py index 973ee180ce35860383dedf7570e38a139a058ad2..2c4d8f6b709544bc5e2fb5c33c2d359fc41edbc0 100644 --- a/src/Modules.py +++ b/src/Modules.py @@ -28,6 +28,7 @@ class Modules(Flag): # General STUDY = auto() + CONFIG = auto() # Modelling NETWORK = auto() diff --git a/src/View/Configure/Window.py b/src/View/Configure/Window.py index 4a9788bf11b21d38a03b3a1ae17f55e112c1c520..8f28337065b9c1df227ba0adba129cebcee859d7 100644 --- a/src/View/Configure/Window.py +++ b/src/View/Configure/Window.py @@ -45,6 +45,7 @@ from PyQt5.QtWidgets import ( QComboBox, QUndoStack, QShortcut, QHeaderView, ) +from Modules import Modules from Solver.Solvers import solver_long_name logger = logging.getLogger() @@ -189,6 +190,7 @@ class ConfigureWindow(PamhyrDialog): self._config.lang = Config.languages( )[self.get_combobox_text("comboBox_language")] + self._propagate_update(key=Modules.CONFIG) self.end() def reject(self): diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index ac38f1e936cee406e3c379d49972535df12447cf..64b06b33070aa5ce7f6af61742db4d1d8d4405d7 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -408,6 +408,12 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): self._backup_timer.timeout.connect(self._backup) + def _do_update_config(self): + ts = self.get_config_backup_freq_to_sec() + logger.debug(f"Reset backup timer to {ts} second") + + self._backup_timer.start(ts * 1000) + def _init_propagation_keys(self): self._propagation_keys = Modules(0) @@ -419,11 +425,17 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): self.update() keys = self._propagation_keys + if keys is Modules.NONE: + return + self._init_propagation_keys() if Modules.WINDOW_LIST in keys: self._do_update_window_list() + if Modules.CONFIG in keys: + self._do_update_config() + logger.debug(f"Propagation of {keys}") for _, window in self.sub_win_list: window._propagated_update(key=keys)