[PATCH 1/3] Context manager for doing things with busied cursor

Vratislav Podzimek vpodzime at redhat.com
Mon May 6 13:12:32 UTC 2013


Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
 pyanaconda/ui/gui/__init__.py | 13 ++-----------
 pyanaconda/ui/gui/utils.py    | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index b0e04ef..9b91d3f 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -28,14 +28,14 @@ from pyanaconda.i18n import _
 from pyanaconda.product import distributionText, isFinal
 
 from pyanaconda.ui import UserInterface, common
-from pyanaconda.ui.gui.utils import enlightbox, gtk_action_wait
+from pyanaconda.ui.gui.utils import enlightbox, gtk_action_wait, busyCursor, unbusyCursor
 from pyanaconda.product import isFinal, productName, productVersion
 import os.path
 
 import logging
 log = logging.getLogger("anaconda")
 
-__all__ = ["GraphicalUserInterface", "UIObject", "busyCursor", "unbusyCursor", "QuitDialog"]
+__all__ = ["GraphicalUserInterface", "UIObject", "QuitDialog"]
 
 _screenshotIndex = 0
 
@@ -542,12 +542,3 @@ class GraphicalExceptionHandlingIface(meh.ui.gui.GraphicalIntf):
 
         return exc_window
 
-def busyCursor():
-    window = Gdk.get_default_root_window()
-    window.set_cursor(Gdk.Cursor(Gdk.CursorType.WATCH))
-
-def unbusyCursor():
-    window = Gdk.get_default_root_window()
-    window.set_cursor(Gdk.Cursor(Gdk.CursorType.ARROW))
-
-
diff --git a/pyanaconda/ui/gui/utils.py b/pyanaconda/ui/gui/utils.py
index 1be3bd1..9aa6e3c 100644
--- a/pyanaconda/ui/gui/utils.py
+++ b/pyanaconda/ui/gui/utils.py
@@ -102,6 +102,20 @@ def enlightbox(mainWindow, dialog):
     yield
     lightbox.destroy()
 
+def busyCursor():
+    window = Gdk.get_default_root_window()
+    window.set_cursor(Gdk.Cursor(Gdk.CursorType.WATCH))
+
+def unbusyCursor():
+    window = Gdk.get_default_root_window()
+    window.set_cursor(Gdk.Cursor(Gdk.CursorType.ARROW))
+
+ at contextmanager
+def busied_cursor():
+    busyCursor()
+    yield
+    unbusyCursor()
+
 def setViewportBackground(vp, color="@theme_bg_color"):
     """Set the background color of the GtkViewport vp to be the same as the
        overall UI background.  This should not be called for every viewport,
-- 
1.7.11.7



More information about the anaconda-patches mailing list