summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2017-04-27 15:00:17 -0400
committerCole Robinson <crobinso@redhat.com>2017-04-27 15:00:17 -0400
commitc0a3234633583471010d840b9e6019d766c955b4 (patch)
tree9796824b8e4746c07118d8b6199b025d833237c7
parent8181e8609867fe6ed101e48212d42a1c38373539 (diff)
downloadvirt-manager-c0a3234633583471010d840b9e6019d766c955b4.tar.gz
baseclass: share wizard cursor setting code
-rw-r--r--virtManager/addhardware.py9
-rw-r--r--virtManager/baseclass.py15
-rw-r--r--virtManager/clone.py8
-rw-r--r--virtManager/create.py20
-rw-r--r--virtManager/createinterface.py9
-rw-r--r--virtManager/createnet.py9
-rw-r--r--virtManager/createpool.py10
-rw-r--r--virtManager/createvol.py9
-rw-r--r--virtManager/delete.py8
-rw-r--r--virtManager/migrate.py8
-rw-r--r--virtManager/snapshots.py11
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],