diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index 902d2d830bd022ad8f9ab08462ae5867c6190f86..1d8cbee4531645ce494cc131e1a85740d7fdb11f 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -342,6 +342,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): def _do_propagate_update(self): for key in self._propagation_keys: if key == "window_list": + logger.debug(f"Update window list") self._do_update_window_list() continue @@ -568,9 +569,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): elif res == QMessageBox.Cancel: return False - ############# - # SUBWINDOW # - ############# + ######################### + # SUB WINDOWS MENU LIST # + ######################### def _activate_window(self, window_hash): self._try_activate_window_for_window(self, window_hash) @@ -629,6 +630,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): menu.addAction(action) + ############### + # SUB WINDOWS # + ############### + def open_configure(self): """Open configure window diff --git a/src/View/Tools/ListedSubWindow.py b/src/View/Tools/ListedSubWindow.py index dad3623432cb63836c8a7becd58dcbf2ec32f1b6..2a4d6e84dc067b16b9adf09fe90c9756972c78e4 100644 --- a/src/View/Tools/ListedSubWindow.py +++ b/src/View/Tools/ListedSubWindow.py @@ -112,3 +112,7 @@ class ListedSubWindow(object): self._parent._update_window_list() except Exception: return + + def _close_sub_window(self): + for _, win in self._sub_win_list: + win.close() diff --git a/src/View/Tools/PamhyrWindow.py b/src/View/Tools/PamhyrWindow.py index 32b77db9c6e2f07764fe360623a9f5d1c1b45ad0..7555d5fbb0687a3b9a88e915b538ad4729bb20c7 100644 --- a/src/View/Tools/PamhyrWindow.py +++ b/src/View/Tools/PamhyrWindow.py @@ -172,6 +172,12 @@ class PamhyrWindow(ASubMainWindow, ListedSubWindow, PamhyrWindowTools): self._set_title() + def closeEvent(self, event): + self._close_sub_window() + self._propagate_update("window_list") + + super(PamhyrWindow, self).closeEvent(event) + class PamhyrDialog(ASubWindow, ListedSubWindow, PamhyrWindowTools): _pamhyr_ui = "dummy"