[PATCH 1/3] We can import Gtk globally now
Vratislav Podzimek
vpodzime at redhat.com
Mon Apr 15 11:38:18 UTC 2013
Gtk no longer raises exception if it fails to initialize when imported. Thus we
can import it globally and just need to check if it is initialized when the GUI
is run.
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
pyanaconda/ui/gui/__init__.py | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
index f8efb7f..8904163 100644
--- a/pyanaconda/ui/gui/__init__.py
+++ b/pyanaconda/ui/gui/__init__.py
@@ -21,7 +21,8 @@
import inspect, os, sys, time, site
import meh.ui.gui
-from gi.repository import Gdk
+# pylint: disable-msg=E0611
+from gi.repository import Gdk, Gtk, AnacondaWidgets
from pyanaconda.product import distributionText, isFinal
@@ -106,8 +107,6 @@ class GUIObject(common.UIObject):
self.skipTo = None
self.applyOnSkip = False
- from gi.repository import Gtk
-
self.builder = Gtk.Builder()
self.builder.set_translation_domain("anaconda")
self._window = None
@@ -338,7 +337,9 @@ class GraphicalUserInterface(UserInterface):
return obj
def run(self):
- from gi.repository import Gtk
+ (success, args) = Gtk.init_check(None)
+ if not success:
+ raise RuntimeError("Failed to initialize Gtk")
if Gtk.main_level() > 0:
# Gtk main loop running. That means python-meh caught exception
@@ -383,7 +384,6 @@ class GraphicalUserInterface(UserInterface):
###
@gtk_action_wait
def showError(self, message):
- from gi.repository import AnacondaWidgets, Gtk
dlg = Gtk.MessageDialog(flags=Gtk.DialogFlags.MODAL,
message_type=Gtk.MessageType.ERROR,
buttons=Gtk.ButtonsType.NONE,
@@ -427,8 +427,6 @@ class GraphicalUserInterface(UserInterface):
### SIGNAL HANDLING METHODS
###
def _on_continue_clicked(self):
- from gi.repository import Gtk
-
# If we're on the last screen, clicking Continue quits.
if len(self._actions) == 1:
Gtk.main_quit()
@@ -511,8 +509,6 @@ class GraphicalExceptionHandlingIface(meh.ui.gui.GraphicalIntf):
self._lightbox_func = lightbox_func
def mainExceptionWindow(self, text, exn_file, *args, **kwargs):
- from gi.repository import Gtk
-
meh_intf = meh.ui.gui.GraphicalIntf()
exc_window = meh_intf.mainExceptionWindow(text, exn_file)
exc_window.main_window.set_decorated(False)
--
1.7.11.7
More information about the anaconda-patches
mailing list