diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py index c24e187a..37f78bbe 100644 --- a/src/virtManager/addhardware.py +++ b/src/virtManager/addhardware.py @@ -30,7 +30,7 @@ import gtk.glade import virtinst from virtinst import VirtualCharDevice, VirtualDevice, VirtualVideoDevice -import virtManager.util as vmmutil +import virtManager.util as util import virtManager.uihelpers as uihelpers from virtManager.asyncjob import vmmAsyncJob from virtManager.error import vmmErrorDialog @@ -132,6 +132,7 @@ class vmmAddHardware(gobject.GObject): "char_bind_host_focus_in": (self.update_doc, "bind_host"), "char_telnet_focus_in": (self.update_doc, "protocol"), }) + util.bind_escape_key_close(self) # XXX: Help docs useless/out of date self.window.get_widget("create-help").hide() @@ -344,7 +345,7 @@ class vmmAddHardware(gobject.GObject): error = self.vm.get_connection().netdev_error if error: net_warn.show() - vmmutil.tooltip_wrapper(net_warn, error) + util.tooltip_wrapper(net_warn, error) else: net_warn.hide() @@ -1108,7 +1109,7 @@ class vmmAddHardware(gobject.GObject): # If creating disk via storage API, we need to thread # off a new connection if disk.vol_install: - newconn = vmmutil.dup_lib_conn(self.config, disk.conn) + newconn = util.dup_lib_conn(self.config, disk.conn) disk.conn = newconn logging.debug("Starting background file allocate process") disk.setup(meter) @@ -1172,8 +1173,8 @@ class vmmAddHardware(gobject.GObject): try: if (os.path.dirname(os.path.abspath(path)) == - vmmutil.DEFAULT_POOL_PATH): - vmmutil.build_default_pool(self.vm.get_connection().vmm) + util.DEFAULT_POOL_PATH): + util.build_default_pool(self.vm.get_connection().vmm) self._dev = virtinst.VirtualDisk(self.get_config_disk_image(), filesize, diff --git a/src/virtManager/clone.py b/src/virtManager/clone.py index 1d1e6b7a..5d72fab7 100644 --- a/src/virtManager/clone.py +++ b/src/virtManager/clone.py @@ -128,6 +128,7 @@ class vmmCloneVM(gobject.GObject): "on_clone_ok_clicked" : self.finish, "on_clone_help_clicked" : self.show_help, }) + util.bind_escape_key_close(self) # XXX: Help docs useless/out of date self.window.get_widget("clone-help").hide() diff --git a/src/virtManager/create.py b/src/virtManager/create.py index 6cb9cf1c..8a91d115 100644 --- a/src/virtManager/create.py +++ b/src/virtManager/create.py @@ -134,6 +134,7 @@ class vmmCreate(gobject.GObject): "on_config_hv_changed": self.hv_changed, "on_config_arch_changed": self.arch_changed, }) + util.bind_escape_key_close(self) self.set_initial_state() diff --git a/src/virtManager/createnet.py b/src/virtManager/createnet.py index 3f0911ad..914a144d 100644 --- a/src/virtManager/createnet.py +++ b/src/virtManager/createnet.py @@ -26,6 +26,7 @@ import logging import re import traceback +import virtManager.util as util from virtManager.IPy import IP from virtManager.network import vmmNetwork from virtManager.error import vmmErrorDialog @@ -70,6 +71,7 @@ class vmmCreateNetwork(gobject.GObject): "on_net_dhcp_end_changed": self.change_dhcp_end, "on_create_help_clicked": self.show_help, }) + util.bind_escape_key_close(self) # XXX: Help docs useless/out of date self.window.get_widget("create-help").hide() diff --git a/src/virtManager/createpool.py b/src/virtManager/createpool.py index 2d459701..1f6c20fb 100644 --- a/src/virtManager/createpool.py +++ b/src/virtManager/createpool.py @@ -104,6 +104,7 @@ class vmmCreatePool(gobject.GObject): "pool-info2"), "on_pool_build_focus_in_event": (self.update_build_doc) }) + util.bind_escape_key_close(self) # XXX: Help docs useless/out of date self.window.get_widget("pool-help").hide() diff --git a/src/virtManager/createvol.py b/src/virtManager/createvol.py index 67c13c2c..c673b8ac 100644 --- a/src/virtManager/createvol.py +++ b/src/virtManager/createvol.py @@ -67,6 +67,7 @@ class vmmCreateVolume(gobject.GObject): "on_vol_allocation_value_changed" : self.vol_allocation_changed, "on_vol_capacity_value_changed" : self.vol_capacity_changed, }) + util.bind_escape_key_close(self) format_list = self.window.get_widget("vol-format") format_model = gtk.ListStore(str, str) diff --git a/src/virtManager/delete.py b/src/virtManager/delete.py index 9b322d2b..c889c1e9 100644 --- a/src/virtManager/delete.py +++ b/src/virtManager/delete.py @@ -68,6 +68,7 @@ class vmmDeleteDialog(gobject.GObject): "on_delete_ok_clicked" : self.finish, "on_delete_remove_storage_toggled" : self.toggle_remove_storage, }) + util.bind_escape_key_close(self) image = gtk.image_new_from_icon_name("vm_delete_wizard", gtk.ICON_SIZE_DIALOG) diff --git a/src/virtManager/migrate.py b/src/virtManager/migrate.py index 6c3833c5..439c2b9c 100644 --- a/src/virtManager/migrate.py +++ b/src/virtManager/migrate.py @@ -79,6 +79,7 @@ class vmmMigrateDialog(gobject.GObject): "on_migrate_set_interface_toggled" : self.toggle_set_interface, "on_migrate_set_port_toggled" : self.toggle_set_port, }) + util.bind_escape_key_close(self) blue = gtk.gdk.color_parse("#0072A8") self.window.get_widget("migrate-header").modify_bg(gtk.STATE_NORMAL, diff --git a/src/virtManager/preferences.py b/src/virtManager/preferences.py index 06b9d423..9492d866 100644 --- a/src/virtManager/preferences.py +++ b/src/virtManager/preferences.py @@ -21,6 +21,8 @@ import gtk.glade import gobject +import virtManager.util as util + PREFS_PAGE_STATS = 0 PREFS_PAGE_VM_PREFS = 1 @@ -87,6 +89,7 @@ class vmmPreferences(gobject.GObject): "on_prefs_confirm_pause_toggled": self.change_confirm_pause, "on_prefs_confirm_removedev_toggled": self.change_confirm_removedev, }) + util.bind_escape_key_close(self) # XXX: Help docs useless/out of date self.window.get_widget("prefs-help").hide() diff --git a/src/virtManager/storagebrowse.py b/src/virtManager/storagebrowse.py index cafaf5a1..d4b2f02c 100644 --- a/src/virtManager/storagebrowse.py +++ b/src/virtManager/storagebrowse.py @@ -77,7 +77,7 @@ class vmmStorageBrowser(gobject.GObject): "on_choose_volume_clicked" : self.finish, "on_vol_list_row_activated" : self.finish, }) - + util.bind_escape_key_close(self) finish_img = gtk.image_new_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_BUTTON) diff --git a/src/virtManager/util.py b/src/virtManager/util.py index 72283a4b..1e5bd5b2 100644 --- a/src/virtManager/util.py +++ b/src/virtManager/util.py @@ -254,3 +254,10 @@ def uuidstr(rawuuid): if i == 3 or i == 5 or i == 7 or i == 9: uuid.append('-') return "".join(uuid) + +def bind_escape_key_close(vmmobj): + def close_on_escape(src, event): + if gtk.gdk.keyval_name(event.keyval) == "Escape": + vmmobj.close() + + vmmobj.topwin.connect("key-press-event", close_on_escape)