diff options
author | Cole Robinson <crobinso@redhat.com> | 2017-04-27 15:00:17 -0400 |
---|---|---|
committer | Cole Robinson <crobinso@redhat.com> | 2017-04-27 15:00:17 -0400 |
commit | c0a3234633583471010d840b9e6019d766c955b4 (patch) | |
tree | 9796824b8e4746c07118d8b6199b025d833237c7 | |
parent | 8181e8609867fe6ed101e48212d42a1c38373539 (diff) | |
download | virt-manager-c0a3234633583471010d840b9e6019d766c955b4.tar.gz |
baseclass: share wizard cursor setting code
-rw-r--r-- | virtManager/addhardware.py | 9 | ||||
-rw-r--r-- | virtManager/baseclass.py | 15 | ||||
-rw-r--r-- | virtManager/clone.py | 8 | ||||
-rw-r--r-- | virtManager/create.py | 20 | ||||
-rw-r--r-- | virtManager/createinterface.py | 9 | ||||
-rw-r--r-- | virtManager/createnet.py | 9 | ||||
-rw-r--r-- | virtManager/createpool.py | 10 | ||||
-rw-r--r-- | virtManager/createvol.py | 9 | ||||
-rw-r--r-- | virtManager/delete.py | 8 | ||||
-rw-r--r-- | virtManager/migrate.py | 8 | ||||
-rw-r--r-- | virtManager/snapshots.py | 11 |
11 files changed, 39 insertions, 77 deletions
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py index 00161a0e..345e388c 100644 --- a/virtManager/addhardware.py +++ b/virtManager/addhardware.py @@ -1354,9 +1354,7 @@ class vmmAddHardware(vmmGObjectUI): if error is not None: self.err.show_err(error, details=details) - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() self._dev = None if not failure: @@ -1371,10 +1369,7 @@ class vmmAddHardware(vmmGObjectUI): "input: %s") % str(e)) return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - + self.set_finish_cursor() progWin = vmmAsyncJob(self._setup_device, [], self._finish_cb, [], _("Creating device"), diff --git a/virtManager/baseclass.py b/virtManager/baseclass.py index 3d40ae26..7f3b7592 100644 --- a/virtManager/baseclass.py +++ b/virtManager/baseclass.py @@ -238,3 +238,18 @@ class vmmGObjectUI(vmmGObject): def bind_escape_key_close(self): self.bind_escape_key_close_helper(self.topwin, self.close) + + def set_finish_cursor(self): + self.topwin.set_sensitive(False) + cursor = Gdk.Cursor.new(Gdk.CursorType.WATCH) + self.topwin.get_window().set_cursor(cursor) + + def reset_finish_cursor(self, topwin=None): + if not topwin: + topwin = self.topwin + + topwin.set_sensitive(True) + if not topwin.get_window(): + return + cursor = Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW) + topwin.get_window().set_cursor(cursor) diff --git a/virtManager/clone.py b/virtManager/clone.py index ddc73d8c..813edf29 100644 --- a/virtManager/clone.py +++ b/virtManager/clone.py @@ -803,9 +803,7 @@ class vmmCloneVM(vmmGObjectUI): return True def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error is not None: error = (_("Error creating virtual machine clone '%s': %s") % @@ -824,9 +822,7 @@ class vmmCloneVM(vmmGObjectUI): self.err.show_err(_("Uncaught error validating input: %s") % str(e)) return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) + self.set_finish_cursor() title = (_("Creating virtual machine clone '%s'") % self.clone_design.clone_name) diff --git a/virtManager/create.py b/virtManager/create.py index 83ddcba3..d374f3d0 100644 --- a/virtManager/create.py +++ b/virtManager/create.py @@ -366,7 +366,7 @@ class vmmCreate(vmmGObjectUI): self._failed_guest = None self._guest = None self._show_all_os_was_selected = False - self._undo_finish_cursor(self.topwin) + self.reset_finish_cursor() self.widget("create-pages").set_current_page(PAGE_NAME) self._page_changed(None, None, PAGE_NAME) @@ -2218,18 +2218,6 @@ class vmmCreate(vmmGObjectUI): # Guest install routines # ########################## - def _set_finish_cursor(self, topwin): - topwin.set_sensitive(False) - topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - - def _undo_finish_cursor(self, topwin): - topwin.set_sensitive(True) - if not topwin.get_window(): - return - topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) - def _finish_clicked(self, src_ignore): # Validate the final page page = self.widget("create-pages").get_current_page() @@ -2241,7 +2229,7 @@ class vmmCreate(vmmGObjectUI): # Start the install self._failed_guest = None - self._set_finish_cursor(self.topwin) + self.set_finish_cursor() if not self.widget("summary-customize").get_active(): self._start_install(guest) @@ -2251,7 +2239,7 @@ class vmmCreate(vmmGObjectUI): try: self._show_customize_dialog(guest) except Exception, e: - self._undo_finish_cursor(self.topwin) + self.reset_finish_cursor() self.err.show_err(_("Error starting installation: ") + str(e)) return @@ -2287,7 +2275,7 @@ class vmmCreate(vmmGObjectUI): self._customize_window.show() def _install_finished_cb(self, error, details, parentobj): - self._undo_finish_cursor(parentobj.topwin) + self.reset_finish_cursor(parentobj.topwin) if error: error = (_("Unable to complete install: '%s'") % error) diff --git a/virtManager/createinterface.py b/virtManager/createinterface.py index 82e69cbb..5c935885 100644 --- a/virtManager/createinterface.py +++ b/virtManager/createinterface.py @@ -1111,9 +1111,7 @@ class vmmCreateInterface(vmmGObjectUI): ##################### def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error: error = _("Error creating interface: '%s'") % error @@ -1134,10 +1132,7 @@ class vmmCreateInterface(vmmGObjectUI): activate = self.widget("interface-activate").get_active() # Start the install - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - + self.set_finish_cursor() progWin = vmmAsyncJob(self.do_install, [activate], self._finish_cb, [], _("Creating virtual interface"), diff --git a/virtManager/createnet.py b/virtManager/createnet.py index 3ce2952b..4d2d15b4 100644 --- a/virtManager/createnet.py +++ b/virtManager/createnet.py @@ -791,9 +791,7 @@ class vmmCreateNetwork(vmmGObjectUI): return net def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error: error = _("Error creating virtual network: %s") % str(error) @@ -816,10 +814,7 @@ class vmmCreateNetwork(vmmGObjectUI): self.err.show_err(_("Error generating network xml: %s") % str(e)) return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - + self.set_finish_cursor() progWin = vmmAsyncJob(self._async_net_create, [net], self._finish_cb, [], _("Creating virtual network..."), diff --git a/virtManager/createpool.py b/virtManager/createpool.py index 93cbaec7..ef8a9d06 100644 --- a/virtManager/createpool.py +++ b/virtManager/createpool.py @@ -411,9 +411,7 @@ class vmmCreatePool(vmmGObjectUI): self.emit("pool-created", connkey) def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error: error = _("Error creating pool: %s") % error @@ -426,11 +424,9 @@ class vmmCreatePool(vmmGObjectUI): self.close() def finish(self): - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - build = self.widget("pool-build").get_active() + self.reset_finish_cursor() + build = self.widget("pool-build").get_active() progWin = vmmAsyncJob(self._async_pool_create, [build], self._finish_cb, [], _("Creating storage pool..."), diff --git a/virtManager/createvol.py b/virtManager/createvol.py index dd5d8662..ffaf1e8b 100644 --- a/virtManager/createvol.py +++ b/virtManager/createvol.py @@ -273,9 +273,7 @@ class vmmCreateVolume(vmmGObjectUI): self.emit("vol-created", pool.get_connkey(), volname) def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error: error = _("Error creating vol: %s") % error @@ -295,10 +293,7 @@ class vmmCreateVolume(vmmGObjectUI): self.show_err(_("Uncaught error validating input: %s") % str(e)) return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - + self.set_finish_cursor() progWin = vmmAsyncJob(self._async_vol_create, [], self._finish_cb, [], _("Creating storage volume..."), diff --git a/virtManager/delete.py b/virtManager/delete.py index 9a08e04b..a1ade663 100644 --- a/virtManager/delete.py +++ b/virtManager/delete.py @@ -125,9 +125,7 @@ class vmmDeleteDialog(vmmGObjectUI): return paths def _finish_cb(self, error, details): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error is not None: self.err.show_err(error, details=details) @@ -149,9 +147,7 @@ class vmmDeleteDialog(vmmGObjectUI): if not ret: return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) + self.set_finish_cursor() title = _("Deleting virtual machine '%s'") % self.vm.get_name() text = title diff --git a/virtManager/migrate.py b/virtManager/migrate.py index 96019695..26e71ea5 100644 --- a/virtManager/migrate.py +++ b/virtManager/migrate.py @@ -352,9 +352,7 @@ class vmmMigrateDialog(vmmGObjectUI): return uri def _finish_cb(self, error, details, destconn): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error: error = _("Unable to migrate guest: %s") % error @@ -385,9 +383,7 @@ class vmmMigrateDialog(vmmGObjectUI): details=details) return - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) + self.set_finish_cursor() cancel_cb = None if self.vm.getjobinfo_supported: diff --git a/virtManager/snapshots.py b/virtManager/snapshots.py index ac80c5c0..6f426a35 100644 --- a/virtManager/snapshots.py +++ b/virtManager/snapshots.py @@ -460,9 +460,7 @@ class vmmSnapshotPage(vmmGObjectUI): self.widget("snapshot-new-ok").set_sensitive(bool(src.get_text())) def _new_finish_cb(self, error, details, newname): - self.topwin.set_sensitive(True) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.TOP_LEFT_ARROW)) + self.reset_finish_cursor() if error is not None: error = _("Error creating snapshot: %s") % error @@ -530,12 +528,9 @@ class vmmSnapshotPage(vmmGObjectUI): xml = snap.get_xml_config() name = snap.name mime, sndata = self._get_screenshot_data_for_save() - - self.topwin.set_sensitive(False) - self.topwin.get_window().set_cursor( - Gdk.Cursor.new(Gdk.CursorType.WATCH)) - self._snapshot_new_close() + + self.set_finish_cursor() progWin = vmmAsyncJob( self._do_create_snapshot, [xml, name, mime, sndata], self._new_finish_cb, [name], |