diff options
author | Jeremy Katz <katzj@redhat.com> | 2008-04-17 02:08:19 -0400 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2008-04-17 02:08:19 -0400 |
commit | 8880d5a72adece7d8338d66ed9a19202fc5edd21 (patch) | |
tree | 40b492b242cddd7820c001375077826897e2a384 /iw | |
parent | c5866c11de77c7d89be208fcbc4858d532904dd4 (diff) | |
download | anaconda-8880d5a72adece7d8338d66ed9a19202fc5edd21.tar.gz anaconda-8880d5a72adece7d8338d66ed9a19202fc5edd21.tar.xz anaconda-8880d5a72adece7d8338d66ed9a19202fc5edd21.zip |
Use a real GtkDialog instead of some crazy hacked up dialog
Doing our own gtk.main() causes things to get "odd" from some callers,
so just make this a normal GtkDialog. Also, make sure that when we pop
up the dialog, the busy cursor isn't showing
Diffstat (limited to 'iw')
-rw-r--r-- | iw/netconfig_dialog.py | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/iw/netconfig_dialog.py b/iw/netconfig_dialog.py index e361e5aed..dd5554e1a 100644 --- a/iw/netconfig_dialog.py +++ b/iw/netconfig_dialog.py @@ -130,8 +130,21 @@ class NetworkConfigurator: def run(self): gui.addFrame(self.window) + busycursor = gui.getBusyCursorStatus() + gui.setCursorToNormal() + self.window.show() - gtk.main() + while True: + rc = self.window.run() + if rc == gtk.RESPONSE_CANCEL: + self._cancel() + break + if self._ok(): + break + + # restore busy cursor + if busycursor: + gui.setCursorToBusy() return self.rc def destroy(self): @@ -158,7 +171,6 @@ class NetworkConfigurator: d.destroy() def _cancel(self, *args): - gtk.main_quit() self.rc = gtk.RESPONSE_CANCEL def _ok(self, *args): @@ -196,10 +208,10 @@ class NetworkConfigurator: netdev.set(('ipaddr', ipv4addr)) except network.IPMissing, msg: self._handleIPMissing(_("IP Address")) - return + return False except network.IPError, msg: self._handleIPError(_("IP Address"), msg) - return + return False if ipv4nm.find('.') == -1: # user provided a CIDR prefix @@ -207,13 +219,13 @@ class NetworkConfigurator: if int(ipv4nm) > 32 or int(ipv4nm) < 0: msg = _("IPv4 CIDR prefix must be between 0 and 32.") self._handleIPError(_("IPv4 Network Mask"), msg) - return + return False else: ipv4nm = isys.prefix2netmask(int(ipv4nm)) netdev.set(('netmask', ipv4nm)) except: self._handleIPMissing(_("IPv4 Network Mask")) - return + return False else: # user provided a dotted-quad netmask try: @@ -221,27 +233,27 @@ class NetworkConfigurator: netdev.set(('netmask', ipv4nm)) except network.IPMissing, msg: self._handleIPMissing(_("IPv4 Network Mask")) - return + return False except network.IPError, msg: self._handleIPError(_("IPv4 Network Mask"), msg) - return + return False try: if gateway: network.sanityCheckIPString(gateway) except network.IPMissing, msg: self._handleIPMissing(_("Gateway")) - return + return False except network.IPError, msg: self._handleIPError(_("Gateway"), msg) - return + return False try: if ns: network.sanityCheckIPString(ns) except network.IPError, msg: self._handleIPError(_("Nameserver"), msg) - return + return False try: @@ -251,7 +263,7 @@ class NetworkConfigurator: log = logging.getLogger("anaconda") log.error("Error configuring network device: %s" %(e,)) self._handleIPError(_("Error configuring network device:"), e) - return + return False self.rc = gtk.RESPONSE_OK if ns: @@ -265,9 +277,8 @@ class NetworkConfigurator: gui.MessageWindow(_("Error"), _("Error configuring network device"), type = "ok", custom_icon="error") - return - - gtk.main_quit() + return False + return True |