[rhel7-branch][PATCH] Put spokes' windows into our windows group

Vratislav Podzimek vpodzime at redhat.com
Mon Sep 8 15:11:40 UTC 2014


And use the window group to get the top-level window when asked for a lightbox.
This way we can use the global (singleton, if you prefer) window group to get
the current window to show lightbox over.

Related: rhbz#1073679
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
 pyanaconda/ui/gui/__init__.py      | 10 +++++-----
 pyanaconda/ui/gui/hubs/__init__.py |  5 ++++-
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index 4df9426..c80833b 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -339,11 +339,11 @@ class GraphicalUserInterface(UserInterface):
 
         from gi.repository import AnacondaWidgets
 
-        # if there are no actions (not populated yet), we can do nothing
-        if len(self._actions) > 0 and self._currentAction:
-            lightbox = AnacondaWidgets.lb_show_over(self._currentAction.window)
-            ANACONDA_WINDOW_GROUP.add_window(lightbox)
-            window.main_window.set_transient_for(lightbox)
+        # show lightbox over the current top-level window
+        top_window = ANACONDA_WINDOW_GROUP.list_windows()[-1]
+        lightbox = AnacondaWidgets.lb_show_over(top_window)
+        ANACONDA_WINDOW_GROUP.add_window(lightbox)
+        window.main_window.set_transient_for(lightbox)
 
     def _instantiateAction(self, actionClass):
         from spokes import StandaloneSpoke
diff --git a/pyanaconda/ui/gui/hubs/__init__.py b/pyanaconda/ui/gui/hubs/__init__.py
index 3bec451..ec47707 100644
--- a/pyanaconda/ui/gui/hubs/__init__.py
+++ b/pyanaconda/ui/gui/hubs/__init__.py
@@ -30,7 +30,7 @@ from pyanaconda.i18n import _
 from pyanaconda.product import distributionText
 
 from pyanaconda.ui import common
-from pyanaconda.ui.gui import GUIObject
+from pyanaconda.ui.gui import GUIObject, ANACONDA_WINDOW_GROUP
 from pyanaconda.ui.gui.categories import collect_categories
 from pyanaconda.ui.gui.spokes import StandaloneSpoke, collect_spokes
 from pyanaconda.ui.gui.utils import gtk_call_once
@@ -101,6 +101,9 @@ class Hub(GUIObject, common.Hub):
     def _runSpoke(self, action):
         from gi.repository import Gtk
 
+        # add the spoke's window to our window group
+        ANACONDA_WINDOW_GROUP.add_window(action.window)
+
         # This duplicates code in widgets/src/BaseWindow.c, but we want to make sure
         # maximize gets called every time a spoke is displayed to prevent the 25%
         # UI from showing up.
-- 
1.9.3



More information about the anaconda-patches mailing list