From f0f6ad17e2c33d425cd79076049f28ca1315bf5c Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Tue, 13 Feb 2024 11:32:16 +0100 Subject: [PATCH] Pamhyr: Add recursive window activation. --- src/View/MainWindow.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index 075f26c5..902d2d83 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -573,9 +573,23 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): ############# def _activate_window(self, window_hash): - window = self.get_sub_win(window_hash) - if window is not None: - window.activateWindow() + self._try_activate_window_for_window(self, window_hash) + + def _try_activate_window_for_window(self, + source_window, + window_hash): + try: + window = source_window.get_sub_win(window_hash) + if window is not None: + window.activateWindow() + else: + for _, win in source_window.sub_win_list: + self._try_activate_window_for_window( + win, + window_hash + ) + except Exception: + return def _update_window_list(self): self._propagation_keys.add("window_list") -- GitLab