diff --git a/src/virtManager/addhardware.py b/src/virtManager/addhardware.py index 1209bf406..979dc8226 100644 --- a/src/virtManager/addhardware.py +++ b/src/virtManager/addhardware.py @@ -107,21 +107,21 @@ class vmmAddHardware(vmmGObjectUI): self.bind_escape_key_close() # XXX: Help docs useless/out of date - self.window.get_widget("create-help").hide() + self.widget("create-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("create-finish").set_image(finish_img) + self.widget("create-finish").set_image(finish_img) self.set_initial_state() - hwlist = self.window.get_widget("hardware-list") + hwlist = self.widget("hardware-list") hwlist.get_selection().connect("changed", self.hw_selected) def update_doc(self, ignore1, ignore2, param): doc = self._build_doc_str(param) - self.window.get_widget("char-info").set_markup(doc) + self.widget("char-info").set_markup(doc) def update_doc_changed(self, ignore1, param): # Wrapper for update_doc and 'changed' signal @@ -188,17 +188,16 @@ class vmmAddHardware(vmmGObjectUI): ########################## def set_initial_state(self): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") notebook.set_show_tabs(False) black = gtk.gdk.color_parse("#000") - self.window.get_widget("page-title-box").modify_bg( - gtk.STATE_NORMAL, black) + self.widget("page-title-box").modify_bg(gtk.STATE_NORMAL, black) # Name, icon name, page number, is sensitive, tooltip, icon size, # device type (serial/parallel)... model = gtk.ListStore(str, str, int, bool, str, str) - hw_list = self.window.get_widget("hardware-list") + hw_list = self.widget("hardware-list") hw_list.set_model(model) hw_col = gtk.TreeViewColumn("Hardware") @@ -218,16 +217,16 @@ class vmmAddHardware(vmmGObjectUI): hw_list.append_column(hw_col) # Virtual network list - net_list = self.window.get_widget("net-list") - bridge_box = self.window.get_widget("net-bridge-box") + net_list = self.widget("net-list") + bridge_box = self.widget("net-bridge-box") uihelpers.init_network_list(net_list, bridge_box) # Network model list - netmodel_list = self.window.get_widget("net-model") + netmodel_list = self.widget("net-model") uihelpers.build_netmodel_combo(self.vm, netmodel_list) # Disk device type / bus - target_list = self.window.get_widget("config-storage-devtype") + target_list = self.widget("config-storage-devtype") target_model = gtk.ListStore(str, str, str, str, int) target_list.set_model(target_model) icon = gtk.CellRendererPixbuf() @@ -240,19 +239,19 @@ class vmmAddHardware(vmmGObjectUI): target_list.add_attribute(text, 'text', 3) # Disk cache mode - cache_list = self.window.get_widget("config-storage-cache") + cache_list = self.widget("config-storage-cache") uihelpers.build_cache_combo(self.vm, cache_list) # Disk format mode - format_list = self.window.get_widget("config-storage-format") + format_list = self.widget("config-storage-format") uihelpers.build_storage_format_combo(self.vm, format_list) # Sparse tooltip - sparse_info = self.window.get_widget("config-storage-nosparse-info") + sparse_info = self.widget("config-storage-nosparse-info") uihelpers.set_sparse_tooltip(sparse_info) # Input device type - input_list = self.window.get_widget("input-type") + input_list = self.widget("input-type") input_model = gtk.ListStore(str, str, str, bool) input_list.set_model(input_model) text = gtk.CellRendererText() @@ -261,7 +260,7 @@ class vmmAddHardware(vmmGObjectUI): input_list.add_attribute(text, 'sensitive', 3) # Graphics type - graphics_list = self.window.get_widget("graphics-type") + graphics_list = self.widget("graphics-type") graphics_model = gtk.ListStore(str, str) graphics_list.set_model(graphics_model) text = gtk.CellRendererText() @@ -269,12 +268,12 @@ class vmmAddHardware(vmmGObjectUI): graphics_list.add_attribute(text, 'text', 0) # Sound model list - sound_list = self.window.get_widget("sound-model") + sound_list = self.widget("sound-model") uihelpers.build_sound_combo(self.vm, sound_list) # Host device list # model = [ Description, nodedev name ] - host_dev = self.window.get_widget("host-device") + host_dev = self.widget("host-device") host_dev_model = gtk.ListStore(str, str) host_dev.set_model(host_dev_model) @@ -286,11 +285,11 @@ class vmmAddHardware(vmmGObjectUI): host_dev.append_column(host_col) # Video device - video_dev = self.window.get_widget("video-model") + video_dev = self.widget("video-model") uihelpers.build_video_combo(self.vm, video_dev) # Character dev mode - char_mode = self.window.get_widget("char-mode") + char_mode = self.widget("char-mode") # Mode name, desc char_mode_model = gtk.ListStore(str, str) char_mode.set_model(char_mode_model) @@ -302,19 +301,18 @@ class vmmAddHardware(vmmGObjectUI): desc = VirtualCharDevice.get_char_mode_desc(t) char_mode_model.append([t, desc + " (%s)" % t]) - self.window.get_widget("char-info-box").modify_bg( - gtk.STATE_NORMAL, - gtk.gdk.color_parse("grey")) + self.widget("char-info-box").modify_bg(gtk.STATE_NORMAL, + gtk.gdk.color_parse("grey")) # Watchdog widgets - combo = self.window.get_widget("watchdog-model") + combo = self.widget("watchdog-model") uihelpers.build_watchdogmodel_combo(self.vm, combo) - combo = self.window.get_widget("watchdog-action") + combo = self.widget("watchdog-action") uihelpers.build_watchdogaction_combo(self.vm, combo) def simple_store_set(comboname, values): - combo = self.window.get_widget(comboname) + combo = self.widget(comboname) model = gtk.ListStore(str, str) combo.set_model(model) text = gtk.CellRendererText() @@ -332,7 +330,7 @@ class vmmAddHardware(vmmGObjectUI): self.show_pair_combo("fs-type", self.conn.is_openvz()) # Smartcard widgets - combo = self.window.get_widget("smartcard-mode") + combo = self.widget("smartcard-mode") uihelpers.build_smartcard_mode_combo(self.vm, combo) # Available HW options @@ -345,7 +343,7 @@ class vmmAddHardware(vmmGObjectUI): storage_tooltip = _("Connection does not support storage" " management.") - hwlist = self.window.get_widget("hardware-list") + hwlist = self.widget("hardware-list") model = hwlist.get_model() model.clear() @@ -402,33 +400,33 @@ class vmmAddHardware(vmmGObjectUI): def reset_state(self): # Storage init - label_widget = self.window.get_widget("phys-hd-label") + label_widget = self.widget("phys-hd-label") label_widget.set_markup("") if not self.host_storage_timer: self.host_storage_timer = self.safe_timeout_add(3 * 1000, uihelpers.host_space_tick, self.conn, label_widget) - self.window.get_widget("config-storage-create").set_active(True) - self.window.get_widget("config-storage-size").set_value(8) - self.window.get_widget("config-storage-entry").set_text("") - self.window.get_widget("config-storage-nosparse").set_active(True) + self.widget("config-storage-create").set_active(True) + self.widget("config-storage-size").set_value(8) + self.widget("config-storage-entry").set_text("") + self.widget("config-storage-nosparse").set_active(True) # Don't specify by default, so we don't overwrite possibly working # libvirt detection - self.window.get_widget("config-storage-format").child.set_text("") - target_list = self.window.get_widget("config-storage-devtype") + self.widget("config-storage-format").child.set_text("") + target_list = self.widget("config-storage-devtype") self.populate_target_device_model(target_list.get_model()) if len(target_list.get_model()) > 0: target_list.set_active(0) # Network init newmac = uihelpers.generate_macaddr(self.conn) - self.window.get_widget("mac-address").set_active(bool(newmac)) - self.window.get_widget("create-mac-address").set_text(newmac) + self.widget("mac-address").set_active(bool(newmac)) + self.widget("create-mac-address").set_text(newmac) self.change_macaddr_use() - net_list = self.window.get_widget("net-list") - net_warn = self.window.get_widget("net-list-warn") + net_list = self.widget("net-list") + net_warn = self.widget("net-list-warn") uihelpers.populate_network_list(net_list, self.conn) error = self.conn.netdev_error @@ -438,49 +436,49 @@ class vmmAddHardware(vmmGObjectUI): else: net_warn.hide() - netmodel = self.window.get_widget("net-model") + netmodel = self.widget("net-model") uihelpers.populate_netmodel_combo(self.vm, netmodel) netmodel.set_active(0) # Input device init - input_box = self.window.get_widget("input-type") + input_box = self.widget("input-type") self.populate_input_model(input_box.get_model()) input_box.set_active(0) # Graphics init self.change_port_auto() - graphics_box = self.window.get_widget("graphics-type") + graphics_box = self.widget("graphics-type") self.populate_graphics_model(graphics_box.get_model()) graphics_box.set_active(0) - self.window.get_widget("graphics-address").set_active(False) - self.window.get_widget("graphics-port-auto").set_active(True) - self.window.get_widget("graphics-password").set_text("") - self.window.get_widget("graphics-keymap").set_text("") - self.window.get_widget("graphics-keymap-chk").set_active(True) + self.widget("graphics-address").set_active(False) + self.widget("graphics-port-auto").set_active(True) + self.widget("graphics-password").set_text("") + self.widget("graphics-keymap").set_text("") + self.widget("graphics-keymap-chk").set_active(True) # Sound init - sound_box = self.window.get_widget("sound-model") + sound_box = self.widget("sound-model") sound_box.set_active(0) # Char parameters - self.window.get_widget("char-device-type").set_active(0) - self.window.get_widget("char-path").set_text("") - self.window.get_widget("char-host").set_text("127.0.0.1") - self.window.get_widget("char-port").get_adjustment().value = 4555 - self.window.get_widget("char-bind-host").set_text("127.0.0.1") - self.window.get_widget("char-bind-port").get_adjustment().value = 4556 - self.window.get_widget("char-use-telnet").set_active(False) - self.window.get_widget("char-target-name").set_text("com.redhat.spice.0") + self.widget("char-device-type").set_active(0) + self.widget("char-path").set_text("") + self.widget("char-host").set_text("127.0.0.1") + self.widget("char-port").get_adjustment().value = 4555 + self.widget("char-bind-host").set_text("127.0.0.1") + self.widget("char-bind-port").get_adjustment().value = 4556 + self.widget("char-use-telnet").set_active(False) + self.widget("char-target-name").set_text("com.redhat.spice.0") # FS params - self.window.get_widget("fs-type-combo").set_active(0) - self.window.get_widget("fs-mode-combo").set_active(0) - self.window.get_widget("fs-source").set_text("") - self.window.get_widget("fs-target").set_text("") + self.widget("fs-type-combo").set_active(0) + self.widget("fs-mode-combo").set_active(0) + self.widget("fs-source").set_text("") + self.widget("fs-target").set_text("") # Hide all notebook pages, so the wizard isn't as big as the largest # page - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") for page in range(notebook.get_n_pages()): widget = notebook.get_nth_page(page) widget.hide() @@ -531,7 +529,7 @@ class vmmAddHardware(vmmGObjectUI): model.append([_("Local SDL window"), "sdl"]) def populate_host_device_model(self, devtype, devcap, subtype, subcap): - devlist = self.window.get_widget("host-device") + devlist = self.widget("host-device") model = devlist.get_model() model.clear() subdevs = [] @@ -565,24 +563,24 @@ class vmmAddHardware(vmmGObjectUI): # Disk getters def is_default_storage(self): - return self.window.get_widget("config-storage-create").get_active() + return self.widget("config-storage-create").get_active() def get_storage_info(self): path = None - size = self.window.get_widget("config-storage-size").get_value() - sparse = not self.window.get_widget("config-storage-nosparse").get_active() + size = self.widget("config-storage-size").get_value() + sparse = not self.widget("config-storage-nosparse").get_active() if self.is_default_storage(): path = util.get_default_path(self.conn, self.vm.get_name()) logging.debug("Default storage path is: %s" % path) else: - path = self.window.get_widget("config-storage-entry").get_text() + path = self.widget("config-storage-entry").get_text() return (path, size, sparse) def get_config_disk_target(self): - target = self.window.get_widget("config-storage-devtype") + target = self.widget("config-storage-devtype") model = target.get_model() idx = target.get_active() if idx == -1: @@ -593,19 +591,19 @@ class vmmAddHardware(vmmGObjectUI): return bus, device def get_config_disk_cache(self, label=False): - cache = self.window.get_widget("config-storage-cache") + cache = self.widget("config-storage-cache") idx = 0 if label: idx = 1 return cache.get_model()[cache.get_active()][idx] def get_config_disk_format(self): - fmt = self.window.get_widget("config-storage-format") + fmt = self.widget("config-storage-format") return fmt.child.get_text() # Input getters def get_config_input(self): - target = self.window.get_widget("input-type") + target = self.widget("input-type") label = target.get_model().get_value(target.get_active_iter(), 0) _type = target.get_model().get_value(target.get_active_iter(), 1) bus = target.get_model().get_value(target.get_active_iter(), 2) @@ -613,37 +611,37 @@ class vmmAddHardware(vmmGObjectUI): # Graphics getters def get_config_graphics(self): - _type = self.window.get_widget("graphics-type") + _type = self.widget("graphics-type") if _type.get_active_iter() is None: return None return _type.get_model().get_value(_type.get_active_iter(), 1) def get_config_graphics_port(self): - port = self.window.get_widget("graphics-port") - portAuto = self.window.get_widget("graphics-port-auto") + port = self.widget("graphics-port") + portAuto = self.widget("graphics-port-auto") if portAuto.get_active(): return -1 return int(port.get_value()) def get_config_graphics_tls_port(self): - port = self.window.get_widget("graphics-tls-port") - portAuto = self.window.get_widget("graphics-port-auto") + port = self.widget("graphics-tls-port") + portAuto = self.widget("graphics-port-auto") if portAuto.get_active(): return -1 return int(port.get_value()) def get_config_graphics_address(self): - addr = self.window.get_widget("graphics-address") + addr = self.widget("graphics-address") if addr.get_active(): return "0.0.0.0" return "127.0.0.1" def get_config_graphics_password(self): - pw = self.window.get_widget("graphics-password") + pw = self.widget("graphics-password") return pw.get_text() def get_config_keymap(self): - g = self.window.get_widget("graphics-keymap") + g = self.widget("graphics-keymap") if g.get_property("sensitive") and g.get_text() != "": return g.get_text() else: @@ -651,8 +649,8 @@ class vmmAddHardware(vmmGObjectUI): # Network getters def get_config_network(self): - net_list = self.window.get_widget("net-list") - bridge_ent = self.window.get_widget("net-bridge") + net_list = self.widget("net-list") + bridge_ent = self.widget("net-bridge") net_type, net_src = uihelpers.get_network_selection(net_list, bridge_ent) @@ -660,7 +658,7 @@ class vmmAddHardware(vmmGObjectUI): return net_type, net_src def get_config_net_model(self): - model = self.window.get_widget("net-model") + model = self.widget("net-model") if model.get_active_iter(): modelxml = model.get_model().get_value(model.get_active_iter(), 0) modelstr = model.get_model().get_value(model.get_active_iter(), 1) @@ -670,13 +668,13 @@ class vmmAddHardware(vmmGObjectUI): def get_config_macaddr(self): macaddr = None - if self.window.get_widget("mac-address").get_active(): - macaddr = self.window.get_widget("create-mac-address").get_text() + if self.widget("mac-address").get_active(): + macaddr = self.widget("create-mac-address").get_text() return macaddr # Sound getters def get_config_sound_model(self): - model = self.window.get_widget("sound-model") + model = self.widget("sound-model") modelstr = model.get_model().get_value(model.get_active_iter(), 0) return modelstr @@ -691,35 +689,35 @@ class vmmAddHardware(vmmGObjectUI): return usb_info def get_config_host_device_info(self): - devrow = util.get_list_selection(self.window.get_widget("host-device")) + devrow = util.get_list_selection(self.widget("host-device")) if not devrow: return [] return devrow # Video Getters def get_config_video_model(self): - modbox = self.window.get_widget("video-model") + modbox = self.widget("video-model") return modbox.get_model()[modbox.get_active()][0] # Watchdog getters def get_config_watchdog_model(self): - modbox = self.window.get_widget("watchdog-model") + modbox = self.widget("watchdog-model") return modbox.get_model()[modbox.get_active()][0] def get_config_watchdog_action(self): - modbox = self.window.get_widget("watchdog-action") + modbox = self.widget("watchdog-action") return modbox.get_model()[modbox.get_active()][0] # FS getters def get_config_fs_mode(self): name = "fs-mode-combo" - combo = self.window.get_widget(name) + combo = self.widget(name) if not combo.get_property("visible"): return None return combo.get_model()[combo.get_active()][0] def get_config_fs_type(self): name = "fs-type-combo" - combo = self.window.get_widget(name) + combo = self.widget(name) if not combo.get_property("visible"): return None @@ -727,7 +725,7 @@ class vmmAddHardware(vmmGObjectUI): # Smartcard getters def get_config_smartcard_mode(self): - mode = self.window.get_widget("smartcard-mode") + mode = self.widget("smartcard-mode") modestr = mode.get_model().get_value(mode.get_active_iter(), 0) return modestr @@ -736,14 +734,14 @@ class vmmAddHardware(vmmGObjectUI): ################ def set_hw_selection(self, page): - util.set_list_selection(self.window.get_widget("hardware-list"), page) + util.set_list_selection(self.widget("hardware-list"), page) def get_hw_selection(self): - return util.get_list_selection(self.window.get_widget("hardware-list")) + return util.get_list_selection(self.widget("hardware-list")) def update_char_device_type_model(self): # Char device type - char_devtype = self.window.get_widget("char-device-type") + char_devtype = self.widget("char-device-type") dev_type = self.get_char_type() # Type name, desc char_devtype_model = gtk.ListStore(str, str) @@ -761,7 +759,7 @@ class vmmAddHardware(vmmGObjectUI): def hw_selected(self, src=None): ignore = src self._dev = None - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") row = self.get_hw_selection() if not row: @@ -774,11 +772,11 @@ class vmmAddHardware(vmmGObjectUI): if not sens: page = PAGE_ERROR - self.window.get_widget("hardware-info").set_text(msg) + self.widget("hardware-info").set_text(msg) if page == PAGE_CHAR: self.update_char_device_type_model() - devtype = self.window.get_widget("char-device-type") + devtype = self.widget("char-device-type") self.change_char_device_type(devtype) if page == PAGE_HOSTDEV: @@ -792,7 +790,7 @@ class vmmAddHardware(vmmGObjectUI): notebook.set_current_page(page) def finish(self, ignore=None): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") try: if self.validate(notebook.get_current_page()) == False: return @@ -823,63 +821,63 @@ class vmmAddHardware(vmmGObjectUI): self.close() def show_pair_combo(self, basename, show_combo): - combo = self.window.get_widget(basename + "-combo") - label = self.window.get_widget(basename + "-label") + combo = self.widget(basename + "-combo") + label = self.widget(basename + "-label") combo.set_property("visible", show_combo) label.set_property("visible", not show_combo) # Storage listeners def browse_storage(self, ignore1): - self._browse_file(self.window.get_widget("config-storage-entry")) + self._browse_file(self.widget("config-storage-entry")) def toggle_storage_select(self, src): act = src.get_active() - self.window.get_widget("config-storage-browse-box").set_sensitive(act) + self.widget("config-storage-browse-box").set_sensitive(act) def set_disk_storage_path(self, ignore, path): - self.window.get_widget("config-storage-entry").set_text(path) + self.widget("config-storage-entry").set_text(path) # Network listeners def change_macaddr_use(self, ignore=None): - if self.window.get_widget("mac-address").get_active(): - self.window.get_widget("create-mac-address").set_sensitive(True) + if self.widget("mac-address").get_active(): + self.widget("create-mac-address").set_sensitive(True) else: - self.window.get_widget("create-mac-address").set_sensitive(False) + self.widget("create-mac-address").set_sensitive(False) # Graphics listeners def change_graphics_type(self, ignore=None): graphics = self.get_config_graphics() if graphics in ["vnc", "spice"]: - self.window.get_widget("graphics-port-auto").set_sensitive(True) - self.window.get_widget("graphics-address").set_sensitive(True) - self.window.get_widget("graphics-password").set_sensitive(True) - self.window.get_widget("graphics-keymap-chk").set_sensitive(True) + self.widget("graphics-port-auto").set_sensitive(True) + self.widget("graphics-address").set_sensitive(True) + self.widget("graphics-password").set_sensitive(True) + self.widget("graphics-keymap-chk").set_sensitive(True) self.change_port_auto() else: - self.window.get_widget("graphics-port").set_sensitive(False) - self.window.get_widget("graphics-tls-port").set_sensitive(False) - self.window.get_widget("graphics-port-auto").set_sensitive(False) - self.window.get_widget("graphics-address").set_sensitive(False) - self.window.get_widget("graphics-password").set_sensitive(False) - self.window.get_widget("graphics-keymap-chk").set_sensitive(False) - self.window.get_widget("graphics-keymap").set_sensitive(False) + self.widget("graphics-port").set_sensitive(False) + self.widget("graphics-tls-port").set_sensitive(False) + self.widget("graphics-port-auto").set_sensitive(False) + self.widget("graphics-address").set_sensitive(False) + self.widget("graphics-password").set_sensitive(False) + self.widget("graphics-keymap-chk").set_sensitive(False) + self.widget("graphics-keymap").set_sensitive(False) def change_port_auto(self, ignore=None): graphics = self.get_config_graphics() tls_enable = graphics == "spice" - if self.window.get_widget("graphics-port-auto").get_active(): - self.window.get_widget("graphics-port").set_sensitive(False) - self.window.get_widget("graphics-tls-port").set_sensitive(False) + if self.widget("graphics-port-auto").get_active(): + self.widget("graphics-port").set_sensitive(False) + self.widget("graphics-tls-port").set_sensitive(False) else: - self.window.get_widget("graphics-port").set_sensitive(True) - self.window.get_widget("graphics-tls-port").set_sensitive(tls_enable) + self.widget("graphics-port").set_sensitive(True) + self.widget("graphics-tls-port").set_sensitive(tls_enable) def change_keymap(self, ignore=None): - if self.window.get_widget("graphics-keymap-chk").get_active(): - self.window.get_widget("graphics-keymap").set_sensitive(False) + if self.widget("graphics-keymap-chk").get_active(): + self.widget("graphics-keymap").set_sensitive(False) else: - self.window.get_widget("graphics-keymap").set_sensitive(True) + self.widget("graphics-keymap").set_sensitive(True) # Char device listeners def get_char_type(self): @@ -928,7 +926,7 @@ class vmmAddHardware(vmmGObjectUI): title = self.dev_to_title(page) markup = ("""%s""") % title - self.window.get_widget("page-title-label").set_markup(markup) + self.widget("page-title-label").set_markup(markup) def change_char_device_type(self, src): self.update_doc(None, None, "char_type") @@ -950,21 +948,19 @@ class vmmAddHardware(vmmGObjectUI): if make_visible: show_something = True - self.window.get_widget(widget_name).set_property("visible", + self.widget(widget_name).set_property("visible", make_visible) + self.widget(widget_name + "-label").set_property("visible", make_visible) - self.window.get_widget(widget_name + "-label").set_property( - "visible", make_visible) - self.window.get_widget("char-param-box").set_property("visible", - show_something) + self.widget("char-param-box").set_property("visible", show_something) has_mode = self._dev.supports_property("source_mode") - if has_mode and self.window.get_widget("char-mode").get_active() == -1: - self.window.get_widget("char-mode").set_active(0) + if has_mode and self.widget("char-mode").get_active() == -1: + self.widget("char-mode").set_active(0) # FS listeners def browse_fs_source(self, ignore1): - self._browse_file(self.window.get_widget("fs-source"), isdir=True) + self._browse_file(self.widget("fs-source"), isdir=True) def change_fs_type(self, src): idx = src.get_active() @@ -980,8 +976,8 @@ class vmmAddHardware(vmmGObjectUI): source_text = _("_Source path:") show_mode_combo = self.conn.is_qemu() - self.window.get_widget("fs-source-title").set_text(source_text) - self.window.get_widget("fs-source-title").set_use_underline(True) + self.widget("fs-source-title").set_text(source_text) + self.widget("fs-source-title").set_use_underline(True) self.show_pair_combo("fs-mode", show_mode_combo) @@ -1257,20 +1253,20 @@ class vmmAddHardware(vmmGObjectUI): def validate_page_char(self): chartype = self.get_char_type() - devbox = self.window.get_widget("char-device-type") + devbox = self.widget("char-device-type") devtype = devbox.get_model()[devbox.get_active()][0] conn = self.conn.vmm devclass = VirtualCharDevice.get_dev_instance(conn, chartype, devtype) - source_path = self.window.get_widget("char-path").get_text() - source_host = self.window.get_widget("char-host").get_text() - bind_host = self.window.get_widget("char-bind-host").get_text() - source_port = self.window.get_widget("char-port").get_adjustment().value - bind_port = self.window.get_widget("char-bind-port").get_adjustment().value - target_name = self.window.get_widget("char-target-name").get_text() + source_path = self.widget("char-path").get_text() + source_host = self.widget("char-host").get_text() + bind_host = self.widget("char-bind-host").get_text() + source_port = self.widget("char-port").get_adjustment().value + bind_port = self.widget("char-bind-port").get_adjustment().value + target_name = self.widget("char-target-name").get_text() - if self.window.get_widget("char-use-telnet").get_active(): + if self.widget("char-use-telnet").get_active(): protocol = VirtualCharDevice.CHAR_PROTOCOL_TELNET else: protocol = VirtualCharDevice.CHAR_PROTOCOL_RAW @@ -1324,8 +1320,8 @@ class vmmAddHardware(vmmGObjectUI): def validate_page_filesystem(self): conn = self.conn.vmm - source = self.window.get_widget("fs-source").get_text() - target = self.window.get_widget("fs-target").get_text() + source = self.widget("fs-source").get_text() + target = self.widget("fs-target").get_text() mode = self.get_config_fs_mode() fstype = self.get_config_fs_type() @@ -1380,7 +1376,7 @@ class vmmAddHardware(vmmGObjectUI): def show_help(self, src_ignore): # help to show depends on the notebook page, yahoo - page = self.window.get_widget("create-pages").get_current_page() + page = self.widget("create-pages").get_current_page() if page == PAGE_ERROR: self.emit("action-show-help", "virt-manager-create-wizard") elif page == PAGE_DISK: diff --git a/src/virtManager/asyncjob.py b/src/virtManager/asyncjob.py index 5124f72a8..d2aa83bbf 100644 --- a/src/virtManager/asyncjob.py +++ b/src/virtManager/asyncjob.py @@ -109,17 +109,17 @@ class vmmAsyncJob(vmmGObjectUI): self.cancel_args = cancel_args or [] self.cancel_args = [self] + self.cancel_args if self.cancel_job: - self.window.get_widget("cancel-async-job").show() + self.widget("cancel-async-job").show() else: - self.window.get_widget("cancel-async-job").hide() + self.widget("cancel-async-job").hide() self.job_canceled = False self._error_info = None self._data = None - self.stage = self.window.get_widget("pbar-stage") - self.pbar = self.window.get_widget("pbar") - self.window.get_widget("pbar-text").set_text(text) + self.stage = self.widget("pbar-stage") + self.pbar = self.widget("pbar") + self.widget("pbar-text").set_text(text) self.topwin.set_transient_for(parent) args = [self] + args @@ -188,12 +188,12 @@ class vmmAsyncJob(vmmGObjectUI): self.stage.set_text(text) def hide_warning(self): - self.window.get_widget("warning-box").hide() + self.widget("warning-box").hide() def show_warning(self, summary): markup = "%s" % summary - self.window.get_widget("warning-box").show() - self.window.get_widget("warning-text").set_markup(markup) + self.widget("warning-box").show() + self.widget("warning-text").set_markup(markup) def can_cancel(self): return bool(self.cancel_job) diff --git a/src/virtManager/baseclass.py b/src/virtManager/baseclass.py index 6c3e13407..3cedb66b1 100644 --- a/src/virtManager/baseclass.py +++ b/src/virtManager/baseclass.py @@ -204,11 +204,14 @@ class vmmGObjectUI(vmmGObject): self.window = gtk.glade.XML(self.gladefile, self.windowname, domain="virt-manager") - self.topwin = self.window.get_widget(self.windowname) + self.topwin = self.widget(self.windowname) self.topwin.hide() self.err = virtManager.error.vmmErrorDialog(self.topwin) + def widget(self, name): + return self.window.get_widget(name) + def cleanup(self): vmmGObject.cleanup(self) self.window = None diff --git a/src/virtManager/choosecd.py b/src/virtManager/choosecd.py index 96197a41d..3f873e48a 100644 --- a/src/virtManager/choosecd.py +++ b/src/virtManager/choosecd.py @@ -44,7 +44,7 @@ class vmmChooseCD(vmmGObjectUI): "on_cancel_clicked": self.close, }) - self.window.get_widget("iso-image").set_active(True) + self.widget("iso-image").set_active(True) self.initialize_opt_media() self.reset_state() @@ -77,21 +77,21 @@ class vmmChooseCD(vmmGObjectUI): vmmGObjectUI.cleanup(self) def reset_state(self): - cd_path = self.window.get_widget("cd-path") + cd_path = self.widget("cd-path") use_cdrom = (cd_path.get_active() > -1) if use_cdrom: - self.window.get_widget("physical-media").set_active(True) + self.widget("physical-media").set_active(True) else: - self.window.get_widget("iso-image").set_active(True) + self.widget("iso-image").set_active(True) def ok(self, ignore1=None, ignore2=None): path = None - if self.window.get_widget("iso-image").get_active(): - path = self.window.get_widget("iso-path").get_text() + if self.widget("iso-image").get_active(): + path = self.widget("iso-path").get_text() else: - cd = self.window.get_widget("cd-path") + cd = self.widget("cd-path") idx = cd.get_active() model = cd.get_model() if idx != -1: @@ -112,14 +112,14 @@ class vmmChooseCD(vmmGObjectUI): self.close() def media_toggled(self, ignore1=None, ignore2=None): - if self.window.get_widget("physical-media").get_active(): - self.window.get_widget("cd-path").set_sensitive(True) - self.window.get_widget("iso-path").set_sensitive(False) - self.window.get_widget("iso-file-chooser").set_sensitive(False) + if self.widget("physical-media").get_active(): + self.widget("cd-path").set_sensitive(True) + self.widget("iso-path").set_sensitive(False) + self.widget("iso-file-chooser").set_sensitive(False) else: - self.window.get_widget("cd-path").set_sensitive(False) - self.window.get_widget("iso-path").set_sensitive(True) - self.window.get_widget("iso-file-chooser").set_sensitive(True) + self.widget("cd-path").set_sensitive(False) + self.widget("iso-path").set_sensitive(True) + self.widget("iso-file-chooser").set_sensitive(True) def change_cd_path(self, ignore1=None, ignore2=None): pass @@ -128,8 +128,8 @@ class vmmChooseCD(vmmGObjectUI): self._browse_file() def initialize_opt_media(self): - widget = self.window.get_widget("cd-path") - warn = self.window.get_widget("cd-path-warn") + widget = self.widget("cd-path") + warn = self.widget("cd-path-warn") error = self.conn.mediadev_error uihelpers.init_mediadev_combo(widget) @@ -141,15 +141,14 @@ class vmmChooseCD(vmmGObjectUI): else: warn.hide() - self.window.get_widget("physical-media").set_sensitive(not bool(error)) + self.widget("physical-media").set_sensitive(not bool(error)) if self.media_type == MEDIA_FLOPPY: - self.window.get_widget("physical-media").set_label( - _("Floppy D_rive")) - self.window.get_widget("iso-image").set_label(_("Floppy _Image")) + self.widget("physical-media").set_label(_("Floppy D_rive")) + self.widget("iso-image").set_label(_("Floppy _Image")) def set_storage_path(self, src_ignore, path): - self.window.get_widget("iso-path").set_text(path) + self.widget("iso-path").set_text(path) def _browse_file(self): if self.storage_browser == None: diff --git a/src/virtManager/clone.py b/src/virtManager/clone.py index 8660c774a..1c112b81f 100644 --- a/src/virtManager/clone.py +++ b/src/virtManager/clone.py @@ -169,10 +169,10 @@ class vmmCloneVM(vmmGObjectUI): self.bind_escape_key_close() # XXX: Help docs useless/out of date - self.window.get_widget("clone-help").hide() + self.widget("clone-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("clone-ok").set_image(finish_img) + self.widget("clone-ok").set_image(finish_img) self.set_initial_state() @@ -226,10 +226,9 @@ class vmmCloneVM(vmmGObjectUI): def set_initial_state(self): blue = gtk.gdk.color_parse("#0072A8") - self.window.get_widget("clone-header").modify_bg(gtk.STATE_NORMAL, - blue) + self.widget("clone-header").modify_bg(gtk.STATE_NORMAL, blue) - box = self.window.get_widget("clone-vm-icon-box") + box = self.widget("clone-vm-icon-box") image = gtk.image_new_from_icon_name("vm_clone_wizard", gtk.ICON_SIZE_DIALOG) image.show() @@ -237,14 +236,14 @@ class vmmCloneVM(vmmGObjectUI): # Populate state def reset_state(self): - self.window.get_widget("clone-cancel").grab_focus() + self.widget("clone-cancel").grab_focus() # Populate default clone values self.setup_clone_info() cd = self.clone_design - self.window.get_widget("clone-orig-name").set_text(cd.original_guest) - self.window.get_widget("clone-new-name").set_text(cd.clone_name) + self.widget("clone-orig-name").set_text(cd.original_guest) + self.widget("clone-new-name").set_text(cd.clone_name) # We need to determine which disks fail (and why). self.storage_list, self.target_list = self.check_all_storage() @@ -271,7 +270,7 @@ class vmmCloneVM(vmmGObjectUI): return cd def populate_network_list(self): - net_box = self.window.get_widget("clone-network-box") + net_box = self.widget("clone-network-box") for c in net_box.get_children(): net_box.remove(c) c.destroy() @@ -337,9 +336,8 @@ class vmmCloneVM(vmmGObjectUI): build_net_row(label, mac, newmac) no_net = bool(len(self.net_list.keys()) == 0) - self.window.get_widget("clone-network-box").set_property("visible", - not no_net) - self.window.get_widget("clone-no-net").set_property("visible", no_net) + self.widget("clone-network-box").set_property("visible", not no_net) + self.widget("clone-no-net").set_property("visible", no_net) def check_all_storage(self): """ @@ -447,7 +445,7 @@ class vmmCloneVM(vmmGObjectUI): def set_paths_from_clone_name(self): cd = self.clone_design - newname = self.window.get_widget("clone-new-name").get_text() + newname = self.widget("clone-new-name").get_text() if not newname: return @@ -551,7 +549,7 @@ class vmmCloneVM(vmmGObjectUI): disk[STORAGE_INFO_COMBO] = option_combo def populate_storage_lists(self): - storage_box = self.window.get_widget("clone-storage-box") + storage_box = self.widget("clone-storage-box") for c in storage_box.get_children(): storage_box.remove(c) c.destroy() @@ -562,16 +560,15 @@ class vmmCloneVM(vmmGObjectUI): num_c = min(len(self.target_list), 3) if num_c: - scroll = self.window.get_widget("clone-storage-scroll") + scroll = self.widget("clone-storage-scroll") scroll.set_size_request(-1, 80 * num_c) storage_box.show_all() no_storage = not bool(len(self.target_list)) - self.window.get_widget("clone-storage-box").set_property("visible", - not no_storage) - self.window.get_widget("clone-no-storage-pass").set_property( - "visible", - no_storage) + self.widget("clone-storage-box").set_property("visible", + not no_storage) + self.widget("clone-no-storage-pass").set_property("visible", + no_storage) skip_targets = [] new_disks = [] @@ -598,7 +595,7 @@ class vmmCloneVM(vmmGObjectUI): tooltip = _("One or more disks cannot be cloned or shared.") break - ok_button = self.window.get_widget("clone-ok") + ok_button = self.widget("clone-ok") ok_button.set_sensitive(clone) util.tooltip_wrapper(ok_button, tooltip) @@ -742,7 +739,7 @@ class vmmCloneVM(vmmGObjectUI): # Listeners def validate(self): self.set_paths_from_clone_name() - name = self.window.get_widget("clone-new-name").get_text() + name = self.widget("clone-new-name").get_text() # Make another clone_design cd = self.build_new_clone_design(name) diff --git a/src/virtManager/connect.py b/src/virtManager/connect.py index fa452e93e..d17737ff2 100644 --- a/src/virtManager/connect.py +++ b/src/virtManager/connect.py @@ -109,43 +109,42 @@ class vmmConnect(vmmGObjectUI): def set_initial_state(self): stock_img = gtk.image_new_from_stock(gtk.STOCK_CONNECT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("connect").set_image(stock_img) - self.window.get_widget("connect").grab_default() + self.widget("connect").set_image(stock_img) + self.widget("connect").grab_default() # Hostname combo box entry hostListModel = gtk.ListStore(str, str, str) - host = self.window.get_widget("hostname") + host = self.widget("hostname") host.set_model(hostListModel) host.set_text_column(2) hostListModel.set_sort_column_id(2, gtk.SORT_ASCENDING) - self.window.get_widget("hostname").child.connect("changed", - self.hostname_changed) + self.widget("hostname").child.connect("changed", self.hostname_changed) def reset_state(self): self.set_default_hypervisor() - self.window.get_widget("connection").set_active(0) - self.window.get_widget("autoconnect").set_sensitive(True) - self.window.get_widget("autoconnect").set_active(True) - self.window.get_widget("hostname").get_model().clear() - self.window.get_widget("hostname").child.set_text("") - self.window.get_widget("connect-remote").set_active(False) - self.window.get_widget("username-entry").set_text("") + self.widget("connection").set_active(0) + self.widget("autoconnect").set_sensitive(True) + self.widget("autoconnect").set_active(True) + self.widget("hostname").get_model().clear() + self.widget("hostname").child.set_text("") + self.widget("connect-remote").set_active(False) + self.widget("username-entry").set_text("") self.stop_browse() - self.connect_remote_toggled(self.window.get_widget("connect-remote")) + self.connect_remote_toggled(self.widget("connect-remote")) self.populate_uri() def is_remote(self): # Whether user is requesting a remote connection - return self.window.get_widget("connect-remote").get_active() + return self.widget("connect-remote").get_active() def set_default_hypervisor(self): default = virtinst.util.default_connection() if default is None: - self.window.get_widget("hypervisor").set_active(-1) + self.widget("hypervisor").set_active(-1) elif default.startswith("xen"): - self.window.get_widget("hypervisor").set_active(0) + self.widget("hypervisor").set_active(0) elif default.startswith("qemu"): - self.window.get_widget("hypervisor").set_active(1) + self.widget("hypervisor").set_active(1) def add_service(self, interface, protocol, name, type, domain, flags): ignore = flags @@ -171,7 +170,7 @@ class vmmConnect(vmmGObjectUI): ignore = type try: - model = self.window.get_widget("hostname").get_model() + model = self.widget("hostname").get_model() name = str(name) for row in model: if row[0] == name: @@ -191,7 +190,7 @@ class vmmConnect(vmmGObjectUI): ignore = port try: - model = self.window.get_widget("hostname").get_model() + model = self.widget("hostname").get_model() for row in model: if row[2] == str(name): # Already present in list @@ -246,7 +245,7 @@ class vmmConnect(vmmGObjectUI): if not entry: entry = ip - self.window.get_widget("hostname").child.set_text(entry) + self.widget("hostname").child.set_text(entry) def hostname_changed(self, src_ignore): self.populate_uri() @@ -259,10 +258,10 @@ class vmmConnect(vmmGObjectUI): def connect_remote_toggled(self, src_ignore): is_remote = self.is_remote() - self.window.get_widget("hostname").set_sensitive(is_remote) - self.window.get_widget("connection").set_sensitive(is_remote) - self.window.get_widget("autoconnect").set_active(not is_remote) - self.window.get_widget("username-entry").set_sensitive(is_remote) + self.widget("hostname").set_sensitive(is_remote) + self.widget("connection").set_sensitive(is_remote) + self.widget("autoconnect").set_active(not is_remote) + self.widget("username-entry").set_sensitive(is_remote) if is_remote and self.can_browse: self.start_browse() else: @@ -277,18 +276,18 @@ class vmmConnect(vmmGObjectUI): def populate_uri(self): uri = self.generate_uri() - self.window.get_widget("uri-entry").set_text(uri) + self.widget("uri-entry").set_text(uri) def populate_default_user(self): - conn = self.window.get_widget("connection").get_active() + conn = self.widget("connection").get_active() default_user = default_conn_user(conn) - self.window.get_widget("username-entry").set_text(default_user) + self.widget("username-entry").set_text(default_user) def generate_uri(self): - hv = self.window.get_widget("hypervisor").get_active() - conn = self.window.get_widget("connection").get_active() - host = self.window.get_widget("hostname").child.get_text() - user = self.window.get_widget("username-entry").get_text() + hv = self.widget("hypervisor").get_active() + conn = self.widget("connection").get_active() + host = self.widget("hostname").child.get_text() + user = self.widget("username-entry").get_text() is_remote = self.is_remote() hvstr = "" @@ -324,7 +323,7 @@ class vmmConnect(vmmGObjectUI): def validate(self): is_remote = self.is_remote() - host = self.window.get_widget("hostname").child.get_text() + host = self.widget("hostname").child.get_text() if is_remote and not host: return self.err.val_err(_("A hostname is required for " @@ -338,8 +337,8 @@ class vmmConnect(vmmGObjectUI): readonly = False auto = False - if self.window.get_widget("autoconnect").get_property("sensitive"): - auto = self.window.get_widget("autoconnect").get_active() + if self.widget("autoconnect").get_property("sensitive"): + auto = self.widget("autoconnect").get_active() uri = self.generate_uri() logging.debug("Generate URI=%s, auto=%s, readonly=%s" % diff --git a/src/virtManager/console.py b/src/virtManager/console.py index aca381086..713c4a136 100644 --- a/src/virtManager/console.py +++ b/src/virtManager/console.py @@ -536,7 +536,7 @@ class vmmConsolePages(vmmGObjectUI): self.windowname = "vmm-details" self.window = window - self.topwin = self.window.get_widget(self.windowname) + self.topwin = self.widget(self.windowname) self.err = vmmErrorDialog(self.topwin) self.pointer_is_grabbed = False @@ -565,13 +565,12 @@ class vmmConsolePages(vmmGObjectUI): finish_img = gtk.image_new_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("console-auth-login").set_image(finish_img) + self.widget("console-auth-login").set_image(finish_img) # Make viewer widget background always be black black = gtk.gdk.Color(0, 0, 0) - self.window.get_widget("console-vnc-viewport").modify_bg( - gtk.STATE_NORMAL, - black) + self.widget("console-vnc-viewport").modify_bg(gtk.STATE_NORMAL, + black) # Signals are added by vmmDetails. Don't use signal_autoconnect here # or it changes will be overwritten @@ -579,7 +578,7 @@ class vmmConsolePages(vmmGObjectUI): self.add_gconf_handle( self.vm.on_console_scaling_changed(self.refresh_scaling)) - scroll = self.window.get_widget("console-vnc-scroll") + scroll = self.widget("console-vnc-scroll") scroll.connect("size-allocate", self.scroll_size_allocate) self.add_gconf_handle( self.config.on_console_accels_changed(self.set_enable_accel)) @@ -611,8 +610,8 @@ class vmmConsolePages(vmmGObjectUI): ########################## def init_fs_toolbar(self): - scroll = self.window.get_widget("console-vnc-scroll") - pages = self.window.get_widget("console-pages") + scroll = self.widget("console-vnc-scroll") + pages = self.widget("console-pages") pages.remove(scroll) self.fs_toolbar = gtk.Toolbar() @@ -729,11 +728,11 @@ class vmmConsolePages(vmmGObjectUI): def refresh_scaling(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): self.scale_type = self.vm.get_console_scaling() - self.window.get_widget("details-menu-view-scale-always").set_active( + self.widget("details-menu-view-scale-always").set_active( self.scale_type == self.config.CONSOLE_SCALE_ALWAYS) - self.window.get_widget("details-menu-view-scale-never").set_active( + self.widget("details-menu-view-scale-never").set_active( self.scale_type == self.config.CONSOLE_SCALE_NEVER) - self.window.get_widget("details-menu-view-scale-fullscreen").set_active( + self.widget("details-menu-view-scale-fullscreen").set_active( self.scale_type == self.config.CONSOLE_SCALE_FULLSCREEN) self.update_scaling() @@ -742,11 +741,11 @@ class vmmConsolePages(vmmGObjectUI): if not src.get_active(): return - if src == self.window.get_widget("details-menu-view-scale-always"): + if src == self.widget("details-menu-view-scale-always"): self.scale_type = self.config.CONSOLE_SCALE_ALWAYS - elif src == self.window.get_widget("details-menu-view-scale-fullscreen"): + elif src == self.widget("details-menu-view-scale-fullscreen"): self.scale_type = self.config.CONSOLE_SCALE_FULLSCREEN - elif src == self.window.get_widget("details-menu-view-scale-never"): + elif src == self.widget("details-menu-view-scale-never"): self.scale_type = self.config.CONSOLE_SCALE_NEVER self.vm.set_console_scaling(self.scale_type) @@ -757,8 +756,8 @@ class vmmConsolePages(vmmGObjectUI): return curscale = self.viewer.get_scaling() - fs = self.window.get_widget("control-fullscreen").get_active() - vnc_scroll = self.window.get_widget("console-vnc-scroll") + fs = self.widget("control-fullscreen").get_active() + vnc_scroll = self.widget("console-vnc-scroll") if (self.scale_type == self.config.CONSOLE_SCALE_NEVER and curscale == True): @@ -785,22 +784,22 @@ class vmmConsolePages(vmmGObjectUI): self._change_fullscreen(False) def _change_fullscreen(self, do_fullscreen): - self.window.get_widget("control-fullscreen").set_active(do_fullscreen) + self.widget("control-fullscreen").set_active(do_fullscreen) if do_fullscreen: self.topwin.fullscreen() self.fs_toolbar.show() self.fs_drawer.set_active(True) - self.window.get_widget("toolbar-box").hide() - self.window.get_widget("details-menubar").hide() + self.widget("toolbar-box").hide() + self.widget("details-menubar").hide() else: self.fs_toolbar.hide() self.fs_drawer.set_active(False) self.topwin.unfullscreen() - if self.window.get_widget("details-menu-view-toolbar").get_active(): - self.window.get_widget("toolbar-box").show() - self.window.get_widget("details-menubar").show() + if self.widget("details-menu-view-toolbar").get_active(): + self.widget("toolbar-box").show() + self.widget("details-menubar").show() self.update_scaling() @@ -836,7 +835,7 @@ class vmmConsolePages(vmmGObjectUI): self.activate_unavailable_page(_("Guest has crashed")) def close_viewer(self): - viewport = self.window.get_widget("console-vnc-viewport") + viewport = self.widget("console-vnc-viewport") if self.viewer is None: return @@ -854,7 +853,7 @@ class vmmConsolePages(vmmGObjectUI): def update_widget_states(self, vm, status_ignore): runable = vm.is_runable() - pages = self.window.get_widget("console-pages") + pages = self.widget("console-pages") page = pages.get_current_page() if runable: @@ -884,49 +883,49 @@ class vmmConsolePages(vmmGObjectUI): with care """ self.close_viewer() - self.window.get_widget("console-pages").set_current_page(PAGE_UNAVAILABLE) - self.window.get_widget("details-menu-vm-screenshot").set_sensitive(False) - self.window.get_widget("console-unavailable").set_label("" + msg + "") + self.widget("console-pages").set_current_page(PAGE_UNAVAILABLE) + self.widget("details-menu-vm-screenshot").set_sensitive(False) + self.widget("console-unavailable").set_label("" + msg + "") def activate_auth_page(self, withPassword=True, withUsername=False): (pw, username) = self.config.get_console_password(self.vm) - self.window.get_widget("details-menu-vm-screenshot").set_sensitive(False) + self.widget("details-menu-vm-screenshot").set_sensitive(False) if withPassword: - self.window.get_widget("console-auth-password").show() - self.window.get_widget("label-auth-password").show() + self.widget("console-auth-password").show() + self.widget("label-auth-password").show() else: - self.window.get_widget("console-auth-password").hide() - self.window.get_widget("label-auth-password").hide() + self.widget("console-auth-password").hide() + self.widget("label-auth-password").hide() if withUsername: - self.window.get_widget("console-auth-username").show() - self.window.get_widget("label-auth-username").show() + self.widget("console-auth-username").show() + self.widget("label-auth-username").show() else: - self.window.get_widget("console-auth-username").hide() - self.window.get_widget("label-auth-username").hide() + self.widget("console-auth-username").hide() + self.widget("label-auth-username").hide() - self.window.get_widget("console-auth-username").set_text(username) - self.window.get_widget("console-auth-password").set_text(pw) + self.widget("console-auth-username").set_text(username) + self.widget("console-auth-password").set_text(pw) if self.config.has_keyring(): - self.window.get_widget("console-auth-remember").set_sensitive(True) + self.widget("console-auth-remember").set_sensitive(True) if pw != "" or username != "": - self.window.get_widget("console-auth-remember").set_active(True) + self.widget("console-auth-remember").set_active(True) else: - self.window.get_widget("console-auth-remember").set_active(False) + self.widget("console-auth-remember").set_active(False) else: - self.window.get_widget("console-auth-remember").set_sensitive(False) - self.window.get_widget("console-pages").set_current_page(PAGE_AUTHENTICATE) + self.widget("console-auth-remember").set_sensitive(False) + self.widget("console-pages").set_current_page(PAGE_AUTHENTICATE) if withUsername: - self.window.get_widget("console-auth-username").grab_focus() + self.widget("console-auth-username").grab_focus() else: - self.window.get_widget("console-auth-password").grab_focus() + self.widget("console-auth-password").grab_focus() def activate_viewer_page(self): - self.window.get_widget("console-pages").set_current_page(PAGE_VIEWER) - self.window.get_widget("details-menu-vm-screenshot").set_sensitive(True) + self.widget("console-pages").set_current_page(PAGE_VIEWER) + self.widget("details-menu-vm-screenshot").set_sensitive(True) if self.viewer and self.viewer.get_widget(): self.viewer.get_widget().grab_focus() @@ -934,15 +933,15 @@ class vmmConsolePages(vmmGObjectUI): self.set_allow_fullscreen() def set_allow_fullscreen(self): - cpage = self.window.get_widget("console-pages").get_current_page() - dpage = self.window.get_widget("details-pages").get_current_page() + cpage = self.widget("console-pages").get_current_page() + dpage = self.widget("details-pages").get_current_page() allow_fullscreen = (dpage == 0 and cpage == PAGE_VIEWER and self.viewer_connected) - self.window.get_widget("control-fullscreen").set_sensitive(allow_fullscreen) - self.window.get_widget("details-menu-view-fullscreen").set_sensitive(allow_fullscreen) + self.widget("control-fullscreen").set_sensitive(allow_fullscreen) + self.widget("details-menu-view-fullscreen").set_sensitive(allow_fullscreen) def disconnected(self): errout = "" @@ -1073,7 +1072,7 @@ class vmmConsolePages(vmmGObjectUI): try: if protocol == "vnc": self.viewer = VNCViewer(self) - self.window.get_widget("console-vnc-viewport").add( + self.widget("console-vnc-viewport").add( self.viewer.get_widget()) self.viewer.init_widget() elif protocol == "spice": @@ -1102,14 +1101,14 @@ class vmmConsolePages(vmmGObjectUI): _("Error connecting to graphical console") + ":\n%s" % e) def set_credentials(self, src_ignore=None): - passwd = self.window.get_widget("console-auth-password") + passwd = self.widget("console-auth-password") if passwd.flags() & gtk.VISIBLE: self.viewer.set_credential_password(passwd.get_text()) - username = self.window.get_widget("console-auth-username") + username = self.widget("console-auth-username") if username.flags() & gtk.VISIBLE: self.viewer.set_credential_username(username.get_text()) - if self.window.get_widget("console-auth-remember").get_active(): + if self.widget("console-auth-remember").get_active(): self.config.set_console_password(self.vm, passwd.get_text(), username.get_text()) @@ -1119,7 +1118,7 @@ class vmmConsolePages(vmmGObjectUI): isn't a hard requirment so the user can still shrink the window again, as opposed to set_size_request """ - widget = self.window.get_widget("console-vnc-scroll") + widget = self.widget("console-vnc-scroll") signal_holder = [] def restore_scroll(src): @@ -1163,7 +1162,7 @@ class vmmConsolePages(vmmGObjectUI): if not self.viewer or not self.viewer.get_desktop_resolution(): return - scroll = self.window.get_widget("console-vnc-scroll") + scroll = self.widget("console-vnc-scroll") is_scale = self.viewer.get_scaling() dx = 0 diff --git a/src/virtManager/create.py b/src/virtManager/create.py index f97fd31e8..efecd1dcc 100644 --- a/src/virtManager/create.py +++ b/src/virtManager/create.py @@ -209,42 +209,41 @@ class vmmCreate(vmmGObjectUI): # State init methods def startup_error(self, error): self.have_startup_error = True - self.window.get_widget("startup-error-box").show() - self.window.get_widget("install-box").hide() - self.window.get_widget("create-forward").set_sensitive(False) + self.widget("startup-error-box").show() + self.widget("install-box").hide() + self.widget("create-forward").set_sensitive(False) - self.window.get_widget("startup-error").set_text("Error: %s" % error) + self.widget("startup-error").set_text("Error: %s" % error) return False def startup_warning(self, error): - self.window.get_widget("startup-error-box").show() - self.window.get_widget("startup-error").set_text("Warning: %s" % - error) + self.widget("startup-error-box").show() + self.widget("startup-error").set_text("Warning: %s" % error) def set_initial_state(self): - self.window.get_widget("create-pages").set_show_tabs(False) - self.window.get_widget("install-method-pages").set_show_tabs(False) + self.widget("create-pages").set_show_tabs(False) + self.widget("install-method-pages").set_show_tabs(False) # FIXME: Unhide this when we make some documentation - self.window.get_widget("create-help").hide() + self.widget("create-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("create-finish").set_image(finish_img) + self.widget("create-finish").set_image(finish_img) blue = gtk.gdk.color_parse("#0072A8") - self.window.get_widget("create-header").modify_bg(gtk.STATE_NORMAL, + self.widget("create-header").modify_bg(gtk.STATE_NORMAL, blue) - box = self.window.get_widget("create-vm-icon-box") + box = self.widget("create-vm-icon-box") image = gtk.image_new_from_icon_name("vm_new_wizard", gtk.ICON_SIZE_DIALOG) image.show() box.pack_end(image, False) # Connection list - self.window.get_widget("create-conn-label").set_text("") - self.window.get_widget("startup-error").set_text("") - conn_list = self.window.get_widget("create-conn") + self.widget("create-conn-label").set_text("") + self.widget("startup-error").set_text("") + conn_list = self.widget("create-conn") conn_model = gtk.ListStore(str, str) conn_list.set_model(conn_model) text = gtk.CellRendererText() @@ -252,35 +251,35 @@ class vmmCreate(vmmGObjectUI): conn_list.add_attribute(text, 'text', 1) # ISO media list - iso_list = self.window.get_widget("install-local-box") + iso_list = self.widget("install-local-box") iso_model = gtk.ListStore(str) iso_list.set_model(iso_model) iso_list.set_text_column(0) - self.window.get_widget("install-local-box").child.connect("activate", + self.widget("install-local-box").child.connect("activate", self.detect_media_os) # Lists for the install urls - media_url_list = self.window.get_widget("install-url-box") + media_url_list = self.widget("install-url-box") media_url_model = gtk.ListStore(str) media_url_list.set_model(media_url_model) media_url_list.set_text_column(0) - self.window.get_widget("install-url-box").child.connect("activate", + self.widget("install-url-box").child.connect("activate", self.detect_media_os) - ks_url_list = self.window.get_widget("install-ks-box") + ks_url_list = self.widget("install-ks-box") ks_url_model = gtk.ListStore(str) ks_url_list.set_model(ks_url_model) ks_url_list.set_text_column(0) # Lists for distro type + variant - os_type_list = self.window.get_widget("install-os-type") + os_type_list = self.widget("install-os-type") os_type_model = gtk.ListStore(str, str) os_type_list.set_model(os_type_model) text = gtk.CellRendererText() os_type_list.pack_start(text, True) os_type_list.add_attribute(text, 'text', 1) - os_variant_list = self.window.get_widget("install-os-version") + os_variant_list = self.widget("install-os-version") os_variant_model = gtk.ListStore(str, str) os_variant_list.set_model(os_variant_model) text = gtk.CellRendererText() @@ -288,25 +287,25 @@ class vmmCreate(vmmGObjectUI): os_variant_list.add_attribute(text, 'text', 1) # Physical CD-ROM model - cd_list = self.window.get_widget("install-local-cdrom-combo") + cd_list = self.widget("install-local-cdrom-combo") uihelpers.init_mediadev_combo(cd_list) # Networking # [ interface type, device name, label, sensitive ] - net_list = self.window.get_widget("config-netdev") - bridge_box = self.window.get_widget("config-netdev-bridge-box") + net_list = self.widget("config-netdev") + bridge_box = self.widget("config-netdev-bridge-box") uihelpers.init_network_list(net_list, bridge_box) # Archtecture archModel = gtk.ListStore(str) - archList = self.window.get_widget("config-arch") + archList = self.widget("config-arch") text = gtk.CellRendererText() archList.pack_start(text, True) archList.add_attribute(text, 'text', 0) archList.set_model(archModel) hyperModel = gtk.ListStore(str, str, str, bool) - hyperList = self.window.get_widget("config-hv") + hyperList = self.widget("config-hv") text = gtk.CellRendererText() hyperList.pack_start(text, True) hyperList.add_attribute(text, 'text', 0) @@ -314,7 +313,7 @@ class vmmCreate(vmmGObjectUI): hyperList.set_model(hyperModel) # Sparse tooltip - sparse_info = self.window.get_widget("config-storage-nosparse-info") + sparse_info = self.widget("config-storage-nosparse-info") uihelpers.set_sparse_tooltip(sparse_info) def reset_state(self, urihint=None): @@ -324,16 +323,16 @@ class vmmCreate(vmmGObjectUI): self.disk = None self.nic = None - self.window.get_widget("create-pages").set_current_page(PAGE_NAME) + self.widget("create-pages").set_current_page(PAGE_NAME) self.page_changed(None, None, PAGE_NAME) - self.window.get_widget("startup-error-box").hide() - self.window.get_widget("install-box").show() + self.widget("startup-error-box").hide() + self.widget("install-box").show() # Name page state - self.window.get_widget("create-vm-name").set_text("") - self.window.get_widget("create-vm-name").grab_focus() - self.window.get_widget("method-local").set_active(True) - self.window.get_widget("create-conn").set_active(-1) + self.widget("create-vm-name").set_text("") + self.widget("create-vm-name").grab_focus() + self.widget("method-local").set_active(True) + self.widget("create-conn").set_active(-1) activeconn = self.populate_conn_list(urihint) try: @@ -349,53 +348,53 @@ class vmmCreate(vmmGObjectUI): # Everything from this point forward should be connection independent # Distro/Variant - self.toggle_detect_os(self.window.get_widget("install-detect-os")) + self.toggle_detect_os(self.widget("install-detect-os")) self.populate_os_type_model() - self.window.get_widget("install-os-type").set_active(0) + self.widget("install-os-type").set_active(0) - self.window.get_widget("install-local-box").child.set_text("") - iso_model = self.window.get_widget("install-local-box").get_model() + self.widget("install-local-box").child.set_text("") + iso_model = self.widget("install-local-box").get_model() self.populate_media_model(iso_model, self.conn.config_get_iso_paths()) # Install URL - self.window.get_widget("install-urlopts-entry").set_text("") - self.window.get_widget("install-ks-box").child.set_text("") - self.window.get_widget("install-url-box").child.set_text("") - self.window.get_widget("install-url-options").set_expanded(False) - urlmodel = self.window.get_widget("install-url-box").get_model() - ksmodel = self.window.get_widget("install-ks-box").get_model() + self.widget("install-urlopts-entry").set_text("") + self.widget("install-ks-box").child.set_text("") + self.widget("install-url-box").child.set_text("") + self.widget("install-url-options").set_expanded(False) + urlmodel = self.widget("install-url-box").get_model() + ksmodel = self.widget("install-ks-box").get_model() self.populate_media_model(urlmodel, self.config.get_media_urls()) self.populate_media_model(ksmodel, self.config.get_kickstart_urls()) # Install import - self.window.get_widget("install-import-entry").set_text("") + self.widget("install-import-entry").set_text("") # Install container app - self.window.get_widget("install-app-entry").set_text("/bin/sh") + self.widget("install-app-entry").set_text("/bin/sh") # Install container OS - self.window.get_widget("install-oscontainer-fs").set_text("") + self.widget("install-oscontainer-fs").set_text("") # Mem / CPUs - self.window.get_widget("config-mem").set_value(DEFAULT_MEM) - self.window.get_widget("config-cpus").set_value(1) + self.widget("config-mem").set_value(DEFAULT_MEM) + self.widget("config-cpus").set_value(1) # Storage - label_widget = self.window.get_widget("phys-hd-label") + label_widget = self.widget("phys-hd-label") label_widget.set_markup("") if not self.host_storage_timer: self.host_storage_timer = self.safe_timeout_add(3 * 1000, uihelpers.host_space_tick, self.conn, label_widget) - self.window.get_widget("enable-storage").set_active(True) - self.window.get_widget("config-storage-create").set_active(True) - self.window.get_widget("config-storage-size").set_value(8) - self.window.get_widget("config-storage-entry").set_text("") - self.window.get_widget("config-storage-nosparse").set_active(True) + self.widget("enable-storage").set_active(True) + self.widget("config-storage-create").set_active(True) + self.widget("config-storage-size").set_value(8) + self.widget("config-storage-entry").set_text("") + self.widget("config-storage-nosparse").set_active(True) # Final page - self.window.get_widget("summary-customize").set_active(False) + self.widget("summary-customize").set_active(False) # Make sure window is a sane size self.topwin.resize(1, 1) @@ -403,7 +402,7 @@ class vmmCreate(vmmGObjectUI): def set_conn_state(self): # Update all state that has some dependency on the current connection - self.window.get_widget("create-forward").set_sensitive(True) + self.widget("create-forward").set_sensitive(True) if self.conn.is_read_only(): return self.startup_error(_("Connection is read only.")) @@ -453,10 +452,10 @@ class vmmCreate(vmmGObjectUI): is_container = self.conn.is_container() # Install Options - method_tree = self.window.get_widget("method-tree") - method_pxe = self.window.get_widget("method-pxe") - method_local = self.window.get_widget("method-local") - method_container_app = self.window.get_widget("method-container-app") + method_tree = self.widget("method-tree") + method_pxe = self.widget("method-pxe") + method_local = self.widget("method-local") + method_container_app = self.widget("method-container-app") method_tree.set_sensitive(is_local) method_local.set_sensitive(not is_pv) @@ -494,16 +493,16 @@ class vmmCreate(vmmGObjectUI): # Container install options method_container_app.set_active(True) - self.window.get_widget("virt-install-box").set_property( - "visible", not is_container) - self.window.get_widget("container-install-box").set_property( - "visible", is_container) + self.widget("virt-install-box").set_property("visible", + not is_container) + self.widget("container-install-box").set_property("visible", + is_container) # Install local - iso_option = self.window.get_widget("install-local-iso") - cdrom_option = self.window.get_widget("install-local-cdrom") - cdrom_list = self.window.get_widget("install-local-cdrom-combo") - cdrom_warn = self.window.get_widget("install-local-cdrom-warn") + iso_option = self.widget("install-local-iso") + cdrom_option = self.widget("install-local-cdrom") + cdrom_list = self.widget("install-local-cdrom-combo") + cdrom_warn = self.widget("install-local-cdrom-warn") sigs = uihelpers.populate_mediadev_combo(self.conn, cdrom_list, MEDIA_CDROM) @@ -536,8 +535,8 @@ class vmmCreate(vmmGObjectUI): {'maxmem': self.pretty_memory(memory)}) mem_label = ("%s" % mem_label) - self.window.get_widget("config-mem").set_range(50, memory / 1024) - self.window.get_widget("phys-mem-label").set_markup(mem_label) + self.widget("config-mem").set_range(50, memory / 1024) + self.widget("phys-mem-label").set_markup(mem_label) # CPU phys_cpus = self.conn.host_active_processor_count() @@ -550,8 +549,7 @@ class vmmCreate(vmmGObjectUI): max_v) else: cpu_tooltip = None - util.tooltip_wrapper(self.window.get_widget("config-cpus"), - cpu_tooltip) + util.tooltip_wrapper(self.widget("config-cpus"), cpu_tooltip) cmax = int(cmax) if cmax <= 0: @@ -560,15 +558,15 @@ class vmmCreate(vmmGObjectUI): {'numcpus': int(phys_cpus)}) cpu_label = ("%s" % cpu_label) - self.window.get_widget("config-cpus").set_range(1, cmax) - self.window.get_widget("phys-cpu-label").set_markup(cpu_label) + self.widget("config-cpus").set_range(1, cmax) + self.widget("phys-cpu-label").set_markup(cpu_label) # Storage have_storage = (is_local or is_storage_capable) storage_tooltip = None - use_storage = self.window.get_widget("config-storage-select") - storage_area = self.window.get_widget("config-storage-area") + use_storage = self.widget("config-storage-select") + storage_area = self.widget("config-storage-area") storage_area.set_sensitive(have_storage) if not have_storage: @@ -578,10 +576,10 @@ class vmmCreate(vmmGObjectUI): util.tooltip_wrapper(storage_area, storage_tooltip) # Networking - net_list = self.window.get_widget("config-netdev") - net_expander = self.window.get_widget("config-advanced-expander") - net_warn_icon = self.window.get_widget("config-netdev-warn-icon") - net_warn_box = self.window.get_widget("config-netdev-warn-box") + net_list = self.widget("config-netdev") + net_expander = self.widget("config-advanced-expander") + net_warn_icon = self.widget("config-netdev-warn-icon") + net_warn_box = self.widget("config-netdev-warn-box") net_expander.hide() net_warn_icon.hide() net_warn_box.hide() @@ -592,14 +590,14 @@ class vmmCreate(vmmGObjectUI): self.conn.netdev_error, True) newmac = uihelpers.generate_macaddr(self.conn) - self.window.get_widget("config-set-macaddr").set_active(bool(newmac)) - self.window.get_widget("config-macaddr").set_text(newmac) + self.widget("config-set-macaddr").set_active(bool(newmac)) + self.widget("config-macaddr").set_text(newmac) def set_net_warn(self, show_warn, msg, do_tooltip): - net_warn_icon = self.window.get_widget("config-netdev-warn-icon") - net_warn_box = self.window.get_widget("config-netdev-warn-box") - net_warn_label = self.window.get_widget("config-netdev-warn-label") - net_expander = self.window.get_widget("config-advanced-expander") + net_warn_icon = self.widget("config-netdev-warn-icon") + net_warn_box = self.widget("config-netdev-warn-box") + net_warn_label = self.widget("config-netdev-warn-label") + net_expander = self.widget("config-advanced-expander") if show_warn: net_expander.set_expanded(True) @@ -614,7 +612,7 @@ class vmmCreate(vmmGObjectUI): net_warn_label.set_markup(markup) def populate_hv(self): - hv_list = self.window.get_widget("config-hv") + hv_list = self.widget("config-hv") model = hv_list.get_model() model.clear() @@ -650,7 +648,7 @@ class vmmCreate(vmmGObjectUI): model.append([label, gtype, domtype, sensitive]) - hv_info = self.window.get_widget("config-hv-info") + hv_info = self.widget("config-hv-info") if tooltip: hv_info.show() util.tooltip_wrapper(hv_info, tooltip) @@ -660,7 +658,7 @@ class vmmCreate(vmmGObjectUI): hv_list.set_active(default) def populate_arch(self): - arch_list = self.window.get_widget("config-arch") + arch_list = self.widget("config-arch") model = arch_list.get_model() model.clear() @@ -678,7 +676,7 @@ class vmmCreate(vmmGObjectUI): arch_list.set_active(default) def populate_conn_list(self, urihint=None): - conn_list = self.window.get_widget("create-conn") + conn_list = self.widget("create-conn") model = conn_list.get_model() model.clear() @@ -709,18 +707,18 @@ class vmmCreate(vmmGObjectUI): activeuri, activedesc = model[default] activeconn = self.engine.connections[activeuri]["connection"] - self.window.get_widget("create-conn-label").set_text(activedesc) + self.widget("create-conn-label").set_text(activedesc) if len(model) <= 1: - self.window.get_widget("create-conn").hide() - self.window.get_widget("create-conn-label").show() + self.widget("create-conn").hide() + self.widget("create-conn-label").show() else: - self.window.get_widget("create-conn").show() - self.window.get_widget("create-conn-label").hide() + self.widget("create-conn").show() + self.widget("create-conn-label").hide() return activeconn def populate_os_type_model(self): - model = self.window.get_widget("install-os-type").get_model() + model = self.widget("install-os-type").get_model() model.clear() model.append([OS_GENERIC, _("Generic")]) types = virtinst.FullVirtGuest.list_os_types() @@ -728,7 +726,7 @@ class vmmCreate(vmmGObjectUI): model.append([t, virtinst.FullVirtGuest.get_os_type_label(t)]) def populate_os_variant_model(self, _type): - model = self.window.get_widget("install-os-version").get_model() + model = self.widget("install-os-version").get_model() model.clear() if _type == OS_GENERIC: model.append([OS_GENERIC, _("Generic")]) @@ -825,43 +823,43 @@ class vmmCreate(vmmGObjectUI): title = "Ready to begin installation of %s" % self.guest.name - self.window.get_widget("summary-title").set_markup(title) - self.window.get_widget("summary-os").set_text(osstr) - self.window.get_widget("summary-install").set_text(install) - self.window.get_widget("summary-mem").set_text(mem) - self.window.get_widget("summary-cpu").set_text(cpu) - self.window.get_widget("summary-storage").set_markup(storage) + self.widget("summary-title").set_markup(title) + self.widget("summary-os").set_text(osstr) + self.widget("summary-install").set_text(install) + self.widget("summary-mem").set_text(mem) + self.widget("summary-cpu").set_text(cpu) + self.widget("summary-storage").set_markup(storage) # get_* methods def get_config_name(self): - return self.window.get_widget("create-vm-name").get_text() + return self.widget("create-vm-name").get_text() def is_install_page(self): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") curpage = notebook.get_current_page() return curpage == PAGE_INSTALL def get_config_install_page(self): - if self.window.get_widget("virt-install-box").get_property("visible"): - if self.window.get_widget("method-local").get_active(): + if self.widget("virt-install-box").get_property("visible"): + if self.widget("method-local").get_active(): return INSTALL_PAGE_ISO - elif self.window.get_widget("method-tree").get_active(): + elif self.widget("method-tree").get_active(): return INSTALL_PAGE_URL - elif self.window.get_widget("method-pxe").get_active(): + elif self.widget("method-pxe").get_active(): return INSTALL_PAGE_PXE - elif self.window.get_widget("method-import").get_active(): + elif self.widget("method-import").get_active(): return INSTALL_PAGE_IMPORT else: - if self.window.get_widget("method-container-app").get_active(): + if self.widget("method-container-app").get_active(): return INSTALL_PAGE_CONTAINER_APP - if self.window.get_widget("method-container-os").get_active(): + if self.widget("method-container-os").get_active(): return INSTALL_PAGE_CONTAINER_OS def get_config_os_info(self): - d_list = self.window.get_widget("install-os-type") + d_list = self.widget("install-os-type") d_idx = d_list.get_active() - v_list = self.window.get_widget("install-os-version") + v_list = self.widget("install-os-version") v_idx = v_list.get_active() distro = None dlabel = None @@ -876,10 +874,10 @@ class vmmCreate(vmmGObjectUI): return (distro, variant, dlabel, vlabel) def get_config_local_media(self, store_media=False): - if self.window.get_widget("install-local-cdrom").get_active(): - return self.window.get_widget("install-local-cdrom-combo").get_active_text() + if self.widget("install-local-cdrom").get_active(): + return self.widget("install-local-cdrom-combo").get_active_text() else: - ret = self.window.get_widget("install-local-box").child.get_text() + ret = self.widget("install-local-box").child.get_text() if ret and store_media: self.conn.config_add_iso_path(ret) return ret @@ -891,16 +889,16 @@ class vmmCreate(vmmGObjectUI): if instpage == INSTALL_PAGE_ISO: media = self.get_config_local_media() elif instpage == INSTALL_PAGE_URL: - media = self.window.get_widget("install-url-box").get_active_text() + media = self.widget("install-url-box").get_active_text() elif instpage == INSTALL_PAGE_IMPORT: - media = self.window.get_widget("install-import-entry").get_text() + media = self.widget("install-import-entry").get_text() return media def get_config_url_info(self, store_media=False): - media = self.window.get_widget("install-url-box").get_active_text().strip() - extra = self.window.get_widget("install-urlopts-entry").get_text().strip() - ks = self.window.get_widget("install-ks-box").get_active_text().strip() + media = self.widget("install-url-box").get_active_text().strip() + extra = self.widget("install-urlopts-entry").get_text().strip() + ks = self.widget("install-ks-box").get_active_text().strip() if media and store_media: self.config.add_media_url(media) @@ -910,13 +908,13 @@ class vmmCreate(vmmGObjectUI): return (media.strip(), extra.strip(), ks.strip()) def get_config_import_path(self): - return self.window.get_widget("install-import-entry").get_text() + return self.widget("install-import-entry").get_text() def get_config_container_app_path(self): - return self.window.get_widget("install-app-entry").get_text() + return self.widget("install-app-entry").get_text() def get_config_container_fs_path(self): - return self.window.get_widget("install-oscontainer-fs").get_text() + return self.widget("install-oscontainer-fs").get_text() def get_default_path(self, name): # Don't generate a new path if the install failed @@ -927,14 +925,14 @@ class vmmCreate(vmmGObjectUI): return util.get_default_path(self.conn, name) def is_default_storage(self): - usedef = self.window.get_widget("config-storage-create").get_active() + usedef = self.widget("config-storage-create").get_active() isimport = (self.get_config_install_page() == INSTALL_PAGE_IMPORT) return usedef and not isimport def get_storage_info(self): path = None - size = self.window.get_widget("config-storage-size").get_value() - sparse = not self.window.get_widget("config-storage-nosparse").get_active() + size = self.widget("config-storage-size").get_value() + sparse = not self.widget("config-storage-nosparse").get_active() if self.get_config_install_page() == INSTALL_PAGE_IMPORT: path = self.get_config_import_path() @@ -945,14 +943,14 @@ class vmmCreate(vmmGObjectUI): path = self.get_default_path(self.guest.name) logging.debug("Default storage path is: %s" % path) else: - path = self.window.get_widget("config-storage-entry").get_text() + path = self.widget("config-storage-entry").get_text() return (path, size, sparse) def get_config_network_info(self): - net_list = self.window.get_widget("config-netdev") - bridge_ent = self.window.get_widget("config-netdev-bridge") - macaddr = self.window.get_widget("config-macaddr").get_text() + net_list = self.widget("config-netdev") + bridge_ent = self.widget("config-netdev-bridge") + macaddr = self.widget("config-macaddr").get_text() net_type, net_src = uihelpers.get_network_selection(net_list, bridge_ent) @@ -968,10 +966,10 @@ class vmmCreate(vmmGObjectUI): return self.config.get_graphics_type() def get_config_customize(self): - return self.window.get_widget("summary-customize").get_active() + return self.widget("summary-customize").get_active() def is_detect_active(self): - return self.window.get_widget("install-detect-os").get_active() + return self.widget("install-detect-os").get_active() # Listeners @@ -1000,7 +998,7 @@ class vmmCreate(vmmGObjectUI): self.check_network_selection() def check_network_selection(self): - src = self.window.get_widget("config-netdev") + src = self.widget("config-netdev") idx = src.get_active() show_pxe_warn = True pxe_install = (self.get_config_install_page() == INSTALL_PAGE_PXE) @@ -1049,7 +1047,7 @@ class vmmCreate(vmmGObjectUI): # If the url_entry has focus, don't fire detect_media_os, it means # the user is probably typing self.mediaDetected = False - if (self.window.get_widget("install-url-box").child.flags() & + if (self.widget("install-url-box").child.flags() & gtk.HAS_FOCUS): return self.detect_media_os() @@ -1068,17 +1066,17 @@ class vmmCreate(vmmGObjectUI): dodetect = src.get_active() if dodetect: - self.window.get_widget("install-os-type-label").show() - self.window.get_widget("install-os-version-label").show() - self.window.get_widget("install-os-type").hide() - self.window.get_widget("install-os-version").hide() + self.widget("install-os-type-label").show() + self.widget("install-os-version-label").show() + self.widget("install-os-type").hide() + self.widget("install-os-version").hide() self.mediaDetected = False self.detect_media_os() # Run detection else: - self.window.get_widget("install-os-type-label").hide() - self.window.get_widget("install-os-version-label").hide() - self.window.get_widget("install-os-type").show() - self.window.get_widget("install-os-version").show() + self.widget("install-os-type-label").hide() + self.widget("install-os-version-label").hide() + self.widget("install-os-type").show() + self.widget("install-os-version").show() def change_os_type(self, box): model = box.get_model() @@ -1086,28 +1084,28 @@ class vmmCreate(vmmGObjectUI): _type = model.get_value(box.get_active_iter(), 0) self.populate_os_variant_model(_type) - variant = self.window.get_widget("install-os-version") + variant = self.widget("install-os-version") variant.set_active(0) def toggle_local_cdrom(self, src): - combo = self.window.get_widget("install-local-cdrom-combo") + combo = self.widget("install-local-cdrom-combo") is_active = src.get_active() if is_active: if combo.get_active() != -1: # Local CDROM was selected with media preset, detect distro self.detect_media_os() - self.window.get_widget("install-local-cdrom-combo").set_sensitive(is_active) + self.widget("install-local-cdrom-combo").set_sensitive(is_active) def toggle_local_iso(self, src): uselocal = src.get_active() - self.window.get_widget("install-local-box").set_sensitive(uselocal) - self.window.get_widget("install-local-browse").set_sensitive(uselocal) + self.widget("install-local-box").set_sensitive(uselocal) + self.widget("install-local-browse").set_sensitive(uselocal) def detect_visibility_changed(self, src, ignore=None): is_visible = src.get_property("visible") - detect_chkbox = self.window.get_widget("install-detect-os") - nodetect_label = self.window.get_widget("install-nodetect-label") + detect_chkbox = self.widget("install-detect-os") + nodetect_label = self.widget("install-nodetect-label") detect_chkbox.set_active(is_visible) detect_chkbox.toggled() @@ -1119,46 +1117,46 @@ class vmmCreate(vmmGObjectUI): def browse_oscontainer(self, ignore1=None, ignore2=None): def set_path(ignore, path): - self.window.get_widget("install-oscontainer-fs").set_text(path) + self.widget("install-oscontainer-fs").set_text(path) self._browse_file(set_path, is_media=False, is_dir=True) def browse_app(self, ignore1=None, ignore2=None): def set_path(ignore, path): - self.window.get_widget("install-app-entry").set_text(path) + self.widget("install-app-entry").set_text(path) self._browse_file(set_path, is_media=False) def browse_import(self, ignore1=None, ignore2=None): def set_path(ignore, path): - self.window.get_widget("install-import-entry").set_text(path) + self.widget("install-import-entry").set_text(path) self._browse_file(set_path, is_media=False) def browse_iso(self, ignore1=None, ignore2=None): def set_path(ignore, path): - self.window.get_widget("install-local-box").child.set_text(path) + self.widget("install-local-box").child.set_text(path) self._browse_file(set_path, is_media=True) - self.window.get_widget("install-local-box").activate() + self.widget("install-local-box").activate() def browse_storage(self, ignore1): def set_path(ignore, path): - self.window.get_widget("config-storage-entry").set_text(path) + self.widget("config-storage-entry").set_text(path) self._browse_file(set_path, is_media=False) def toggle_enable_storage(self, src): - self.window.get_widget("config-storage-box").set_sensitive(src.get_active()) + self.widget("config-storage-box").set_sensitive(src.get_active()) def toggle_storage_select(self, src): act = src.get_active() - self.window.get_widget("config-storage-browse-box").set_sensitive(act) + self.widget("config-storage-browse-box").set_sensitive(act) def toggle_macaddr(self, src): - self.window.get_widget("config-macaddr").set_sensitive(src.get_active()) + self.widget("config-macaddr").set_sensitive(src.get_active()) # Navigation methods def set_install_page(self): - instnotebook = self.window.get_widget("install-method-pages") - detectbox = self.window.get_widget("install-detect-os-box") - osbox = self.window.get_widget("install-os-distro-box") + instnotebook = self.widget("install-method-pages") + detectbox = self.widget("install-detect-os-box") + osbox = self.widget("install-os-distro-box") instpage = self.get_config_install_page() # Setting OS value for a container guest doesn't really matter @@ -1195,7 +1193,7 @@ class vmmCreate(vmmGObjectUI): INSTALL_PAGE_CONTAINER_OS] def back(self, src_ignore): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") curpage = notebook.get_current_page() next_page = curpage - 1 @@ -1208,7 +1206,7 @@ class vmmCreate(vmmGObjectUI): notebook.set_current_page(next_page) def forward(self, src_ignore=None): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") curpage = notebook.get_current_page() if self.have_startup_error: @@ -1232,7 +1230,7 @@ class vmmCreate(vmmGObjectUI): # Skip storage page for import installs next_page += 1 - self.window.get_widget("create-forward").grab_focus() + self.widget("create-forward").grab_focus() notebook.set_current_page(next_page) def set_page_num_text(self, cur): @@ -1246,37 +1244,37 @@ class vmmCreate(vmmGObjectUI): _("Step %(current_page)d of %(max_page)d") % {'current_page': cur, 'max_page': final}) - self.window.get_widget("config-pagenum").set_markup(page_lbl) + self.widget("config-pagenum").set_markup(page_lbl) def page_changed(self, ignore1, ignore2, pagenum): # Update page number self.set_page_num_text(pagenum) if pagenum == PAGE_NAME: - self.window.get_widget("create-back").set_sensitive(False) + self.widget("create-back").set_sensitive(False) else: - self.window.get_widget("create-back").set_sensitive(True) + self.widget("create-back").set_sensitive(True) if pagenum == PAGE_INSTALL: self.detect_media_os() - self.window.get_widget("install-os-distro-box").set_property( + self.widget("install-os-distro-box").set_property( "visible", not self.container_install()) if pagenum != PAGE_FINISH: - self.window.get_widget("create-forward").show() - self.window.get_widget("create-finish").hide() + self.widget("create-forward").show() + self.widget("create-finish").hide() return # PAGE_FINISH # This is hidden in reset_state, so that it doesn't distort # the size of the wizard if it is expanded by default due to # error - self.window.get_widget("config-advanced-expander").show() + self.widget("config-advanced-expander").show() - self.window.get_widget("create-forward").hide() - self.window.get_widget("create-finish").show() - self.window.get_widget("create-finish").grab_focus() + self.widget("create-forward").hide() + self.widget("create-finish").show() + self.widget("create-finish").grab_focus() self.populate_summary() # Repopulate the HV list, so we can make install method relevant @@ -1498,8 +1496,8 @@ class vmmCreate(vmmGObjectUI): return True def validate_mem_page(self): - cpus = self.window.get_widget("config-cpus").get_value() - mem = self.window.get_widget("config-mem").get_value() + cpus = self.widget("config-cpus").get_value() + mem = self.widget("config-mem").get_value() # VCPUS try: @@ -1517,7 +1515,7 @@ class vmmCreate(vmmGObjectUI): return True def validate_storage_page(self, revalidate=True): - use_storage = self.window.get_widget("enable-storage").get_active() + use_storage = self.widget("enable-storage").get_active() instcd = self.get_config_install_page() == INSTALL_PAGE_ISO # CD/ISO install and no disks implies LiveCD @@ -1664,7 +1662,7 @@ class vmmCreate(vmmGObjectUI): def finish(self, src_ignore): # Validate the final page - page = self.window.get_widget("create-pages").get_current_page() + page = self.widget("create-pages").get_current_page() if self.validate(page) != True: return False @@ -1849,8 +1847,8 @@ class vmmCreate(vmmGObjectUI): if not self.is_detect_active(): return - self.window.get_widget("install-os-type-label").set_text(distro) - self.window.get_widget("install-os-version-label").set_text(ver) + self.widget("install-os-type-label").set_text(distro) + self.widget("install-os-version-label").set_text(ver) def set_os_val(self, os_widget, value): # Helper method to set the OS Type/Variant selections to the passed @@ -1880,9 +1878,9 @@ class vmmCreate(vmmGObjectUI): if not self.is_detect_active(): return - dl = self.set_os_val(self.window.get_widget("install-os-type"), + dl = self.set_os_val(self.widget("install-os-type"), distro) - vl = self.set_os_val(self.window.get_widget("install-os-version"), + vl = self.set_os_val(self.widget("install-os-version"), ver) self.set_distro_labels(dl, vl) @@ -1894,7 +1892,7 @@ class vmmCreate(vmmGObjectUI): gtk.gdk.threads_leave() def _set_forward_sensitive(self, val): - self.window.get_widget("create-forward").set_sensitive(val) + self.widget("create-forward").set_sensitive(val) # The actual detection routine def do_detect(self, forward): diff --git a/src/virtManager/createinterface.py b/src/virtManager/createinterface.py index d2186e972..68415a4fc 100644 --- a/src/virtManager/createinterface.py +++ b/src/virtManager/createinterface.py @@ -177,26 +177,26 @@ class vmmCreateInterface(vmmGObjectUI): def set_initial_state(self): - self.window.get_widget("pages").set_show_tabs(False) + self.widget("pages").set_show_tabs(False) self.bond_config_win.get_widget("bond-pages").set_show_tabs(False) # FIXME: Unhide this when we make some documentation - self.window.get_widget("help").hide() + self.widget("help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("finish").set_image(finish_img) + self.widget("finish").set_image(finish_img) blue = gtk.gdk.color_parse("#0072A8") - self.window.get_widget("header").modify_bg(gtk.STATE_NORMAL, blue) + self.widget("header").modify_bg(gtk.STATE_NORMAL, blue) - box = self.window.get_widget("header-icon-box") + box = self.widget("header-icon-box") image = gtk.image_new_from_icon_name("network-idle", gtk.ICON_SIZE_DIALOG) image.show() box.pack_end(image, False) # Interface type - type_list = self.window.get_widget("interface-type") + type_list = self.widget("interface-type") type_model = gtk.ListStore(str, str) type_list.set_model(type_model) text = gtk.CellRendererText() @@ -213,10 +213,10 @@ class vmmCreateInterface(vmmGObjectUI): # Start mode uihelpers.build_startmode_combo( - self.window.get_widget("interface-startmode")) + self.widget("interface-startmode")) # Parent/slave Interface list - slave_list = self.window.get_widget("interface-list") + slave_list = self.widget("interface-list") # [ vmmInterface, selected, selectabel, name, type, is defined, # is active, in use by str, mac] slave_model = gtk.ListStore(object, bool, bool, str, str, bool, bool, @@ -339,16 +339,16 @@ class vmmCreateInterface(vmmGObjectUI): def reset_state(self): - self.window.get_widget("pages").set_current_page(PAGE_TYPE) + self.widget("pages").set_current_page(PAGE_TYPE) self.page_changed(None, None, PAGE_TYPE) - self.window.get_widget("interface-type").set_active(0) + self.widget("interface-type").set_active(0) # General details - self.window.get_widget("interface-name-entry").set_text("") - self.window.get_widget("interface-name-label").set_text("") - self.window.get_widget("interface-startmode").set_active(0) - self.window.get_widget("interface-activate").set_active(False) + self.widget("interface-name-entry").set_text("") + self.widget("interface-name-label").set_text("") + self.widget("interface-startmode").set_active(0) + self.widget("interface-activate").set_active(False) # Bridge config self.bridge_config_win.get_widget("bridge-delay").set_value(0) @@ -384,8 +384,8 @@ class vmmCreateInterface(vmmGObjectUI): itype = self.get_config_interface_type() # Set up default interface name - self.window.get_widget("interface-name-entry").hide() - self.window.get_widget("interface-name-label").hide() + self.widget("interface-name-entry").hide() + self.widget("interface-name-label").hide() if itype in [Interface.Interface.INTERFACE_TYPE_BRIDGE, Interface.Interface.INTERFACE_TYPE_BOND]: @@ -393,7 +393,7 @@ class vmmCreateInterface(vmmGObjectUI): else: widget = "interface-name-label" - self.window.get_widget(widget).show() + self.widget(widget).show() default_name = self.get_default_name() self.set_interface_name(default_name) @@ -406,10 +406,8 @@ class vmmCreateInterface(vmmGObjectUI): for key, value in type_dict.items(): do_show = (key == itype) - self.window.get_widget("%s-label" % value).set_property("visible", - do_show) - self.window.get_widget("%s-box" % value).set_property("visible", - do_show) + self.widget("%s-label" % value).set_property("visible", do_show) + self.widget("%s-box" % value).set_property("visible", do_show) if itype == Interface.Interface.INTERFACE_TYPE_BRIDGE: self.update_bridge_desc() @@ -501,7 +499,7 @@ class vmmCreateInterface(vmmGObjectUI): self.update_ip_desc() def populate_interface_list(self, itype): - iface_list = self.window.get_widget("interface-list") + iface_list = self.widget("interface-list") model = iface_list.get_model() model.clear() @@ -519,7 +517,7 @@ class vmmCreateInterface(vmmGObjectUI): elif itype == Interface.Interface.INTERFACE_TYPE_ETHERNET: msg = _("Choose an unconfigured interface:") - self.window.get_widget("interface-list-text").set_text(msg) + self.widget("interface-list-text").set_text(msg) iface_list = [] row_dict = {} @@ -583,7 +581,7 @@ class vmmCreateInterface(vmmGObjectUI): iface = ifaces[0][INTERFACE_ROW_NAME] if itype == Interface.Interface.INTERFACE_TYPE_VLAN: - tag = self.window.get_widget("vlan-tag").get_value() + tag = self.widget("vlan-tag").get_value() name = "%s.%s" % (iface, int(tag)) elif itype == Interface.Interface.INTERFACE_TYPE_ETHERNET: @@ -597,29 +595,29 @@ class vmmCreateInterface(vmmGObjectUI): ######################### def get_config_interface_type(self): - type_list = self.window.get_widget("interface-type") + type_list = self.widget("interface-type") return type_list.get_model()[type_list.get_active()][0] def set_interface_name(self, name): - if self.window.get_widget("interface-name-entry").get_property("visible"): + if self.widget("interface-name-entry").get_property("visible"): widget = "interface-name-entry" else: widget = "interface-name-label" - self.window.get_widget(widget).set_text(name) + self.widget(widget).set_text(name) def get_config_interface_name(self): - if self.window.get_widget("interface-name-entry").get_property("visible"): - return self.window.get_widget("interface-name-entry").get_text() + if self.widget("interface-name-entry").get_property("visible"): + return self.widget("interface-name-entry").get_text() else: - return self.window.get_widget("interface-name-label").get_text() + return self.widget("interface-name-label").get_text() def get_config_interface_startmode(self): - start_list = self.window.get_widget("interface-startmode") + start_list = self.widget("interface-startmode") return start_list.get_model()[start_list.get_active()][0] def get_config_selected_interfaces(self): - iface_list = self.window.get_widget("interface-list") + iface_list = self.widget("interface-list") model = iface_list.get_model() ret = [] @@ -714,7 +712,7 @@ class vmmCreateInterface(vmmGObjectUI): txt = "STP %s" % (stp and "on" or "off") txt += ", delay %d sec" % int(delay) - self.window.get_widget("bridge-config-label").set_text(txt) + self.widget("bridge-config-label").set_text(txt) def update_bond_desc(self): mode_list = self.bond_config_win.get_widget("bond-mode") @@ -729,7 +727,7 @@ class vmmCreateInterface(vmmGObjectUI): if mon: txt += ", %s" % mon - self.window.get_widget("bond-config-label").set_text(txt) + self.widget("bond-config-label").set_text(txt) def update_ip_desc(self): is_manual, name, ipv4, ipv6, ignore = self.get_config_ip_info() @@ -763,10 +761,10 @@ class vmmCreateInterface(vmmGObjectUI): if not label: label = "No configuration" - self.window.get_widget("ip-config-label").set_text(label) + self.widget("ip-config-label").set_text(label) def get_config_ip_info(self): - if not self.window.get_widget("ip-label").get_property("visible"): + if not self.widget("ip-label").get_property("visible"): return [True, None, None, None, None] if not self.validate_ip_info(): @@ -872,18 +870,18 @@ class vmmCreateInterface(vmmGObjectUI): ####################### def back(self, src): - notebook = self.window.get_widget("pages") + notebook = self.widget("pages") curpage = notebook.get_current_page() notebook.set_current_page(curpage - 1) def forward(self, ignore): - notebook = self.window.get_widget("pages") + notebook = self.widget("pages") curpage = notebook.get_current_page() if self.validate(notebook.get_current_page()) != True: return - self.window.get_widget("forward").grab_focus() + self.widget("forward").grab_focus() notebook.set_current_page(curpage + 1) def page_changed(self, ignore1, ignore2, pagenum): @@ -893,22 +891,22 @@ class vmmCreateInterface(vmmGObjectUI): _("Step %(current_page)d of %(max_page)d") % {'current_page': next_page, 'max_page': PAGE_DETAILS + 1}) - self.window.get_widget("header-pagenum").set_markup(page_lbl) + self.widget("header-pagenum").set_markup(page_lbl) if pagenum == 0: - self.window.get_widget("back").set_sensitive(False) + self.widget("back").set_sensitive(False) else: - self.window.get_widget("back").set_sensitive(True) + self.widget("back").set_sensitive(True) if pagenum == PAGE_DETAILS: self.populate_details_page() - self.window.get_widget("forward").hide() - self.window.get_widget("finish").show() - self.window.get_widget("finish").grab_focus() + self.widget("forward").hide() + self.widget("finish").show() + self.widget("finish").grab_focus() else: - self.window.get_widget("forward").show() - self.window.get_widget("finish").hide() + self.widget("forward").show() + self.widget("finish").hide() def validate(self, pagenum): try: @@ -1067,7 +1065,7 @@ class vmmCreateInterface(vmmGObjectUI): def validate_vlan(self, iobj, ifaces): - idx = self.window.get_widget("vlan-tag").get_value() + idx = self.widget("vlan-tag").get_value() iobj.tag = int(idx) return True @@ -1115,11 +1113,11 @@ class vmmCreateInterface(vmmGObjectUI): def finish(self, src): # Validate the final page - page = self.window.get_widget("pages").get_current_page() + page = self.widget("pages").get_current_page() if self.validate(page) != True: return False - activate = self.window.get_widget("interface-activate").get_active() + activate = self.widget("interface-activate").get_active() # Start the install self.topwin.set_sensitive(False) diff --git a/src/virtManager/createnet.py b/src/virtManager/createnet.py index 559a5495b..0507e459a 100644 --- a/src/virtManager/createnet.py +++ b/src/virtManager/createnet.py @@ -59,10 +59,10 @@ class vmmCreateNetwork(vmmGObjectUI): self.bind_escape_key_close() # XXX: Help docs useless/out of date - self.window.get_widget("create-help").hide() + self.widget("create-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("create-finish").set_image(finish_img) + self.widget("create-finish").set_image(finish_img) self.set_initial_state() @@ -87,15 +87,15 @@ class vmmCreateNetwork(vmmGObjectUI): vmmGObjectUI.cleanup(self) def set_initial_state(self): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") notebook.set_show_tabs(False) black = gtk.gdk.color_parse("#000") for num in range(PAGE_SUMMARY + 1): name = "page" + str(num) + "-title" - self.window.get_widget(name).modify_bg(gtk.STATE_NORMAL, black) + self.widget(name).modify_bg(gtk.STATE_NORMAL, black) - fw_list = self.window.get_widget("net-forward") + fw_list = self.widget("net-forward") # [ label, dev name ] fw_model = gtk.ListStore(str, str) fw_list.set_model(fw_model) @@ -109,7 +109,7 @@ class vmmCreateNetwork(vmmGObjectUI): fw_model.append([_("Physical device %s") % (net.get_name()), net.get_name()]) - mode_list = self.window.get_widget("net-forward-mode") + mode_list = self.widget("net-forward-mode") # [ label, mode ] mode_model = gtk.ListStore(str, str) mode_list.set_model(mode_model) @@ -121,32 +121,32 @@ class vmmCreateNetwork(vmmGObjectUI): mode_model.append([_("Routed"), "route"]) def reset_state(self): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") notebook.set_current_page(0) self.page_changed(None, None, 0) - self.window.get_widget("net-name").set_text("") - self.window.get_widget("net-network").set_text("192.168.100.0/24") - self.window.get_widget("net-dhcp-enable").set_active(True) - self.window.get_widget("net-dhcp-start").set_text("") - self.window.get_widget("net-dhcp-end").set_text("") - self.window.get_widget("net-forward-none").set_active(True) + self.widget("net-name").set_text("") + self.widget("net-network").set_text("192.168.100.0/24") + self.widget("net-dhcp-enable").set_active(True) + self.widget("net-dhcp-start").set_text("") + self.widget("net-dhcp-end").set_text("") + self.widget("net-forward-none").set_active(True) - self.window.get_widget("net-forward").set_active(0) - self.window.get_widget("net-forward-mode").set_active(0) + self.widget("net-forward").set_active(0) + self.widget("net-forward-mode").set_active(0) def forward(self, ignore=None): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") if self.validate(notebook.get_current_page()) != True: return - self.window.get_widget("create-forward").grab_focus() + self.widget("create-forward").grab_focus() notebook.next_page() def back(self, ignore=None): - notebook = self.window.get_widget("create-pages") + notebook = self.widget("create-pages") notebook.prev_page() def change_network(self, src): @@ -159,11 +159,11 @@ class vmmCreateNetwork(vmmGObjectUI): # No IP specified or invalid IP if ip is None or ip.version() != 4: src.modify_base(gtk.STATE_NORMAL, red) - self.window.get_widget("net-info-netmask").set_text("") - self.window.get_widget("net-info-broadcast").set_text("") - self.window.get_widget("net-info-gateway").set_text("") - self.window.get_widget("net-info-size").set_text("") - self.window.get_widget("net-info-type").set_text("") + self.widget("net-info-netmask").set_text("") + self.widget("net-info-broadcast").set_text("") + self.widget("net-info-gateway").set_text("") + self.widget("net-info-size").set_text("") + self.widget("net-info-type").set_text("") return # We've got a valid IP @@ -171,30 +171,29 @@ class vmmCreateNetwork(vmmGObjectUI): src.modify_base(gtk.STATE_NORMAL, red) else: src.modify_base(gtk.STATE_NORMAL, green) - self.window.get_widget("net-info-netmask").set_text(str(ip.netmask())) - self.window.get_widget("net-info-broadcast").set_text( - str(ip.broadcast())) + self.widget("net-info-netmask").set_text(str(ip.netmask())) + self.widget("net-info-broadcast").set_text(str(ip.broadcast())) if ip.len() <= 1: - self.window.get_widget("net-info-gateway").set_text("") + self.widget("net-info-gateway").set_text("") else: - self.window.get_widget("net-info-gateway").set_text(str(ip[1])) - self.window.get_widget("net-info-size").set_text(_("%d addresses") % + self.widget("net-info-gateway").set_text(str(ip[1])) + self.widget("net-info-size").set_text(_("%d addresses") % (ip.len())) if ip.iptype() == "PUBLIC": - self.window.get_widget("net-info-type").set_text(_("Public")) + self.widget("net-info-type").set_text(_("Public")) elif ip.iptype() == "PRIVATE": - self.window.get_widget("net-info-type").set_text(_("Private")) + self.widget("net-info-type").set_text(_("Private")) elif ip.iptype() == "RESERVED": - self.window.get_widget("net-info-type").set_text(_("Reserved")) + self.widget("net-info-type").set_text(_("Reserved")) else: - self.window.get_widget("net-info-type").set_text(_("Other")) + self.widget("net-info-type").set_text(_("Other")) def change_dhcp_enable(self, src): val = src.get_active() - self.window.get_widget("net-dhcp-start").set_sensitive(val) - self.window.get_widget("net-dhcp-end").set_sensitive(val) + self.widget("net-dhcp-start").set_sensitive(val) + self.widget("net-dhcp-end").set_sensitive(val) def change_dhcp_start(self, src): end = self.get_config_dhcp_start() @@ -217,95 +216,89 @@ class vmmCreateNetwork(vmmGObjectUI): src.modify_base(gtk.STATE_NORMAL, green) def change_forward_type(self, src_ignore): - skip_fwd = self.window.get_widget("net-forward-none").get_active() + skip_fwd = self.widget("net-forward-none").get_active() - self.window.get_widget("net-forward-mode").set_sensitive(not skip_fwd) - self.window.get_widget("net-forward").set_sensitive(not skip_fwd) + self.widget("net-forward-mode").set_sensitive(not skip_fwd) + self.widget("net-forward").set_sensitive(not skip_fwd) def get_config_name(self): - return self.window.get_widget("net-name").get_text() + return self.widget("net-name").get_text() def get_config_ip4(self): try: - return IP(self.window.get_widget("net-network").get_text()) + return IP(self.widget("net-network").get_text()) except: return None def get_config_dhcp_start(self): try: - return IP(self.window.get_widget("net-dhcp-start").get_text()) + return IP(self.widget("net-dhcp-start").get_text()) except: return None def get_config_dhcp_end(self): try: - return IP(self.window.get_widget("net-dhcp-end").get_text()) + return IP(self.widget("net-dhcp-end").get_text()) except: return None def get_config_forwarding(self): - if self.window.get_widget("net-forward-none").get_active(): + if self.widget("net-forward-none").get_active(): return [None, None] else: - dev = self.window.get_widget("net-forward") + dev = self.widget("net-forward") model = dev.get_model() active = dev.get_active() name = model[active][1] - mode_w = self.window.get_widget("net-forward-mode") + mode_w = self.widget("net-forward-mode") mode = mode_w.get_model()[mode_w.get_active()][1] return [name, mode] def get_config_dhcp_enable(self): - return self.window.get_widget("net-dhcp-enable").get_active() + return self.widget("net-dhcp-enable").get_active() def populate_summary(self): dodhcp = self.get_config_dhcp_enable() - self.window.get_widget("summary-name").set_text(self.get_config_name()) + self.widget("summary-name").set_text(self.get_config_name()) ip = self.get_config_ip4() - self.window.get_widget("summary-ip4-network").set_text(str(ip)) - self.window.get_widget("summary-ip4-gateway").set_text(str(ip[1])) - self.window.get_widget("summary-ip4-netmask").set_text( - str(ip.netmask())) + self.widget("summary-ip4-network").set_text(str(ip)) + self.widget("summary-ip4-gateway").set_text(str(ip[1])) + self.widget("summary-ip4-netmask").set_text(str(ip.netmask())) - self.window.get_widget("label-dhcp-end").set_property("visible", - dodhcp) - self.window.get_widget("summary-dhcp-end").set_property("visible", - dodhcp) + self.widget("label-dhcp-end").set_property("visible", dodhcp) + self.widget("summary-dhcp-end").set_property("visible", dodhcp) if dodhcp: start = self.get_config_dhcp_start() end = self.get_config_dhcp_end() - self.window.get_widget("summary-dhcp-start").set_text(str(start)) - self.window.get_widget("summary-dhcp-end").set_text(str(end)) - self.window.get_widget("label-dhcp-start").set_text( - _("Start address:")) - self.window.get_widget("label-dhcp-end").show() - self.window.get_widget("summary-dhcp-end").show() + self.widget("summary-dhcp-start").set_text(str(start)) + self.widget("summary-dhcp-end").set_text(str(end)) + self.widget("label-dhcp-start").set_text(_("Start address:")) + self.widget("label-dhcp-end").show() + self.widget("summary-dhcp-end").show() else: - self.window.get_widget("label-dhcp-start").set_text( - _("Status:")) - self.window.get_widget("summary-dhcp-start").set_text( - _("Disabled")) + self.widget("label-dhcp-start").set_text(_("Status:")) + self.widget("summary-dhcp-start").set_text(_("Disabled")) forward_txt = "" dev, mode = self.get_config_forwarding() forward_txt = vmmNetwork.pretty_desc(mode, dev) - self.window.get_widget("summary-forwarding").set_text(forward_txt) + self.widget("summary-forwarding").set_text(forward_txt) def populate_dhcp(self): ip = self.get_config_ip4() start = int(ip.len() / 2) end = ip.len() - 2 - if self.window.get_widget("net-dhcp-start").get_text() == "": - self.window.get_widget("net-dhcp-start").set_text(str(ip[start])) - if self.window.get_widget("net-dhcp-end").get_text() == "": - self.window.get_widget("net-dhcp-end").set_text(str(ip[end])) + if self.widget("net-dhcp-start").get_text() == "": + self.widget("net-dhcp-start").set_text(str(ip[start])) + if self.widget("net-dhcp-end").get_text() == "": + self.widget("net-dhcp-end").set_text(str(ip[end])) def page_changed(self, ignore1, ignore2, page_number): if page_number == PAGE_NAME: - name_widget = self.window.get_widget("net-name") + name_widget = self.widget("net-name") name_widget.grab_focus() elif page_number == PAGE_DHCP: self.populate_dhcp() @@ -313,17 +306,17 @@ class vmmCreateNetwork(vmmGObjectUI): self.populate_summary() if page_number == PAGE_INTRO: - self.window.get_widget("create-back").set_sensitive(False) + self.widget("create-back").set_sensitive(False) else: - self.window.get_widget("create-back").set_sensitive(True) + self.widget("create-back").set_sensitive(True) if page_number == PAGE_SUMMARY: - self.window.get_widget("create-forward").hide() - self.window.get_widget("create-finish").show() - self.window.get_widget("create-finish").grab_focus() + self.widget("create-forward").hide() + self.widget("create-finish").show() + self.widget("create-finish").grab_focus() else: - self.window.get_widget("create-forward").show() - self.window.get_widget("create-finish").hide() + self.widget("create-forward").show() + self.widget("create-finish").hide() def finish(self, ignore=None): @@ -366,7 +359,7 @@ class vmmCreateNetwork(vmmGObjectUI): self.close() def validate_name(self): - name = self.window.get_widget("net-name").get_text() + name = self.widget("net-name").get_text() if len(name) > 50 or len(name) == 0: return self.err.val_err(_("Invalid Network Name"), _("Network name must be non-blank and less than " @@ -404,7 +397,7 @@ class vmmCreateNetwork(vmmGObjectUI): ip = self.get_config_ip4() start = self.get_config_dhcp_start() end = self.get_config_dhcp_end() - enabled = self.window.get_widget("net-dhcp-enable").get_active() + enabled = self.widget("net-dhcp-enable").get_active() if enabled and start is None: return self.err.val_err(_("Invalid DHCP Address"), @@ -424,10 +417,10 @@ class vmmCreateNetwork(vmmGObjectUI): return True def validate_forwarding(self): - if not self.window.get_widget("net-forward-dev").get_active(): + if not self.widget("net-forward-dev").get_active(): return True - dev = self.window.get_widget("net-forward") + dev = self.widget("net-forward") if dev.get_active() == -1: return self.err.val_err(_("Invalid forwarding mode"), _("Please select where the traffic should be forwarded")) @@ -446,7 +439,7 @@ class vmmCreateNetwork(vmmGObjectUI): def show_help(self, src_ignore): # help to show depends on the notebook page, yahoo - page = self.window.get_widget("create-pages").get_current_page() + page = self.widget("create-pages").get_current_page() if page == PAGE_INTRO: self.emit("action-show-help", "virt-manager-create-net-intro") elif page == PAGE_NAME: diff --git a/src/virtManager/createpool.py b/src/virtManager/createpool.py index 0025b634a..8d185fcb4 100644 --- a/src/virtManager/createpool.py +++ b/src/virtManager/createpool.py @@ -93,10 +93,10 @@ class vmmCreatePool(vmmGObjectUI): self.bind_escape_key_close() # XXX: Help docs useless/out of date - self.window.get_widget("pool-help").hide() + self.widget("pool-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("pool-finish").set_image(finish_img) + self.widget("pool-finish").set_image(finish_img) self.set_initial_state() @@ -118,16 +118,16 @@ class vmmCreatePool(vmmGObjectUI): vmmGObjectUI.cleanup(self) def set_initial_state(self): - self.window.get_widget("pool-pages").set_show_tabs(False) + self.widget("pool-pages").set_show_tabs(False) - type_list = self.window.get_widget("pool-type") + type_list = self.widget("pool-type") type_model = gtk.ListStore(str, str) type_list.set_model(type_model) text1 = gtk.CellRendererText() type_list.pack_start(text1, True) type_list.add_attribute(text1, 'text', 1) - format_list = self.window.get_widget("pool-format") + format_list = self.widget("pool-format") format_model = gtk.ListStore(str, str) format_list.set_model(format_model) text2 = gtk.CellRendererText() @@ -135,7 +135,7 @@ class vmmCreatePool(vmmGObjectUI): format_list.add_attribute(text2, 'text', 1) # Target path combo box entry - target_list = self.window.get_widget("pool-target-path") + target_list = self.widget("pool-target-path") # target_path, Label, pool class instance target_model = gtk.ListStore(str, str, object) target_model.set_sort_column_id(0, gtk.SORT_ASCENDING) @@ -145,7 +145,7 @@ class vmmCreatePool(vmmGObjectUI): "target_path", "pool-info2") # Source path combo box entry - source_list = self.window.get_widget("pool-source-path") + source_list = self.widget("pool-source-path") # source_path, Label, pool class instance source_model = gtk.ListStore(str, str, object) source_model.set_sort_column_id(0, gtk.SORT_ASCENDING) @@ -156,24 +156,26 @@ class vmmCreatePool(vmmGObjectUI): self.populate_pool_type() - self.window.get_widget("pool-info-box1").modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("grey")) - self.window.get_widget("pool-info-box2").modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("grey")) + self.widget("pool-info-box1").modify_bg(gtk.STATE_NORMAL, + gtk.gdk.color_parse("grey")) + self.widget("pool-info-box2").modify_bg(gtk.STATE_NORMAL, + gtk.gdk.color_parse("grey")) def reset_state(self): - self.window.get_widget("pool-pages").set_current_page(0) - self.window.get_widget("pool-forward").show() - self.window.get_widget("pool-finish").hide() - self.window.get_widget("pool-back").set_sensitive(False) + self.widget("pool-pages").set_current_page(0) + self.widget("pool-forward").show() + self.widget("pool-finish").hide() + self.widget("pool-back").set_sensitive(False) - self.window.get_widget("pool-name").set_text("") - self.window.get_widget("pool-name").grab_focus() - self.window.get_widget("pool-type").set_active(0) - self.window.get_widget("pool-target-path").child.set_text("") - self.window.get_widget("pool-source-path").child.set_text("") - self.window.get_widget("pool-hostname").set_text("") - self.window.get_widget("pool-format").set_active(-1) - self.window.get_widget("pool-build").set_sensitive(True) - self.window.get_widget("pool-build").set_active(False) + self.widget("pool-name").set_text("") + self.widget("pool-name").grab_focus() + self.widget("pool-type").set_active(0) + self.widget("pool-target-path").child.set_text("") + self.widget("pool-source-path").child.set_text("") + self.widget("pool-hostname").set_text("") + self.widget("pool-format").set_active(-1) + self.widget("pool-build").set_sensitive(True) + self.widget("pool-build").set_active(False) def hostname_changed(self, ignore): @@ -181,25 +183,26 @@ class vmmCreatePool(vmmGObjectUI): self.populate_pool_sources() def populate_pool_type(self): - model = self.window.get_widget("pool-type").get_model() + model = self.widget("pool-type").get_model() model.clear() types = Storage.StoragePool.get_pool_types() types.sort() for typ in types: - model.append([typ, "%s: %s" % (typ, Storage.StoragePool.get_pool_type_desc(typ))]) + model.append([typ, "%s: %s" % + (typ, Storage.StoragePool.get_pool_type_desc(typ))]) def populate_pool_format(self, formats): - model = self.window.get_widget("pool-format").get_model() + model = self.widget("pool-format").get_model() model.clear() for f in formats: model.append([f, f]) def populate_pool_sources(self): - source_list = self.window.get_widget("pool-source-path") + source_list = self.widget("pool-source-path") source_model = source_list.get_model() source_model.clear() - target_list = self.window.get_widget("pool-target-path") + target_list = self.widget("pool-target-path") target_model = target_list.get_model() target_model.clear() @@ -278,31 +281,31 @@ class vmmCreatePool(vmmGObjectUI): Storage.StoragePool.TYPE_SCSI]: src_b = False - self.window.get_widget("pool-target-button").set_sensitive(tgt_b) - self.window.get_widget("pool-source-button").set_sensitive(src_b) - self.window.get_widget("pool-source-path").set_sensitive(src) - self.window.get_widget("pool-hostname").set_sensitive(host) - self.window.get_widget("pool-format").set_sensitive(fmt) - self.window.get_widget("pool-format").set_active(-1) + self.widget("pool-target-button").set_sensitive(tgt_b) + self.widget("pool-source-button").set_sensitive(src_b) + self.widget("pool-source-path").set_sensitive(src) + self.widget("pool-hostname").set_sensitive(host) + self.widget("pool-format").set_sensitive(fmt) + self.widget("pool-format").set_active(-1) if fmt: self.populate_pool_format(getattr(self._pool, "formats")) - self.window.get_widget("pool-format").set_active(0) + self.widget("pool-format").set_active(0) self.populate_pool_sources() def get_config_type(self): - typ = self.window.get_widget("pool-type") + typ = self.widget("pool-type") if typ.get_active_iter() != None: return typ.get_model().get_value(typ.get_active_iter(), 0) return None def get_config_name(self): - return self.window.get_widget("pool-name").get_text() + return self.widget("pool-name").get_text() def get_config_target_path(self): - src = self.window.get_widget("pool-target-path") + src = self.widget("pool-target-path") if not src.get_property("sensitive"): return None @@ -315,7 +318,7 @@ class vmmCreatePool(vmmGObjectUI): return src.child.get_text() def get_config_source_path(self): - src = self.window.get_widget("pool-source-path") + src = self.widget("pool-source-path") if not src.get_property("sensitive"): return None @@ -328,13 +331,13 @@ class vmmCreatePool(vmmGObjectUI): return src.child.get_text().strip() def get_config_host(self): - host = self.window.get_widget("pool-hostname") + host = self.widget("pool-hostname") if host.get_property("sensitive"): return host.get_text().strip() return None def get_config_format(self): - format_combo = self.window.get_widget("pool-format") + format_combo = self.widget("pool-format") model = format_combo.get_model() if format_combo.get_active_iter() != None: model = format_combo.get_model() @@ -363,34 +366,34 @@ class vmmCreatePool(vmmGObjectUI): source = self._browse_file(_("Choose source path"), startfolder="/dev", foldermode=False) if source: - self.window.get_widget("pool-source-path").child.set_text(source) + self.widget("pool-source-path").child.set_text(source) def browse_target_path(self, ignore1=None): target = self._browse_file(_("Choose target directory"), startfolder="/var/lib/libvirt", foldermode=True) if target: - self.window.get_widget("pool-target-path").child.set_text(target) + self.widget("pool-target-path").child.set_text(target) def forward(self, ignore=None): - notebook = self.window.get_widget("pool-pages") + notebook = self.widget("pool-pages") try: if(self.validate(notebook.get_current_page()) != True): return if notebook.get_current_page() == PAGE_FORMAT: self.finish() else: - self.window.get_widget("pool-forward").grab_focus() + self.widget("pool-forward").grab_focus() notebook.next_page() except Exception, e: self.err.show_err(_("Uncaught error validating input: %s") % str(e)) return def back(self, ignore=None): - self.window.get_widget("pool-finish").hide() - self.window.get_widget("pool-forward").show() - self.window.get_widget("pool-pages").prev_page() + self.widget("pool-finish").hide() + self.widget("pool-forward").show() + self.widget("pool-pages").prev_page() def finish(self): self.topwin.set_sensitive(False) @@ -422,26 +425,27 @@ class vmmCreatePool(vmmGObjectUI): self._pool.conn = newconn logging.debug("Starting backround pool creation.") - build = self.window.get_widget("pool-build").get_active() + build = self.widget("pool-build").get_active() poolobj = self._pool.install(create=True, meter=meter, build=build) poolobj.setAutostart(True) logging.debug("Pool creation succeeded") def page_changed(self, notebook_ignore, page_ignore, page_number): if page_number == PAGE_NAME: - self.window.get_widget("pool-back").set_sensitive(False) - self.window.get_widget("pool-finish").hide() - self.window.get_widget("pool-forward").show() - self.window.get_widget("pool-forward").grab_focus() + self.widget("pool-back").set_sensitive(False) + self.widget("pool-finish").hide() + self.widget("pool-forward").show() + self.widget("pool-forward").grab_focus() elif page_number == PAGE_FORMAT: - self.window.get_widget("pool-target-path").child.set_text(self._pool.target_path) - self.window.get_widget("pool-back").set_sensitive(True) + self.widget("pool-target-path").child.set_text( + self._pool.target_path) + self.widget("pool-back").set_sensitive(True) buildret = self.get_build_default() - self.window.get_widget("pool-build").set_sensitive(buildret[1]) - self.window.get_widget("pool-build").set_active(buildret[0]) - self.window.get_widget("pool-finish").show() - self.window.get_widget("pool-finish").grab_focus() - self.window.get_widget("pool-forward").hide() + self.widget("pool-build").set_sensitive(buildret[1]) + self.widget("pool-build").set_active(buildret[0]) + self.widget("pool-finish").show() + self.widget("pool-finish").grab_focus() + self.widget("pool-forward").hide() self.show_options_by_pool() def get_pool_to_validate(self): @@ -450,8 +454,8 @@ class vmmCreatePool(vmmGObjectUI): For most pools this will be the one we built after step 1, but for pools we find via FindPoolSources, this will be different """ - source_list = self.window.get_widget("pool-source-path") - target_list = self.window.get_widget("pool-target-path") + source_list = self.widget("pool-source-path") + target_list = self.widget("pool-target-path") pool = copy.copy(self._pool) @@ -496,9 +500,8 @@ class vmmCreatePool(vmmGObjectUI): except ValueError, e: return self.err.val_err(_("Pool Parameter Error"), str(e)) - buildval = self.window.get_widget("pool-build").get_active() - buildsen = self.window.get_widget("pool-build").get_property( - "sensitive") + buildval = self.widget("pool-build").get_active() + buildsen = self.widget("pool-build").get_property("sensitive") if buildsen and buildval: ret = self.err.yes_no(_("Building a pool of this type will " "format the source device. Are you " @@ -511,7 +514,7 @@ class vmmCreatePool(vmmGObjectUI): def update_doc(self, ignore1, ignore2, param, infobox): doc = self._build_doc_str(param) - self.window.get_widget(infobox).set_markup(doc) + self.widget(infobox).set_markup(doc) def update_build_doc(self, ignore1, ignore2): doc = "" @@ -523,7 +526,7 @@ class vmmCreatePool(vmmGObjectUI): if docstr: doc = self._build_doc_str("build", docstr) - self.window.get_widget("pool-info2").set_markup(doc) + self.widget("pool-info2").set_markup(doc) def update_doc_changed(self, ignore1, param, infobox): # Wrapper for update_doc and 'changed' signal diff --git a/src/virtManager/createvol.py b/src/virtManager/createvol.py index 1dc6889f6..d428bcae8 100644 --- a/src/virtManager/createvol.py +++ b/src/virtManager/createvol.py @@ -52,20 +52,20 @@ class vmmCreateVolume(vmmGObjectUI): }) self.bind_escape_key_close() - format_list = self.window.get_widget("vol-format") + format_list = self.widget("vol-format") format_model = gtk.ListStore(str, str) format_list.set_model(format_model) text2 = gtk.CellRendererText() format_list.pack_start(text2, False) format_list.add_attribute(text2, 'text', 1) - self.window.get_widget("vol-info-view").modify_bg(gtk.STATE_NORMAL, - gtk.gdk.color_parse("grey")) + self.widget("vol-info-view").modify_bg(gtk.STATE_NORMAL, + gtk.gdk.color_parse("grey")) # XXX: Help docs useless/out of date - self.window.get_widget("pool-help").hide() + self.widget("pool-help").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_QUIT, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("vol-create").set_image(finish_img) + self.widget("vol-create").set_image(finish_img) self.reset_state() @@ -125,32 +125,36 @@ class vmmCreateVolume(vmmGObjectUI): def reset_state(self): default_name = self.default_vol_name() - self.window.get_widget("vol-name").set_text("") - self.window.get_widget("vol-create").set_sensitive(False) + self.widget("vol-name").set_text("") + self.widget("vol-create").set_sensitive(False) if default_name: - self.window.get_widget("vol-name").set_text(default_name) + self.widget("vol-name").set_text(default_name) - self.window.get_widget("vol-name").grab_focus() + self.widget("vol-name").grab_focus() self.populate_vol_format() self.populate_vol_suffix() if len(self.vol_class.formats): - self.window.get_widget("vol-format").set_sensitive(True) - self.window.get_widget("vol-format").set_active(0) + self.widget("vol-format").set_sensitive(True) + self.widget("vol-format").set_active(0) else: - self.window.get_widget("vol-format").set_sensitive(False) + self.widget("vol-format").set_sensitive(False) - self.window.get_widget("vol-allocation").set_range(0, int(self.parent_pool.get_available() / 1024 / 1024)) - self.window.get_widget("vol-allocation").set_value(DEFAULT_ALLOC) - self.window.get_widget("vol-capacity").set_range(1, int(self.parent_pool.get_available() / 1024 / 1024)) - self.window.get_widget("vol-capacity").set_value(DEFAULT_CAP) + self.widget("vol-allocation").set_range(0, + int(self.parent_pool.get_available() / 1024 / 1024)) + self.widget("vol-allocation").set_value(DEFAULT_ALLOC) + self.widget("vol-capacity").set_range(1, + int(self.parent_pool.get_available() / 1024 / 1024)) + self.widget("vol-capacity").set_value(DEFAULT_CAP) - self.window.get_widget("vol-parent-name").set_markup("" + self.parent_pool.get_name() + "'s") - self.window.get_widget("vol-parent-space").set_text(self.parent_pool.get_pretty_available()) + self.widget("vol-parent-name").set_markup( + "" + self.parent_pool.get_name() + "'s") + self.widget("vol-parent-space").set_text( + self.parent_pool.get_pretty_available()) def get_config_format(self): - format_combo = self.window.get_widget("vol-format") + format_combo = self.widget("vol-format") model = format_combo.get_model() if format_combo.get_active_iter() != None: model = format_combo.get_model() @@ -158,7 +162,7 @@ class vmmCreateVolume(vmmGObjectUI): return None def populate_vol_format(self): - model = self.window.get_widget("vol-format").get_model() + model = self.widget("vol-format").get_model() model.clear() formats = self.vol_class.formats @@ -172,14 +176,14 @@ class vmmCreateVolume(vmmGObjectUI): suffix = self.default_suffix() if self.vol_class == Storage.FileVolume: suffix = ".img" - self.window.get_widget("vol-name-suffix").set_text(suffix) + self.widget("vol-name-suffix").set_text(suffix) def vol_name_changed(self, src): text = src.get_text() - self.window.get_widget("vol-create").set_sensitive(bool(text)) + self.widget("vol-create").set_sensitive(bool(text)) def vol_allocation_changed(self, src): - cap_widget = self.window.get_widget("vol-capacity") + cap_widget = self.widget("vol-capacity") alloc = src.get_value() cap = cap_widget.get_value() @@ -188,10 +192,10 @@ class vmmCreateVolume(vmmGObjectUI): cap_widget.set_value(alloc) def vol_capacity_changed(self, src): - alloc_widget = self.window.get_widget("vol-allocation") + alloc_widget = self.widget("vol-allocation") cap = src.get_value() - alloc = self.window.get_widget("vol-allocation").get_value() + alloc = self.widget("vol-allocation").get_value() if cap < alloc: alloc_widget.set_value(cap) @@ -240,12 +244,12 @@ class vmmCreateVolume(vmmGObjectUI): self.vol.install(meter=meter) def validate(self): - name = self.window.get_widget("vol-name").get_text() - suffix = self.window.get_widget("vol-name-suffix").get_text() + name = self.widget("vol-name").get_text() + suffix = self.widget("vol-name-suffix").get_text() volname = name + suffix fmt = self.get_config_format() - alloc = self.window.get_widget("vol-allocation").get_value() - cap = self.window.get_widget("vol-capacity").get_value() + alloc = self.widget("vol-allocation").get_value() + cap = self.widget("vol-capacity").get_value() try: self.vol = self.vol_class(name=volname, diff --git a/src/virtManager/delete.py b/src/virtManager/delete.py index 69f5ff306..4ae5ddb43 100644 --- a/src/virtManager/delete.py +++ b/src/virtManager/delete.py @@ -58,13 +58,13 @@ class vmmDeleteDialog(vmmGObjectUI): image = gtk.image_new_from_icon_name("vm_delete_wizard", gtk.ICON_SIZE_DIALOG) image.show() - self.window.get_widget("icon-box").pack_end(image, False) + self.widget("icon-box").pack_end(image, False) - prepare_storage_list(self.window.get_widget("delete-storage-list")) + prepare_storage_list(self.widget("delete-storage-list")) def toggle_remove_storage(self, src): dodel = src.get_active() - self.window.get_widget("delete-storage-list").set_sensitive(dodel) + self.widget("delete-storage-list").set_sensitive(dodel) def show(self, vm, parent): @@ -94,19 +94,19 @@ class vmmDeleteDialog(vmmGObjectUI): # Set VM name in title' title_str = ("%s '%s'" % (_("Delete"), self.vm.get_name())) - self.window.get_widget("delete-main-label").set_markup(title_str) + self.widget("delete-main-label").set_markup(title_str) - self.window.get_widget("delete-cancel").grab_focus() + self.widget("delete-cancel").grab_focus() # Disable storage removal by default - self.window.get_widget("delete-remove-storage").set_active(False) - self.window.get_widget("delete-remove-storage").toggled() + self.widget("delete-remove-storage").set_active(False) + self.widget("delete-remove-storage").toggled() - populate_storage_list(self.window.get_widget("delete-storage-list"), + populate_storage_list(self.widget("delete-storage-list"), self.vm, self.conn) def get_config_format(self): - format_combo = self.window.get_widget("vol-format") + format_combo = self.widget("vol-format") model = format_combo.get_model() if format_combo.get_active_iter() != None: model = format_combo.get_model() @@ -114,11 +114,11 @@ class vmmDeleteDialog(vmmGObjectUI): return None def get_paths_to_delete(self): - del_list = self.window.get_widget("delete-storage-list") + del_list = self.widget("delete-storage-list") model = del_list.get_model() paths = [] - if self.window.get_widget("delete-remove-storage").get_active(): + if self.widget("delete-remove-storage").get_active(): for row in model: if (not row[STORAGE_ROW_CANT_DELETE] and row[STORAGE_ROW_CONFIRM]): diff --git a/src/virtManager/details.py b/src/virtManager/details.py index 9c3c1cadb..5fe87b041 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -234,10 +234,10 @@ class vmmDetails(vmmGObjectUI): self.topwin.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG) self.topwin.set_transient_for(parent) - self.window.get_widget("customize-toolbar").show() - self.window.get_widget("details-toolbar").hide() - self.window.get_widget("details-menubar").hide() - pages = self.window.get_widget("details-pages") + self.widget("customize-toolbar").show() + self.widget("details-toolbar").hide() + self.widget("details-menubar").hide() + pages = self.widget("details-pages") pages.set_current_page(PAGE_DETAILS) @@ -390,16 +390,15 @@ class vmmDetails(vmmGObjectUI): self.vm.connect("status-changed", self.refresh_vm_state) self.vm.connect("config-changed", self.refresh_vm_state) self.vm.connect("resources-sampled", self.refresh_resources) - self.window.get_widget("hw-list").get_selection().connect( - "changed", - self.hw_selected) - self.window.get_widget("config-boot-list").get_selection().connect( + self.widget("hw-list").get_selection().connect("changed", + self.hw_selected) + self.widget("config-boot-list").get_selection().connect( "changed", self.config_bootdev_selected) finish_img = gtk.image_new_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("add-hardware-button").set_image(finish_img) + self.widget("add-hardware-button").set_image(finish_img) self.populate_hw_list() self.repopulate_boot_list() @@ -448,7 +447,7 @@ class vmmDetails(vmmGObjectUI): self.refresh_vm_state() def close(self, ignore1=None, ignore2=None): - fs = self.window.get_widget("details-menu-view-fullscreen") + fs = self.widget("details-menu-view-fullscreen") if fs.get_active(): fs.set_active(False) @@ -456,8 +455,8 @@ class vmmDetails(vmmGObjectUI): return self.topwin.hide() - if self.console.viewer and self.console.viewer.get_widget() and \ - self.console.viewer.get_widget().flags() & gtk.VISIBLE: + if (self.console.viewer and self.console.viewer.get_widget() and + self.console.viewer.get_widget().flags() & gtk.VISIBLE): try: self.console.close_viewer() except: @@ -476,12 +475,11 @@ class vmmDetails(vmmGObjectUI): def init_menus(self): # Shutdown button menu - uihelpers.build_shutdown_button_menu( - self.window.get_widget("control-shutdown"), - self.control_vm_shutdown, - self.control_vm_reboot, - self.control_vm_destroy, - self.control_vm_save) + uihelpers.build_shutdown_button_menu(self.widget("control-shutdown"), + self.control_vm_shutdown, + self.control_vm_reboot, + self.control_vm_destroy, + self.control_vm_save) icon_name = self.config.get_shutdown_icon_name() for name in ["details-menu-shutdown", @@ -489,7 +487,7 @@ class vmmDetails(vmmGObjectUI): "details-menu-poweroff", "details-menu-destroy"]: image = gtk.image_new_from_icon_name(icon_name, gtk.ICON_SIZE_MENU) - self.window.get_widget(name).set_image(image) + self.widget(name).set_image(image) # Add HW popup menu self.addhwmenu = gtk.Menu() @@ -514,28 +512,28 @@ class vmmDetails(vmmGObjectUI): # Serial list menu smenu = gtk.Menu() smenu.connect("show", self.populate_serial_menu) - self.window.get_widget("details-menu-view-serial-list").set_submenu(smenu) + self.widget("details-menu-view-serial-list").set_submenu(smenu) # Don't allowing changing network/disks for Dom0 dom0 = self.vm.is_management_domain() - self.window.get_widget("add-hardware-button").set_sensitive(not dom0) + self.widget("add-hardware-button").set_sensitive(not dom0) - self.window.get_widget("hw-panel").set_show_tabs(False) - self.window.get_widget("details-pages").set_show_tabs(False) - self.window.get_widget("console-pages").set_show_tabs(False) - self.window.get_widget("details-menu-view-toolbar").set_active(self.config.get_details_show_toolbar()) + self.widget("hw-panel").set_show_tabs(False) + self.widget("details-pages").set_show_tabs(False) + self.widget("console-pages").set_show_tabs(False) + self.widget("details-menu-view-toolbar").set_active( + self.config.get_details_show_toolbar()) # Keycombo menu (ctrl+alt+del etc.) self.keycombo_menu = uihelpers.build_keycombo_menu( self.console.send_key) - self.window.get_widget("details-menu-send-key").set_submenu( - self.keycombo_menu) + self.widget("details-menu-send-key").set_submenu(self.keycombo_menu) # XXX: Help docs useless/out of date - self.window.get_widget("help_menuitem").hide() + self.widget("help_menuitem").hide() def init_graphs(self): - graph_table = self.window.get_widget("graph-table") + graph_table = self.widget("graph-table") self.cpu_usage_graph = Sparkline() self.cpu_usage_graph.set_property("reversed", True) @@ -569,7 +567,7 @@ class vmmDetails(vmmGObjectUI): # Hardware list # [ label, icon name, icon size, hw type, hw data/class] hw_list_model = gtk.ListStore(str, str, int, int, object) - self.window.get_widget("hw-list").set_model(hw_list_model) + self.widget("hw-list").set_model(hw_list_model) hwCol = gtk.TreeViewColumn("Hardware") hwCol.set_spacing(6) @@ -581,16 +579,16 @@ class vmmDetails(vmmGObjectUI): hwCol.add_attribute(hw_txt, 'text', HW_LIST_COL_LABEL) hwCol.add_attribute(hw_img, 'stock-size', HW_LIST_COL_ICON_SIZE) hwCol.add_attribute(hw_img, 'icon-name', HW_LIST_COL_ICON_NAME) - self.window.get_widget("hw-list").append_column(hwCol) + self.widget("hw-list").append_column(hwCol) # Description text view - desc = self.window.get_widget("overview-description") + desc = self.widget("overview-description") buf = gtk.TextBuffer() buf.connect("changed", self.config_enable_apply) desc.set_buffer(buf) # Clock combo - clock_combo = self.window.get_widget("overview-clock-combo") + clock_combo = self.widget("overview-clock-combo") clock_model = gtk.ListStore(str) clock_combo.set_model(clock_model) text = gtk.CellRendererText() @@ -601,14 +599,14 @@ class vmmDetails(vmmGObjectUI): clock_model.append([offset]) # Security info tooltips - util.tooltip_wrapper(self.window.get_widget("security-static-info"), + util.tooltip_wrapper(self.widget("security-static-info"), _("Static SELinux security type tells libvirt to always start the guest process with the specified label. The administrator is responsible for making sure the images are labeled correctly on disk.")) - util.tooltip_wrapper(self.window.get_widget("security-dynamic-info"), + util.tooltip_wrapper(self.widget("security-dynamic-info"), _("The dynamic SELinux security type tells libvirt to automatically pick a unique label for the guest process and guest image, ensuring total isolation of the guest. (Default)")) # VCPU Pinning list - generate_cpuset = self.window.get_widget("config-vcpupin-generate") - generate_warn = self.window.get_widget("config-vcpupin-generate-err") + generate_cpuset = self.widget("config-vcpupin-generate") + generate_warn = self.widget("config-vcpupin-generate-err") if not self.conn.get_capabilities().host.topology: generate_cpuset.set_sensitive(False) generate_warn.show() @@ -617,7 +615,7 @@ class vmmDetails(vmmGObjectUI): # [ VCPU #, Currently running on Phys CPU #, CPU Pinning list ] - vcpu_list = self.window.get_widget("config-vcpu-list") + vcpu_list = self.widget("config-vcpu-list") vcpu_model = gtk.ListStore(str, str, str) vcpu_list.set_model(vcpu_model) @@ -646,7 +644,7 @@ class vmmDetails(vmmGObjectUI): pinCol.add_attribute(pin_text, 'text', 2) # Boot device list - boot_list = self.window.get_widget("config-boot-list") + boot_list = self.widget("config-boot-list") # model = [ XML boot type, display name, icon name, enabled ] boot_list_model = gtk.ListStore(str, str, str, bool) boot_list.set_model(boot_list_model) @@ -688,7 +686,7 @@ class vmmDetails(vmmGObjectUI): logging.exception("Error populating CPU model list") # [ feature name, mode] - feat_list = self.window.get_widget("cpu-features") + feat_list = self.widget("cpu-features") feat_model = gtk.ListStore(str, str) feat_list.set_model(feat_model) @@ -727,7 +725,7 @@ class vmmDetails(vmmGObjectUI): feat_model.append([name, "default"]) # CPU model combo - cpu_model = self.window.get_widget("cpu-model") + cpu_model = self.widget("cpu-model") model = gtk.ListStore(str, object) cpu_model.set_model(model) @@ -737,35 +735,36 @@ class vmmDetails(vmmGObjectUI): model.append([name, cpu_values.get_cpu(name)]) # Disk cache combo - disk_cache = self.window.get_widget("disk-cache-combo") + disk_cache = self.widget("disk-cache-combo") uihelpers.build_cache_combo(self.vm, disk_cache) # Disk format combo - format_list = self.window.get_widget("disk-format") + format_list = self.widget("disk-format") uihelpers.build_storage_format_combo(self.vm, format_list) # Disk bus combo - disk_bus = self.window.get_widget("disk-bus-combo") + disk_bus = self.widget("disk-bus-combo") uihelpers.build_disk_bus_combo(self.vm, disk_bus) # Network source - net_source = self.window.get_widget("network-source-combo") - net_bridge = self.window.get_widget("network-bridge-box") - source_mode_box = self.window.get_widget("network-source-mode-box") - source_mode_label = self.window.get_widget("network-source-mode") - vport_expander = self.window.get_widget("vport-expander") - uihelpers.init_network_list(net_source, net_bridge, source_mode_box, source_mode_label, vport_expander) + net_source = self.widget("network-source-combo") + net_bridge = self.widget("network-bridge-box") + source_mode_box = self.widget("network-source-mode-box") + source_mode_label = self.widget("network-source-mode") + vport_expander = self.widget("vport-expander") + uihelpers.init_network_list(net_source, net_bridge, source_mode_box, + source_mode_label, vport_expander) # source mode - source_mode = self.window.get_widget("network-source-mode-combo") + source_mode = self.widget("network-source-mode-combo") uihelpers.build_source_mode_combo(self.vm, source_mode) # Network model - net_model = self.window.get_widget("network-model-combo") + net_model = self.widget("network-model-combo") uihelpers.build_netmodel_combo(self.vm, net_model) # Graphics type - gfx_type = self.window.get_widget("gfx-type-combo") + gfx_type = self.widget("gfx-type-combo") model = gtk.ListStore(str, str) gfx_type.set_model(model) text = gtk.CellRendererText() @@ -778,30 +777,30 @@ class vmmDetails(vmmGObjectUI): gfx_type.set_active(-1) # Graphics keymap - gfx_keymap = self.window.get_widget("gfx-keymap-combo") + gfx_keymap = self.widget("gfx-keymap-combo") uihelpers.build_vnc_keymap_combo(self.vm, gfx_keymap, no_default=no_default) # Sound model - sound_dev = self.window.get_widget("sound-model-combo") + sound_dev = self.widget("sound-model-combo") uihelpers.build_sound_combo(self.vm, sound_dev, no_default=no_default) # Video model combo - video_dev = self.window.get_widget("video-model-combo") + video_dev = self.widget("video-model-combo") uihelpers.build_video_combo(self.vm, video_dev, no_default=no_default) # Watchdog model combo - combo = self.window.get_widget("watchdog-model-combo") + combo = self.widget("watchdog-model-combo") uihelpers.build_watchdogmodel_combo(self.vm, combo, no_default=no_default) # Watchdog action combo - combo = self.window.get_widget("watchdog-action-combo") + combo = self.widget("watchdog-action-combo") uihelpers.build_watchdogaction_combo(self.vm, combo, no_default=no_default) # Smartcard mode - sc_mode = self.window.get_widget("smartcard-mode-combo") + sc_mode = self.widget("smartcard-mode-combo") uihelpers.build_smartcard_mode_combo(self.vm, sc_mode) # Helper function to handle the combo/label pattern used for @@ -809,8 +808,8 @@ class vmmDetails(vmmGObjectUI): def set_combo_label(self, prefix, value, model_idx=0, label="", comparefunc=None): label = label or value - model_label = self.window.get_widget(prefix + "-label") - model_combo = self.window.get_widget(prefix + "-combo") + model_label = self.widget(prefix + "-label") + model_combo = self.widget(prefix + "-combo") idx = -1 if comparefunc: @@ -832,14 +831,14 @@ class vmmDetails(vmmGObjectUI): # Helper for accessing value of combo/label pattern def get_combo_value(self, widgetname, model_idx=0): - combo = self.window.get_widget(widgetname) + combo = self.widget(widgetname) if combo.get_active() < 0: return None return combo.get_model()[combo.get_active()][model_idx] def get_combo_label_value(self, prefix, model_idx=0): comboname = prefix + "-combo" - label = self.window.get_widget(prefix + "-label") + label = self.widget(prefix + "-label") value = None if label.get_property("visible"): @@ -966,21 +965,21 @@ class vmmDetails(vmmGObjectUI): src.show_all() def control_fullscreen(self, src): - menu = self.window.get_widget("details-menu-view-fullscreen") + menu = self.widget("details-menu-view-fullscreen") if src.get_active() != menu.get_active(): menu.set_active(src.get_active()) def toggle_toolbar(self, src): active = src.get_active() self.config.set_details_show_toolbar(active) - if active and not \ - self.window.get_widget("details-menu-view-fullscreen").get_active(): - self.window.get_widget("toolbar-box").show() + if (active and not + self.widget("details-menu-view-fullscreen").get_active()): + self.widget("toolbar-box").show() else: - self.window.get_widget("toolbar-box").hide() + self.widget("toolbar-box").hide() def get_boot_selection(self): - widget = self.window.get_widget("config-boot-list") + widget = self.widget("config-boot-list") selection = widget.get_selection() model, treepath = selection.get_selected() if treepath == None: @@ -988,12 +987,12 @@ class vmmDetails(vmmGObjectUI): return model[treepath] def set_hw_selection(self, page): - hwlist = self.window.get_widget("hw-list") + hwlist = self.widget("hw-list") selection = hwlist.get_selection() selection.select_path(str(page)) def get_hw_selection(self, field): - vmlist = self.window.get_widget("hw-list") + vmlist = self.widget("hw-list") selection = vmlist.get_selection() active = selection.get_selected() if active[1] == None: @@ -1007,16 +1006,16 @@ class vmmDetails(vmmGObjectUI): page = self.get_hw_selection(HW_LIST_COL_TYPE) if page is None: page = HW_LIST_TYPE_GENERAL - self.window.get_widget("hw-list").get_selection().select_path(0) + self.widget("hw-list").get_selection().select_path(0) return page def hw_selected(self, ignore1=None, page=None, selected=True): pagetype = self.force_get_hw_pagetype(page) - self.window.get_widget("config-remove").set_sensitive(True) - self.window.get_widget("hw-panel").set_sensitive(True) - self.window.get_widget("hw-panel").show() + self.widget("config-remove").set_sensitive(True) + self.widget("hw-panel").set_sensitive(True) + self.widget("hw-panel").show() try: if pagetype == HW_LIST_TYPE_GENERAL: @@ -1061,10 +1060,10 @@ class vmmDetails(vmmGObjectUI): rem = pagetype in remove_pages if selected: - self.window.get_widget("config-apply").set_sensitive(False) - self.window.get_widget("config-remove").set_property("visible", rem) + self.widget("config-apply").set_sensitive(False) + self.widget("config-remove").set_property("visible", rem) - self.window.get_widget("hw-panel").set_current_page(pagetype) + self.widget("hw-panel").set_current_page(pagetype) def details_console_changed(self, src): if self.ignoreDetails: @@ -1074,21 +1073,21 @@ class vmmDetails(vmmGObjectUI): return is_details = False - if (src == self.window.get_widget("control-vm-details") or - src == self.window.get_widget("details-menu-view-details")): + if (src == self.widget("control-vm-details") or + src == self.widget("details-menu-view-details")): is_details = True - pages = self.window.get_widget("details-pages") + pages = self.widget("details-pages") if is_details: pages.set_current_page(PAGE_DETAILS) else: pages.set_current_page(self.last_console_page) def sync_details_console_view(self, is_details): - details = self.window.get_widget("control-vm-details") - details_menu = self.window.get_widget("details-menu-view-details") - console = self.window.get_widget("control-vm-console") - console_menu = self.window.get_widget("details-menu-view-console") + details = self.widget("control-vm-details") + details_menu = self.widget("details-menu-view-details") + console = self.widget("control-vm-console") + console_menu = self.widget("details-menu-view-console") try: self.ignoreDetails = True @@ -1116,15 +1115,14 @@ class vmmDetails(vmmGObjectUI): text = _("_Run") strip_text = text.replace("_", "") - self.window.get_widget("details-menu-run").get_child().set_label(text) - self.window.get_widget("control-run").set_label(strip_text) + self.widget("details-menu-run").get_child().set_label(text) + self.widget("control-run").set_label(strip_text) def refresh_vm_state(self, ignore1=None, ignore2=None, ignore3=None): vm = self.vm status = self.vm.status() - self.toggle_toolbar( - self.window.get_widget("details-menu-view-toolbar")) + self.toggle_toolbar(self.widget("details-menu-view-toolbar")) active = vm.is_active() destroy = vm.is_destroyable() @@ -1136,28 +1134,28 @@ class vmmDetails(vmmGObjectUI): if vm.managedsave_supported: self.change_run_text(vm.hasSavedImage()) - self.window.get_widget("details-menu-destroy").set_sensitive(destroy) - self.window.get_widget("control-run").set_sensitive(run) - self.window.get_widget("details-menu-run").set_sensitive(run) + self.widget("details-menu-destroy").set_sensitive(destroy) + self.widget("control-run").set_sensitive(run) + self.widget("details-menu-run").set_sensitive(run) - self.window.get_widget("details-menu-migrate").set_sensitive(stop) - self.window.get_widget("control-shutdown").set_sensitive(stop) - self.window.get_widget("details-menu-shutdown").set_sensitive(stop) - self.window.get_widget("details-menu-save").set_sensitive(stop) - self.window.get_widget("control-pause").set_sensitive(stop) - self.window.get_widget("details-menu-pause").set_sensitive(stop) + self.widget("details-menu-migrate").set_sensitive(stop) + self.widget("control-shutdown").set_sensitive(stop) + self.widget("details-menu-shutdown").set_sensitive(stop) + self.widget("details-menu-save").set_sensitive(stop) + self.widget("control-pause").set_sensitive(stop) + self.widget("details-menu-pause").set_sensitive(stop) self.set_pause_state(paused) - self.window.get_widget("overview-name").set_editable(not active) + self.widget("overview-name").set_editable(not active) - self.window.get_widget("config-vcpus").set_sensitive(not ro) - self.window.get_widget("config-vcpupin").set_sensitive(not ro) - self.window.get_widget("config-memory").set_sensitive(not ro) - self.window.get_widget("config-maxmem").set_sensitive(not ro) + self.widget("config-vcpus").set_sensitive(not ro) + self.widget("config-vcpupin").set_sensitive(not ro) + self.widget("config-memory").set_sensitive(not ro) + self.widget("config-maxmem").set_sensitive(not ro) # Disable send key menu entries for offline VM - send_key = self.window.get_widget("details-menu-send-key") + send_key = self.widget("details-menu-send-key") for c in send_key.get_submenu().get_children(): c.set_sensitive(not (run or paused)) @@ -1165,12 +1163,12 @@ class vmmDetails(vmmGObjectUI): if not run: self.activate_default_console_page() - self.window.get_widget("overview-status-text").set_text( + self.widget("overview-status-text").set_text( self.vm.run_status()) - self.window.get_widget("overview-status-icon").set_from_icon_name( + self.widget("overview-status-icon").set_from_icon_name( self.vm.run_status_icon_name(), gtk.ICON_SIZE_MENU) - details = self.window.get_widget("details-pages") + details = self.widget("details-pages") self.page_refresh(details.get_current_page()) # This is safe to refresh, and is dependent on domain state @@ -1204,20 +1202,20 @@ class vmmDetails(vmmGObjectUI): break def activate_default_page(self): - pages = self.window.get_widget("details-pages") + pages = self.widget("details-pages") pages.set_current_page(PAGE_CONSOLE) self.activate_default_console_page() def activate_console_page(self): - pages = self.window.get_widget("details-pages") + pages = self.widget("details-pages") pages.set_current_page(PAGE_CONSOLE) def activate_performance_page(self): - self.window.get_widget("details-pages").set_current_page(PAGE_DETAILS) + self.widget("details-pages").set_current_page(PAGE_DETAILS) self.set_hw_selection(HW_LIST_TYPE_STATS) def activate_config_page(self): - self.window.get_widget("details-pages").set_current_page(PAGE_DETAILS) + self.widget("details-pages").set_current_page(PAGE_DETAILS) def add_hardware(self, src_ignore): try: @@ -1241,8 +1239,8 @@ class vmmDetails(vmmGObjectUI): # Set pause widget states try: self.ignorePause = True - self.window.get_widget("control-pause").set_active(paused) - self.window.get_widget("details-menu-pause").set_active(paused) + self.widget("control-pause").set_active(paused) + self.widget("details-menu-pause").set_active(paused) finally: self.ignorePause = False @@ -1334,7 +1332,7 @@ class vmmDetails(vmmGObjectUI): ######################### def control_serial_tab(self, src_ignore, name, target_port): - pages = self.window.get_widget("details-pages") + pages = self.widget("details-pages") is_graphics = (name == "graphics") is_serial = not is_graphics @@ -1354,20 +1352,19 @@ class vmmDetails(vmmGObjectUI): serial = vmmSerialConsole(self.vm, target_port, name) title = gtk.Label(name) - self.window.get_widget("details-pages").append_page(serial.box, - title) + self.widget("details-pages").append_page(serial.box, title) self.serial_tabs.append(serial) serial.open_console() page_idx = self.serial_tabs.index(serial) + PAGE_DYNAMIC_OFFSET - self.window.get_widget("details-pages").set_current_page(page_idx) + self.widget("details-pages").set_current_page(page_idx) def _close_serial_tab(self, serial): if not serial in self.serial_tabs: return page_idx = self.serial_tabs.index(serial) + PAGE_DYNAMIC_OFFSET - self.window.get_widget("details-pages").remove_page(page_idx) + self.widget("details-pages").remove_page(page_idx) serial.cleanup() self.serial_tabs.remove(serial) @@ -1378,7 +1375,7 @@ class vmmDetails(vmmGObjectUI): ############################ def get_config_boot_devs(self): - boot_model = self.window.get_widget("config-boot-list").get_model() + boot_model = self.widget("config-boot-list").get_model() devs = [] for row in boot_model: @@ -1388,7 +1385,7 @@ class vmmDetails(vmmGObjectUI): return devs def get_config_cpu_model(self): - cpu_list = self.window.get_widget("cpu-model") + cpu_list = self.widget("cpu-model") model = cpu_list.child.get_text() for row in cpu_list.get_model(): @@ -1398,7 +1395,7 @@ class vmmDetails(vmmGObjectUI): return model, None def get_config_cpu_features(self): - feature_list = self.window.get_widget("cpu-features") + feature_list = self.widget("cpu-features") ret = [] for row in feature_list.get_model(): @@ -1412,7 +1409,7 @@ class vmmDetails(vmmGObjectUI): # Details/Hardware listeners # ############################## def _spin_get_helper(self, wname): - widget = self.window.get_widget(wname) + widget = self.widget(wname) adj = widget.get_adjustment() txt = widget.get_text() @@ -1437,26 +1434,26 @@ class vmmDetails(vmmGObjectUI): def browse_kernel(self, src_ignore): def cb(ignore, path): - self.window.get_widget("boot-kernel").set_text(path) + self.widget("boot-kernel").set_text(path) self._browse_file(cb) def browse_initrd(self, src_ignore): def cb(ignore, path): - self.window.get_widget("boot-kernel-initrd").set_text(path) + self.widget("boot-kernel-initrd").set_text(path) self._browse_file(cb) def config_enable_apply(self, ignore1=None, ignore2=None): - self.window.get_widget("config-apply").set_sensitive(True) + self.widget("config-apply").set_sensitive(True) # Overview -> Machine settings def config_acpi_changed(self, ignore): - widget = self.window.get_widget("overview-acpi") + widget = self.widget("overview-acpi") incon = widget.get_inconsistent() widget.set_inconsistent(False) if incon: widget.set_active(True) self.config_enable_apply() def config_apic_changed(self, ignore): - widget = self.window.get_widget("overview-apic") + widget = self.widget("overview-apic") incon = widget.get_inconsistent() widget.set_inconsistent(False) if incon: @@ -1469,7 +1466,7 @@ class vmmDetails(vmmGObjectUI): def security_type_changed(self, button): self.config_enable_apply() - self.window.get_widget("security-label").set_sensitive( + self.widget("security-label").set_sensitive( not button.get_active()) # Memory @@ -1484,7 +1481,7 @@ class vmmDetails(vmmGObjectUI): def config_memory_changed(self, src_ignore): self.config_enable_apply() - maxadj = self.window.get_widget("config-maxmem").get_adjustment() + maxadj = self.widget("config-maxmem").get_adjustment() mem = self.config_get_memory() if maxadj.value < mem: @@ -1508,8 +1505,8 @@ class vmmDetails(vmmGObjectUI): return self.err.val_err( _("Error generating CPU configuration: %s") % str(e)) - self.window.get_widget("config-vcpupin").set_text("") - self.window.get_widget("config-vcpupin").set_text(pinstr) + self.widget("config-vcpupin").set_text("") + self.widget("config-vcpupin").set_text(pinstr) def config_vcpus_changed(self, ignore): self.config_enable_apply() @@ -1520,10 +1517,9 @@ class vmmDetails(vmmGObjectUI): # Warn about overcommit warn = bool(cur > host_active_count) - self.window.get_widget("config-vcpus-warn-box").set_property( - "visible", warn) + self.widget("config-vcpus-warn-box").set_property("visible", warn) - maxadj = self.window.get_widget("config-maxvcpus").get_adjustment() + maxadj = self.widget("config-maxvcpus").get_adjustment() maxval = self.config_get_maxvcpus() if maxval < cur: maxadj.value = cur @@ -1546,7 +1542,7 @@ class vmmDetails(vmmGObjectUI): def config_cpu_topology_enable(self, src): do_enable = src.get_active() - self.window.get_widget("cpu-topology-table").set_sensitive(do_enable) + self.widget("cpu-topology-table").set_sensitive(do_enable) self.config_enable_apply() # Boot device / Autostart @@ -1554,8 +1550,8 @@ class vmmDetails(vmmGObjectUI): boot_row = self.get_boot_selection() boot_selection = boot_row and boot_row[BOOT_DEV_TYPE] boot_devs = self.get_config_boot_devs() - up_widget = self.window.get_widget("config-boot-moveup") - down_widget = self.window.get_widget("config-boot-movedown") + up_widget = self.widget("config-boot-moveup") + down_widget = self.widget("config-boot-movedown") down_widget.set_sensitive(bool(boot_devs and boot_selection and @@ -1566,7 +1562,7 @@ class vmmDetails(vmmGObjectUI): boot_selection != boot_devs[0])) def config_boot_toggled(self, ignore, index): - boot_model = self.window.get_widget("config-boot-list").get_model() + boot_model = self.widget("config-boot-list").get_model() boot_row = boot_model[index] is_active = boot_row[BOOT_ACTIVE] @@ -1670,10 +1666,10 @@ class vmmDetails(vmmGObjectUI): self.err.show_err(_("Error apply changes: %s") % e) if ret is not False: - self.window.get_widget("config-apply").set_sensitive(False) + self.widget("config-apply").set_sensitive(False) def get_text(self, widgetname, strip=True): - ret = self.window.get_widget(widgetname).get_text() + ret = self.widget(widgetname).get_text() if strip: ret = ret.strip() return ret @@ -1681,14 +1677,14 @@ class vmmDetails(vmmGObjectUI): # Overview section def config_overview_apply(self): # Overview details - name = self.window.get_widget("overview-name").get_text() + name = self.widget("overview-name").get_text() # Machine details - enable_acpi = self.window.get_widget("overview-acpi").get_active() - if self.window.get_widget("overview-acpi").get_inconsistent(): + enable_acpi = self.widget("overview-acpi").get_active() + if self.widget("overview-acpi").get_inconsistent(): enable_acpi = None - enable_apic = self.window.get_widget("overview-apic").get_active() - if self.window.get_widget("overview-apic").get_inconsistent(): + enable_apic = self.widget("overview-apic").get_active() + if self.widget("overview-apic").get_inconsistent(): enable_apic = None clock = self.get_combo_label_value("overview-clock") @@ -1697,15 +1693,14 @@ class vmmDetails(vmmGObjectUI): setype = "static" selabel = self.get_text("security-label") - if self.window.get_widget("security-dynamic").get_active(): + if self.widget("security-dynamic").get_active(): setype = "dynamic" - if self.window.get_widget("security-type-box").get_property( - "sensitive"): + if self.widget("security-type-box").get_property("sensitive"): semodel = self.get_text("security-model") # Description - desc_widget = self.window.get_widget("overview-description") + desc_widget = self.widget("overview-description") desc = desc_widget.get_buffer().get_property("text") or "" return self._change_config_helper([self.vm.define_name, @@ -1727,10 +1722,10 @@ class vmmDetails(vmmGObjectUI): maxv = self.config_get_maxvcpus() cpuset = self.get_text("config-vcpupin") - do_top = self.window.get_widget("cpu-topology-enable").get_active() - sockets = self.window.get_widget("cpu-sockets").get_value() - cores = self.window.get_widget("cpu-cores").get_value() - threads = self.window.get_widget("cpu-threads").get_value() + do_top = self.widget("cpu-topology-enable").get_active() + sockets = self.widget("cpu-sockets").get_value() + cores = self.widget("cpu-cores").get_value() + threads = self.widget("cpu-threads").get_value() model, vendor = self.get_config_cpu_model() features = self.get_config_cpu_features() @@ -1760,7 +1755,7 @@ class vmmDetails(vmmGObjectUI): self._cpu_copy_host = False def config_vcpu_pin(self, src_ignore, path, new_text): - vcpu_list = self.window.get_widget("config-vcpu-list") + vcpu_list = self.widget("config-vcpu-list") vcpu_model = vcpu_list.get_model() row = vcpu_model[path] conn = self.vm.get_connection() @@ -1783,7 +1778,7 @@ class vmmDetails(vmmGObjectUI): def config_vcpu_pin_cpuset(self, cpuset): conn = self.vm.get_connection() - vcpu_list = self.window.get_widget("config-vcpu-list") + vcpu_list = self.widget("config-vcpu-list") vcpu_model = vcpu_list.get_model() if self.vm.vcpu_pinning() == cpuset: @@ -1798,7 +1793,7 @@ class vmmDetails(vmmGObjectUI): def config_memory_apply(self): curmem = None maxmem = self.config_get_maxmem() - if self.window.get_widget("config-memory").get_property("sensitive"): + if self.widget("config-memory").get_property("sensitive"): curmem = self.config_get_memory() if curmem: @@ -1813,7 +1808,7 @@ class vmmDetails(vmmGObjectUI): # Boot device / Autostart def config_boot_options_apply(self): - auto = self.window.get_widget("config-autostart") + auto = self.widget("config-autostart") if auto.get_property("sensitive"): try: @@ -1824,7 +1819,7 @@ class vmmDetails(vmmGObjectUI): return False bootdevs = self.get_config_boot_devs() - bootmenu = self.window.get_widget("boot-menu").get_active() + bootmenu = self.widget("boot-menu").get_active() kernel = self.get_text("boot-kernel") initrd = self.get_text("boot-kernel-initrd") @@ -1837,7 +1832,7 @@ class vmmDetails(vmmGObjectUI): (bootmenu,), (kernel, initrd, args)] - if self.window.get_widget("boot-init-align").get_property("visible"): + if self.widget("boot-init-align").get_property("visible"): init = self.get_text("boot-init-path") if not init: return self.err.val_err(_("An init path must be specified")) @@ -1855,10 +1850,10 @@ class vmmDetails(vmmGObjectUI): # Disk options def config_disk_apply(self, dev_id_info): - do_readonly = self.window.get_widget("disk-readonly").get_active() - do_shareable = self.window.get_widget("disk-shareable").get_active() + do_readonly = self.widget("disk-readonly").get_active() + do_shareable = self.widget("disk-shareable").get_active() cache = self.get_combo_label_value("disk-cache") - fmt = self.window.get_widget("disk-format").child.get_text().strip() + fmt = self.widget("disk-format").child.get_text().strip() bus = self.get_combo_label_value("disk-bus") serial = self.get_text("disk-serial") @@ -1891,8 +1886,8 @@ class vmmDetails(vmmGObjectUI): # Network options def config_network_apply(self, dev_id_info): - net_list = self.window.get_widget("network-source-combo") - net_bridge = self.window.get_widget("network-bridge") + net_list = self.widget("network-source-combo") + net_bridge = self.widget("network-bridge") nettype, source = uihelpers.get_network_selection(net_list, net_bridge) source_mode = None @@ -2103,7 +2098,7 @@ class vmmDetails(vmmGObjectUI): ######################## def refresh_resources(self, ignore): - details = self.window.get_widget("details-pages") + details = self.widget("details-pages") page = details.get_current_page() # If the dialog is visible, we want to make sure the XML is always @@ -2131,7 +2126,7 @@ class vmmDetails(vmmGObjectUI): if pagetype is None: return - if self.window.get_widget("config-apply").get_property("sensitive"): + if self.widget("config-apply").get_property("sensitive"): # Apply button sensitive means user is making changes, don't # erase them return @@ -2140,18 +2135,18 @@ class vmmDetails(vmmGObjectUI): def refresh_overview_page(self): # Basic details - self.window.get_widget("overview-name").set_text(self.vm.get_name()) - self.window.get_widget("overview-uuid").set_text(self.vm.get_uuid()) + self.widget("overview-name").set_text(self.vm.get_name()) + self.widget("overview-uuid").set_text(self.vm.get_uuid()) desc = self.vm.get_description() or "" - desc_widget = self.window.get_widget("overview-description") + desc_widget = self.widget("overview-description") desc_widget.get_buffer().set_text(desc) # Hypervisor Details - self.window.get_widget("overview-hv").set_text(self.vm.get_pretty_hv_type()) + self.widget("overview-hv").set_text(self.vm.get_pretty_hv_type()) arch = self.vm.get_arch() or _("Unknown") emu = self.vm.get_emulator() or _("None") - self.window.get_widget("overview-arch").set_text(arch) - self.window.get_widget("overview-emulator").set_text(emu) + self.widget("overview-arch").set_text(arch) + self.widget("overview-emulator").set_text(emu) # Machine settings acpi = self.vm.get_acpi() @@ -2159,11 +2154,11 @@ class vmmDetails(vmmGObjectUI): clock = self.vm.get_clock() # Hack in a way to represent 'default' acpi/apic for customize dialog - self.window.get_widget("overview-acpi").set_active(bool(acpi)) - self.window.get_widget("overview-acpi").set_inconsistent( + self.widget("overview-acpi").set_active(bool(acpi)) + self.widget("overview-acpi").set_inconsistent( acpi is None and self.is_customize_dialog) - self.window.get_widget("overview-apic").set_active(bool(apic)) - self.window.get_widget("overview-apic").set_inconsistent( + self.widget("overview-apic").set_active(bool(apic)) + self.widget("overview-apic").set_inconsistent( apic is None and self.is_customize_dialog) if not clock: @@ -2177,20 +2172,20 @@ class vmmDetails(vmmGObjectUI): if caps.host.secmodel and caps.host.secmodel.model: semodel = caps.host.secmodel.model - self.window.get_widget("security-model").set_text(semodel or _("None")) + self.widget("security-model").set_text(semodel or _("None")) if not semodel or semodel == "apparmor": - self.window.get_widget("security-type-box").hide() - self.window.get_widget("security-type-label").hide() + self.widget("security-type-box").hide() + self.widget("security-type-label").hide() else: - self.window.get_widget("security-type-box").set_sensitive(bool(semodel)) + self.widget("security-type-box").set_sensitive(bool(semodel)) if self.vm.get_seclabel()[1] == "static": - self.window.get_widget("security-static").set_active(True) + self.widget("security-static").set_active(True) else: - self.window.get_widget("security-dynamic").set_active(True) + self.widget("security-dynamic").set_active(True) - self.window.get_widget("security-label").set_text(vmlabel) + self.widget("security-label").set_text(vmlabel) def refresh_stats_page(self): def _dsk_rx_tx_text(rx, tx, unit): @@ -2222,10 +2217,10 @@ class vmmDetails(vmmGObjectUI): net_txt = _net_rx_tx_text(self.vm.network_rx_rate(), self.vm.network_tx_rate(), "KB/s") - self.window.get_widget("overview-cpu-usage-text").set_text(cpu_txt) - self.window.get_widget("overview-memory-usage-text").set_text(mem_txt) - self.window.get_widget("overview-network-traffic-text").set_markup(net_txt) - self.window.get_widget("overview-disk-usage-text").set_markup(dsk_txt) + self.widget("overview-cpu-usage-text").set_text(cpu_txt) + self.widget("overview-memory-usage-text").set_text(mem_txt) + self.widget("overview-network-traffic-text").set_markup(net_txt) + self.widget("overview-disk-usage-text").set_markup(dsk_txt) self.cpu_usage_graph.set_property("data_array", self.vm.host_cpu_time_vector()) @@ -2242,28 +2237,26 @@ class vmmDetails(vmmGObjectUI): maxvcpus = self.vm.vcpu_max_count() curvcpus = self.vm.vcpu_count() - curadj = self.window.get_widget("config-vcpus").get_adjustment() - maxadj = self.window.get_widget("config-maxvcpus").get_adjustment() + curadj = self.widget("config-vcpus").get_adjustment() + maxadj = self.widget("config-maxvcpus").get_adjustment() curadj.value = int(curvcpus) maxadj.value = int(maxvcpus) - self.window.get_widget("state-host-cpus").set_text( - str(host_active_count)) + self.widget("state-host-cpus").set_text(str(host_active_count)) # Warn about overcommit warn = bool(self.config_get_vcpus() > host_active_count) - self.window.get_widget("config-vcpus-warn-box").set_property( - "visible", warn) + self.widget("config-vcpus-warn-box").set_property("visible", warn) def _refresh_cpu_pinning(self): # Populate VCPU pinning vcpupin = self.vm.vcpu_pinning() - self.window.get_widget("config-vcpupin").set_text(vcpupin) + self.widget("config-vcpupin").set_text(vcpupin) def _refresh_runtime_pinning(self): conn = self.vm.get_connection() host_active_count = conn.host_active_processor_count() - vcpu_list = self.window.get_widget("config-vcpu-list") + vcpu_list = self.widget("config-vcpu-list") vcpu_model = vcpu_list.get_model() vcpu_model.clear() @@ -2301,7 +2294,7 @@ class vmmDetails(vmmGObjectUI): vcpu_model.append([vcpu, vcpucur, vcpupin]) def _refresh_cpu_config(self, cpu): - feature_ui = self.window.get_widget("cpu-features") + feature_ui = self.widget("cpu-features") model = cpu.model or "" caps = self.vm.get_connection().get_capabilities() @@ -2320,11 +2313,11 @@ class vmmDetails(vmmGObjectUI): cores = cpu.cores or 1 threads = cpu.threads or 1 - self.window.get_widget("cpu-topology-enable").set_active(show_top) - self.window.get_widget("cpu-model").child.set_text(model) - self.window.get_widget("cpu-sockets").set_value(sockets) - self.window.get_widget("cpu-cores").set_value(cores) - self.window.get_widget("cpu-threads").set_value(threads) + self.widget("cpu-topology-enable").set_active(show_top) + self.widget("cpu-model").child.set_text(model) + self.widget("cpu-sockets").set_value(sockets) + self.widget("cpu-cores").set_value(cores) + self.widget("cpu-threads").set_value(threads) def get_feature_policy(name): for f in cpu.features: @@ -2350,20 +2343,19 @@ class vmmDetails(vmmGObjectUI): self._refresh_cpu_config(cpu) def refresh_config_memory(self): - host_mem_widget = self.window.get_widget("state-host-memory") + host_mem_widget = self.widget("state-host-memory") host_mem = self.vm.get_connection().host_memory_size() / 1024 vm_cur_mem = self.vm.get_memory() / 1024.0 vm_max_mem = self.vm.maximum_memory() / 1024.0 host_mem_widget.set_text("%d MB" % (int(round(host_mem)))) - curmem = self.window.get_widget("config-memory").get_adjustment() - maxmem = self.window.get_widget("config-maxmem").get_adjustment() + curmem = self.widget("config-memory").get_adjustment() + maxmem = self.widget("config-maxmem").get_adjustment() curmem.value = int(round(vm_cur_mem)) maxmem.value = int(round(vm_max_mem)) - if (not - self.window.get_widget("config-memory").get_property("sensitive")): + if not self.widget("config-memory").get_property("sensitive"): maxmem.lower = curmem.value @@ -2401,25 +2393,25 @@ class vmmDetails(vmmGObjectUI): pretty_name = prettyify_disk(devtype, bus, idx) - self.window.get_widget("disk-source-path").set_text(path or "-") - self.window.get_widget("disk-target-type").set_text(pretty_name) + self.widget("disk-source-path").set_text(path or "-") + self.widget("disk-target-type").set_text(pretty_name) - self.window.get_widget("disk-readonly").set_active(ro) - self.window.get_widget("disk-readonly").set_sensitive(not is_cdrom) - self.window.get_widget("disk-shareable").set_active(share) - self.window.get_widget("disk-size").set_text(size) + self.widget("disk-readonly").set_active(ro) + self.widget("disk-readonly").set_sensitive(not is_cdrom) + self.widget("disk-shareable").set_active(share) + self.widget("disk-size").set_text(size) self.set_combo_label("disk-cache", cache) - self.window.get_widget("disk-format").set_sensitive(show_format) - self.window.get_widget("disk-format").child.set_text(driver_type) + self.widget("disk-format").set_sensitive(show_format) + self.widget("disk-format").child.set_text(driver_type) no_default = not self.is_customize_dialog self.populate_disk_bus_combo(devtype, no_default) self.set_combo_label("disk-bus", bus) - self.window.get_widget("disk-serial").set_text(serial or "") + self.widget("disk-serial").set_text(serial or "") - button = self.window.get_widget("config-cdrom-connect") + button = self.widget("config-cdrom-connect") if is_cdrom or is_floppy: if not path: # source device not connected @@ -2453,13 +2445,13 @@ class vmmDetails(vmmGObjectUI): desc = uihelpers.pretty_network_desc(nettype, source, netobj) - self.window.get_widget("network-mac-address").set_text(net.macaddr) + self.widget("network-mac-address").set_text(net.macaddr) uihelpers.populate_network_list( - self.window.get_widget("network-source-combo"), + self.widget("network-source-combo"), self.conn) - self.window.get_widget("network-source-combo").set_active(-1) + self.widget("network-source-combo").set_active(-1) - self.window.get_widget("network-bridge").set_text("") + self.widget("network-bridge").set_text("") def compare_network(model, info): for idx in range(len(model)): row = model[idx] @@ -2468,7 +2460,7 @@ class vmmDetails(vmmGObjectUI): if info[0] == virtinst.VirtualNetworkInterface.TYPE_BRIDGE: idx = (len(model) - 1) - self.window.get_widget("network-bridge").set_text(str(info[1])) + self.widget("network-bridge").set_text(str(info[1])) return True, idx return False, 0 @@ -2479,26 +2471,21 @@ class vmmDetails(vmmGObjectUI): # source mode uihelpers.populate_source_mode_combo(self.vm, - self.window.get_widget("network-source-mode-combo")) + self.widget("network-source-mode-combo")) self.set_combo_label("network-source-mode", source_mode) # Virtualport config show_vport = (nettype == "direct") vport = net.virtualport - self.window.get_widget("vport-expander").set_property("visible", - show_vport) - self.window.get_widget("vport-type").set_text(vport.type or "") - self.window.get_widget("vport-managerid").set_text( - vport.managerid or "") - self.window.get_widget("vport-typeid").set_text( - vport.typeid or "") - self.window.get_widget("vport-typeidversion").set_text( - vport.typeidversion or "") - self.window.get_widget("vport-instanceid").set_text( - vport.instanceid or "") + self.widget("vport-expander").set_property("visible", show_vport) + self.widget("vport-type").set_text(vport.type or "") + self.widget("vport-managerid").set_text(vport.managerid or "") + self.widget("vport-typeid").set_text(vport.typeid or "") + self.widget("vport-typeidversion").set_text(vport.typeidversion or "") + self.widget("vport-instanceid").set_text(vport.instanceid or "") uihelpers.populate_netmodel_combo(self.vm, - self.window.get_widget("network-model-combo")) + self.widget("network-model-combo")) self.set_combo_label("network-model", model) def refresh_input_page(self): @@ -2523,22 +2510,22 @@ class vmmDetails(vmmGObjectUI): else: mode = _("Relative Movement") - self.window.get_widget("input-dev-type").set_text(dev) - self.window.get_widget("input-dev-mode").set_text(mode) + self.widget("input-dev-type").set_text(dev) + self.widget("input-dev-mode").set_text(mode) # Can't remove primary Xen or PS/2 mice if inp.type == "mouse" and inp.bus in ("xen", "ps2"): - self.window.get_widget("config-remove").set_sensitive(False) + self.widget("config-remove").set_sensitive(False) else: - self.window.get_widget("config-remove").set_sensitive(True) + self.widget("config-remove").set_sensitive(True) def refresh_graphics_page(self): gfx = self.get_hw_selection(HW_LIST_COL_DEVICE) if not gfx: return - title = self.window.get_widget("graphics-title") - table = self.window.get_widget("graphics-table") + title = self.widget("graphics-title") + table = self.widget("graphics-table") table.foreach(lambda w, ignore: w.hide(), ()) def set_title(text): @@ -2546,12 +2533,12 @@ class vmmDetails(vmmGObjectUI): def show_row(widget_name, suffix=""): base = "gfx-%s" % widget_name - self.window.get_widget(base + "-title").show() - self.window.get_widget(base + suffix).show() + self.widget(base + "-title").show() + self.widget(base + suffix).show() def show_text(widget_name, text): show_row(widget_name) - self.window.get_widget("gfx-" + widget_name).set_text(text) + self.widget("gfx-" + widget_name).set_text(text) def port_to_string(port): if port is None: @@ -2636,9 +2623,9 @@ class vmmDetails(vmmGObjectUI): if not val and doshow: val = getattr(chardev, param) - self.window.get_widget(widgetname).set_property("visible", doshow) - self.window.get_widget(labelname).set_property("visible", doshow) - self.window.get_widget(widgetname).set_text(val or "-") + self.widget(widgetname).set_property("visible", doshow) + self.widget(labelname).set_property("visible", doshow) + self.widget(widgetname).set_text(val or "-") def build_host_str(base): if (not chardev.supports_property(base + "_host") or @@ -2676,8 +2663,8 @@ class vmmDetails(vmmGObjectUI): typelabel += " (%s)" % _("Primary Console") typelabel = "%s" % typelabel - self.window.get_widget("char-type").set_markup(typelabel) - self.window.get_widget("char-dev-type").set_text(dev_type) + self.widget("char-type").set_markup(typelabel) + self.widget("char-dev-type").set_text(dev_type) # Device type specific properties, only show if apply to the cur dev show_ui("source_host", build_host_str("source")) @@ -2701,8 +2688,8 @@ class vmmDetails(vmmGObjectUI): pretty_name = build_hostdev_label(hostdev)[0] or "-" devlabel = "Physical %s Device" % devtype.upper() - self.window.get_widget("hostdev-title").set_markup(devlabel) - self.window.get_widget("hostdev-source").set_text(pretty_name) + self.widget("hostdev-title").set_markup(devlabel) + self.widget("hostdev-source").set_text(pretty_name) def refresh_video_page(self): vid = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2717,8 +2704,8 @@ class vmmDetails(vmmGObjectUI): except: ramlabel = "-" - self.window.get_widget("video-ram").set_text(ramlabel) - self.window.get_widget("video-heads").set_text(heads and heads or "-") + self.widget("video-ram").set_text(ramlabel) + self.widget("video-heads").set_text(heads and heads or "-") self.set_combo_label("video-model", model) @@ -2739,17 +2726,17 @@ class vmmDetails(vmmGObjectUI): return type_label = virtinst.VirtualController.pretty_type(dev.type) - self.window.get_widget("controller-type").set_text(type_label) + self.widget("controller-type").set_text(type_label) def refresh_filesystem_page(self): dev = self.get_hw_selection(HW_LIST_COL_DEVICE) if not dev: return - self.window.get_widget("fs-type").set_text(dev.type) - self.window.get_widget("fs-mode").set_text(dev.mode) - self.window.get_widget("fs-source").set_text(dev.source) - self.window.get_widget("fs-target").set_text(dev.target) + self.widget("fs-type").set_text(dev.type) + self.widget("fs-mode").set_text(dev.mode) + self.widget("fs-source").set_text(dev.source) + self.widget("fs-target").set_text(dev.target) def refresh_boot_page(self): # Refresh autostart @@ -2760,7 +2747,7 @@ class vmmDetails(vmmGObjectUI): autoval = None # Autostart - autostart_chk = self.window.get_widget("config-autostart") + autostart_chk = self.widget("config-autostart") enable_autostart = (autoval is not None) autostart_chk.set_sensitive(enable_autostart) autostart_chk.set_active(enable_autostart and autoval or False) @@ -2769,29 +2756,26 @@ class vmmDetails(vmmGObjectUI): show_init = self.vm.is_container() show_boot = (not self.vm.is_container() and not self.vm.is_xenpv()) - self.window.get_widget("boot-order-align").set_property("visible", - show_boot) - self.window.get_widget("boot-kernel-align").set_property("visible", - show_kernel) - self.window.get_widget("boot-init-align").set_property("visible", - show_init) + self.widget("boot-order-align").set_property("visible", show_boot) + self.widget("boot-kernel-align").set_property("visible", show_kernel) + self.widget("boot-init-align").set_property("visible", show_init) # Kernel/initrd boot kernel, initrd, args = self.vm.get_boot_kernel_info() expand = bool(kernel or initrd or args) - self.window.get_widget("boot-kernel").set_text(kernel or "") - self.window.get_widget("boot-kernel-initrd").set_text(initrd or "") - self.window.get_widget("boot-kernel-args").set_text(args or "") + self.widget("boot-kernel").set_text(kernel or "") + self.widget("boot-kernel-initrd").set_text(initrd or "") + self.widget("boot-kernel-args").set_text(args or "") if expand: - self.window.get_widget("boot-kernel-expander").set_expanded(True) + self.widget("boot-kernel-expander").set_expanded(True) # populate init = self.vm.get_init() - self.window.get_widget("boot-init-path").set_text(init or "") + self.widget("boot-init-path").set_text(init or "") # Boot menu populate menu = self.vm.get_boot_menu() or False - self.window.get_widget("boot-menu").set_active(menu) + self.widget("boot-menu").set_active(menu) self.repopulate_boot_list() @@ -2800,7 +2784,7 @@ class vmmDetails(vmmGObjectUI): ############################ def populate_disk_bus_combo(self, devtype, no_default): - buslist = self.window.get_widget("disk-bus-combo") + buslist = self.widget("disk-bus-combo") busmodel = buslist.get_model() busmodel.clear() @@ -2826,7 +2810,7 @@ class vmmDetails(vmmGObjectUI): busmodel.append([None, "default"]) def populate_hw_list(self): - hw_list_model = self.window.get_widget("hw-list").get_model() + hw_list_model = self.widget("hw-list").get_model() hw_list_model.clear() def add_hw_list_option(title, page_id, data, icon_name): @@ -2845,7 +2829,7 @@ class vmmDetails(vmmGObjectUI): self.repopulate_hw_list() def repopulate_hw_list(self): - hw_list = self.window.get_widget("hw-list") + hw_list = self.widget("hw-list") hw_list_model = hw_list.get_model() currentDevices = [] @@ -3004,7 +2988,7 @@ class vmmDetails(vmmGObjectUI): hw_list_model.remove(_iter) def repopulate_boot_list(self, bootdevs=None, dev_select=None): - boot_list = self.window.get_widget("config-boot-list") + boot_list = self.widget("config-boot-list") boot_model = boot_list.get_model() old_order = map(lambda x: x[BOOT_DEV_TYPE], boot_model) boot_model.clear() diff --git a/src/virtManager/host.py b/src/virtManager/host.py index f7739977b..2edbc6160 100644 --- a/src/virtManager/host.py +++ b/src/virtManager/host.py @@ -62,9 +62,12 @@ class vmmHost(vmmGObjectUI): self.init_conn_state() # Set up signals - self.window.get_widget("net-list").get_selection().connect("changed", self.net_selected) - self.window.get_widget("vol-list").get_selection().connect("changed", self.vol_selected) - self.window.get_widget("interface-list").get_selection().connect("changed", self.interface_selected) + self.widget("net-list").get_selection().connect("changed", + self.net_selected) + self.widget("vol-list").get_selection().connect("changed", + self.vol_selected) + self.widget("interface-list").get_selection().connect("changed", + self.interface_selected) self.init_net_state() @@ -126,24 +129,24 @@ class vmmHost(vmmGObjectUI): }) # XXX: Help docs useless/out of date - self.window.get_widget("help_menuitem").hide() + self.widget("help_menuitem").hide() finish_img = gtk.image_new_from_stock(gtk.STOCK_DELETE, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("vol-delete").set_image(finish_img) + self.widget("vol-delete").set_image(finish_img) finish_img = gtk.image_new_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("vol-add").set_image(finish_img) + self.widget("vol-add").set_image(finish_img) self.conn.connect("resources-sampled", self.refresh_resources) self.reset_state() def init_net_state(self): - self.window.get_widget("network-pages").set_show_tabs(False) + self.widget("network-pages").set_show_tabs(False) # [ unique, label, icon name, icon size, is_active ] netListModel = gtk.ListStore(str, str, str, int, bool) - self.window.get_widget("net-list").set_model(netListModel) + self.widget("net-list").set_model(netListModel) netCol = gtk.TreeViewColumn("Networks") netCol.set_spacing(6) @@ -155,13 +158,13 @@ class vmmHost(vmmGObjectUI): netCol.add_attribute(net_txt, 'sensitive', 4) netCol.add_attribute(net_img, 'icon-name', 2) netCol.add_attribute(net_img, 'stock-size', 3) - self.window.get_widget("net-list").append_column(netCol) + self.widget("net-list").append_column(netCol) netListModel.set_sort_column_id(1, gtk.SORT_ASCENDING) self.populate_networks(netListModel) def init_storage_state(self): - self.window.get_widget("storage-pages").set_show_tabs(False) + self.widget("storage-pages").set_show_tabs(False) self.volmenu = gtk.Menu() volCopyPath = gtk.ImageMenuItem(_("Copy Volume Path")) @@ -173,49 +176,49 @@ class vmmHost(vmmGObjectUI): self.volmenu.add(volCopyPath) volListModel = gtk.ListStore(str, str, str, str, str) - self.window.get_widget("vol-list").set_model(volListModel) + self.widget("vol-list").set_model(volListModel) volCol = gtk.TreeViewColumn("Volumes") vol_txt1 = gtk.CellRendererText() volCol.pack_start(vol_txt1, True) volCol.add_attribute(vol_txt1, 'text', 1) volCol.set_sort_column_id(1) - self.window.get_widget("vol-list").append_column(volCol) + self.widget("vol-list").append_column(volCol) volSizeCol = gtk.TreeViewColumn("Size") vol_txt2 = gtk.CellRendererText() volSizeCol.pack_start(vol_txt2, False) volSizeCol.add_attribute(vol_txt2, 'text', 2) volSizeCol.set_sort_column_id(2) - self.window.get_widget("vol-list").append_column(volSizeCol) + self.widget("vol-list").append_column(volSizeCol) volFormatCol = gtk.TreeViewColumn("Format") vol_txt3 = gtk.CellRendererText() volFormatCol.pack_start(vol_txt3, False) volFormatCol.add_attribute(vol_txt3, 'text', 3) volFormatCol.set_sort_column_id(3) - self.window.get_widget("vol-list").append_column(volFormatCol) + self.widget("vol-list").append_column(volFormatCol) volUseCol = gtk.TreeViewColumn("Used By") vol_txt4 = gtk.CellRendererText() volUseCol.pack_start(vol_txt4, False) volUseCol.add_attribute(vol_txt4, 'text', 4) volUseCol.set_sort_column_id(4) - self.window.get_widget("vol-list").append_column(volUseCol) + self.widget("vol-list").append_column(volUseCol) volListModel.set_sort_column_id(1, gtk.SORT_ASCENDING) - init_pool_list(self.window.get_widget("pool-list"), + init_pool_list(self.widget("pool-list"), self.pool_selected) - populate_storage_pools(self.window.get_widget("pool-list"), + populate_storage_pools(self.widget("pool-list"), self.conn) def init_interface_state(self): - self.window.get_widget("interface-pages").set_show_tabs(False) + self.widget("interface-pages").set_show_tabs(False) # [ unique, label, icon name, icon size, is_active ] interfaceListModel = gtk.ListStore(str, str, str, int, bool) - self.window.get_widget("interface-list").set_model(interfaceListModel) + self.widget("interface-list").set_model(interfaceListModel) interfaceCol = gtk.TreeViewColumn("Interfaces") interfaceCol.set_spacing(6) @@ -227,16 +230,15 @@ class vmmHost(vmmGObjectUI): interfaceCol.add_attribute(interface_txt, 'sensitive', 4) interfaceCol.add_attribute(interface_img, 'icon-name', 2) interfaceCol.add_attribute(interface_img, 'stock-size', 3) - self.window.get_widget("interface-list").append_column(interfaceCol) + self.widget("interface-list").append_column(interfaceCol) interfaceListModel.set_sort_column_id(1, gtk.SORT_ASCENDING) # Starmode combo - uihelpers.build_startmode_combo( - self.window.get_widget("interface-startmode")) + uihelpers.build_startmode_combo(self.widget("interface-startmode")) # [ name, type ] childListModel = gtk.ListStore(str, str) - childList = self.window.get_widget("interface-child-list") + childList = self.widget("interface-child-list") childList.set_model(childListModel) childNameCol = gtk.TreeViewColumn("Name") @@ -265,22 +267,22 @@ class vmmHost(vmmGObjectUI): arch = self.conn.host_architecture() auto = self.conn.get_autoconnect() - self.window.get_widget("overview-uri").set_text(uri) - self.window.get_widget("overview-hostname").set_text(host) - self.window.get_widget("overview-hypervisor").set_text(drv) - self.window.get_widget("overview-memory").set_text(memory) - self.window.get_widget("overview-cpus").set_text(str(proc)) - self.window.get_widget("overview-arch").set_text(arch) - self.window.get_widget("config-autoconnect").set_active(auto) + self.widget("overview-uri").set_text(uri) + self.widget("overview-hostname").set_text(host) + self.widget("overview-hypervisor").set_text(drv) + self.widget("overview-memory").set_text(memory) + self.widget("overview-cpus").set_text(str(proc)) + self.widget("overview-arch").set_text(arch) + self.widget("config-autoconnect").set_active(auto) self.cpu_usage_graph = Sparkline() self.cpu_usage_graph.show() - self.window.get_widget("performance-table").attach(self.cpu_usage_graph, 1, 2, 0, 1) + self.widget("performance-table").attach(self.cpu_usage_graph, 1, 2, 0, 1) self.memory_usage_graph = Sparkline() self.memory_usage_graph.show() - self.window.get_widget("performance-table").attach(self.memory_usage_graph, - 1, 2, 1, 2) + self.widget("performance-table").attach(self.memory_usage_graph, + 1, 2, 1, 2) def show(self): @@ -356,7 +358,7 @@ class vmmHost(vmmGObjectUI): # Update autostart value auto = self.conn.get_autoconnect() - self.window.get_widget("config-autoconnect").set_active(auto) + self.widget("config-autoconnect").set_active(auto) def refresh_resources(self, ignore=None): vm_memory = self.conn.pretty_stats_memory() @@ -367,9 +369,9 @@ class vmmHost(vmmGObjectUI): cpu_vector.reverse() memory_vector.reverse() - self.window.get_widget("performance-cpu").set_text("%d %%" % + self.widget("performance-cpu").set_text("%d %%" % self.conn.host_cpu_time_percentage()) - self.window.get_widget("performance-memory").set_text( + self.widget("performance-memory").set_text( _("%(currentmem)s of %(maxmem)s") % {'currentmem': vm_memory, 'maxmem': host_memory}) @@ -378,9 +380,9 @@ class vmmHost(vmmGObjectUI): def conn_state_changed(self, ignore1=None): state = (self.conn.get_state() == vmmConnection.STATE_ACTIVE) - self.window.get_widget("menu_file_restore_saved").set_sensitive(state) - self.window.get_widget("net-add").set_sensitive(state) - self.window.get_widget("pool-add").set_sensitive(state) + self.widget("menu_file_restore_saved").set_sensitive(state) + self.widget("net-add").set_sensitive(state) + self.widget("pool-add").set_sensitive(state) # Set error pages if not state: @@ -458,22 +460,22 @@ class vmmHost(vmmGObjectUI): logging.debug("Applying changes for network '%s'" % net.get_name()) try: - auto = self.window.get_widget("net-autostart").get_active() + auto = self.widget("net-autostart").get_active() net.set_autostart(auto) except Exception, e: self.err.show_err(_("Error setting net autostart: %s") % str(e)) return - self.window.get_widget("net-apply").set_sensitive(False) + self.widget("net-apply").set_sensitive(False) def net_autostart_changed(self, src_ignore): - auto = self.window.get_widget("net-autostart").get_active() - self.window.get_widget("net-autostart").set_label(auto and - _("On Boot") or - _("Never")) - self.window.get_widget("net-apply").set_sensitive(True) + auto = self.widget("net-autostart").get_active() + self.widget("net-autostart").set_label(auto and + _("On Boot") or + _("Never")) + self.widget("net-apply").set_sensitive(True) def current_network(self): - sel = self.window.get_widget("net-list").get_selection() + sel = self.widget("net-list").get_selection() active = sel.get_selected() if active[1] != None: curruuid = active[0].get_value(active[1], 0) @@ -481,7 +483,7 @@ class vmmHost(vmmGObjectUI): return None def refresh_network(self, src_ignore, uri_ignore, uuid): - uilist = self.window.get_widget("net-list") + uilist = self.widget("net-list") sel = uilist.get_selection() active = sel.get_selected() @@ -496,8 +498,8 @@ class vmmHost(vmmGObjectUI): def set_net_error_page(self, msg): self.reset_net_state() - self.window.get_widget("network-pages").set_current_page(1) - self.window.get_widget("network-error-label").set_text(msg) + self.widget("network-pages").set_current_page(1) + self.widget("network-error-label").set_text(msg) def net_selected(self, src): selected = src.get_selected() @@ -506,7 +508,7 @@ class vmmHost(vmmGObjectUI): self.set_net_error_page(_("No virtual network selected.")) return - self.window.get_widget("network-pages").set_current_page(0) + self.widget("network-pages").set_current_page(0) net = self.conn.get_net(selected[0].get_value(selected[1], 0)) try: @@ -515,79 +517,80 @@ class vmmHost(vmmGObjectUI): logging.exception(e) self.set_net_error_page(_("Error selecting network: %s") % e) - self.window.get_widget("net-apply").set_sensitive(False) + self.widget("net-apply").set_sensitive(False) def populate_net_state(self, net): active = net.is_active() - self.window.get_widget("net-details").set_sensitive(True) - self.window.get_widget("net-name").set_text(net.get_name()) + self.widget("net-details").set_sensitive(True) + self.widget("net-name").set_text(net.get_name()) dev = active and net.get_bridge_device() or "" state = active and _("Active") or _("Inactive") icon = (active and self.ICON_RUNNING or self.ICON_SHUTOFF) - self.window.get_widget("net-device").set_text(dev) - self.window.get_widget("net-device").set_sensitive(active) - self.window.get_widget("net-state").set_text(state) - self.window.get_widget("net-state-icon").set_from_icon_name( - icon, gtk.ICON_SIZE_MENU) + self.widget("net-device").set_text(dev) + self.widget("net-device").set_sensitive(active) + self.widget("net-state").set_text(state) + self.widget("net-state-icon").set_from_icon_name(icon, + gtk.ICON_SIZE_MENU) - self.window.get_widget("net-start").set_sensitive(not active) - self.window.get_widget("net-stop").set_sensitive(active) - self.window.get_widget("net-delete").set_sensitive(not active) + self.widget("net-start").set_sensitive(not active) + self.widget("net-stop").set_sensitive(active) + self.widget("net-delete").set_sensitive(not active) autostart = net.get_autostart() autolabel = autostart and _("On Boot") or _("Never") - self.window.get_widget("net-autostart").set_active(autostart) - self.window.get_widget("net-autostart").set_label(autolabel) + self.widget("net-autostart").set_active(autostart) + self.widget("net-autostart").set_label(autolabel) network = net.get_ipv4_network() - self.window.get_widget("net-ip4-network").set_text(str(network)) + self.widget("net-ip4-network").set_text(str(network)) dhcp = net.get_ipv4_dhcp_range() start = dhcp and str(dhcp[0]) or _("Disabled") end = dhcp and str(dhcp[1]) or _("Disabled") - self.window.get_widget("net-ip4-dhcp-start").set_text(start) - self.window.get_widget("net-ip4-dhcp-end").set_text(end) + self.widget("net-ip4-dhcp-start").set_text(start) + self.widget("net-ip4-dhcp-end").set_text(end) forward, ignore = net.get_ipv4_forward() iconsize = gtk.ICON_SIZE_MENU icon = forward and gtk.STOCK_CONNECT or gtk.STOCK_DISCONNECT - self.window.get_widget("net-ip4-forwarding-icon").set_from_stock( - icon, iconsize) + self.widget("net-ip4-forwarding-icon").set_from_stock(icon, iconsize) forward_str = net.pretty_forward_mode() - self.window.get_widget("net-ip4-forwarding").set_text(forward_str) + self.widget("net-ip4-forwarding").set_text(forward_str) def reset_net_state(self): - self.window.get_widget("net-details").set_sensitive(False) - self.window.get_widget("net-name").set_text("") - self.window.get_widget("net-device").set_text("") - self.window.get_widget("net-device").set_sensitive(False) - self.window.get_widget("net-state").set_text(_("Inactive")) - self.window.get_widget("net-state-icon").set_from_icon_name( - self.ICON_SHUTOFF, gtk.ICON_SIZE_MENU) - self.window.get_widget("net-start").set_sensitive(False) - self.window.get_widget("net-stop").set_sensitive(False) - self.window.get_widget("net-delete").set_sensitive(False) - self.window.get_widget("net-autostart").set_label(_("Never")) - self.window.get_widget("net-autostart").set_active(False) - self.window.get_widget("net-ip4-network").set_text("") - self.window.get_widget("net-ip4-dhcp-start").set_text("") - self.window.get_widget("net-ip4-dhcp-end").set_text("") - self.window.get_widget("net-ip4-forwarding-icon").set_from_stock(gtk.STOCK_DISCONNECT, gtk.ICON_SIZE_MENU) - self.window.get_widget("net-ip4-forwarding").set_text(_("Isolated virtual network")) - self.window.get_widget("net-apply").set_sensitive(False) + self.widget("net-details").set_sensitive(False) + self.widget("net-name").set_text("") + self.widget("net-device").set_text("") + self.widget("net-device").set_sensitive(False) + self.widget("net-state").set_text(_("Inactive")) + self.widget("net-state-icon").set_from_icon_name(self.ICON_SHUTOFF, + gtk.ICON_SIZE_MENU) + self.widget("net-start").set_sensitive(False) + self.widget("net-stop").set_sensitive(False) + self.widget("net-delete").set_sensitive(False) + self.widget("net-autostart").set_label(_("Never")) + self.widget("net-autostart").set_active(False) + self.widget("net-ip4-network").set_text("") + self.widget("net-ip4-dhcp-start").set_text("") + self.widget("net-ip4-dhcp-end").set_text("") + self.widget("net-ip4-forwarding-icon").set_from_stock( + gtk.STOCK_DISCONNECT, gtk.ICON_SIZE_MENU) + self.widget("net-ip4-forwarding").set_text( + _("Isolated virtual network")) + self.widget("net-apply").set_sensitive(False) def repopulate_networks(self, src_ignore, uri_ignore, uuid_ignore): - self.populate_networks(self.window.get_widget("net-list").get_model()) + self.populate_networks(self.widget("net-list").get_model()) def populate_networks(self, model): - net_list = self.window.get_widget("net-list") + net_list = self.widget("net-list") model.clear() for uuid in self.conn.list_net_uuids(): net = self.conn.get_net(uuid) @@ -704,7 +707,7 @@ class vmmHost(vmmGObjectUI): self.refresh_storage_pool(None, None, cp.get_uuid()) def current_pool(self): - sel = self.window.get_widget("pool-list").get_selection() + sel = self.widget("pool-list").get_selection() active = sel.get_selected() if active[1] != None: curruuid = active[0].get_value(active[1], 0) @@ -715,7 +718,7 @@ class vmmHost(vmmGObjectUI): pool = self.current_pool() if not pool: return None - sel = self.window.get_widget("vol-list").get_selection() + sel = self.widget("vol-list").get_selection() active = sel.get_selected() if active[1] != None: curruuid = active[0].get_value(active[1], 0) @@ -729,24 +732,24 @@ class vmmHost(vmmGObjectUI): logging.debug("Applying changes for pool '%s'" % pool.get_name()) try: - do_auto = self.window.get_widget("pool-autostart").get_active() + do_auto = self.widget("pool-autostart").get_active() pool.set_autostart(do_auto) except Exception, e: self.err.show_err(_("Error setting pool autostart: %s") % str(e)) return - self.window.get_widget("pool-apply").set_sensitive(False) + self.widget("pool-apply").set_sensitive(False) def pool_autostart_changed(self, src_ignore): - auto = self.window.get_widget("pool-autostart").get_active() - self.window.get_widget("pool-autostart").set_label(auto and - _("On Boot") or - _("Never")) - self.window.get_widget("pool-apply").set_sensitive(True) + auto = self.widget("pool-autostart").get_active() + self.widget("pool-autostart").set_label(auto and + _("On Boot") or + _("Never")) + self.widget("pool-apply").set_sensitive(True) def set_storage_error_page(self, msg): self.reset_pool_state() - self.window.get_widget("storage-pages").set_current_page(1) - self.window.get_widget("storage-error-label").set_text(msg) + self.widget("storage-pages").set_current_page(1) + self.widget("storage-error-label").set_text(msg) def pool_selected(self, src): selected = src.get_selected() @@ -755,7 +758,7 @@ class vmmHost(vmmGObjectUI): self.set_storage_error_page(_("No storage pool selected.")) return - self.window.get_widget("storage-pages").set_current_page(0) + self.widget("storage-pages").set_current_page(0) uuid = selected[0].get_value(selected[1], 0) try: @@ -764,7 +767,7 @@ class vmmHost(vmmGObjectUI): logging.exception(e) self.set_storage_error_page(_("Error selecting pool: %s") % e) - self.window.get_widget("pool-apply").set_sensitive(False) + self.widget("pool-apply").set_sensitive(False) def populate_pool_state(self, uuid): pool = self.conn.get_pool(uuid) @@ -772,74 +775,73 @@ class vmmHost(vmmGObjectUI): active = pool.is_active() # Set pool details state - self.window.get_widget("pool-details").set_sensitive(True) - self.window.get_widget("pool-name").set_markup("%s:" % - pool.get_name()) - self.window.get_widget("pool-sizes").set_markup( + self.widget("pool-details").set_sensitive(True) + self.widget("pool-name").set_markup("%s:" % + pool.get_name()) + self.widget("pool-sizes").set_markup( """%s Free / %s In Use""" % (pool.get_pretty_available(), pool.get_pretty_allocation())) - self.window.get_widget("pool-type").set_text( + self.widget("pool-type").set_text( Storage.StoragePool.get_pool_type_desc(pool.get_type())) - self.window.get_widget("pool-location").set_text( + self.widget("pool-location").set_text( pool.get_target_path()) - self.window.get_widget("pool-state-icon").set_from_icon_name( + self.widget("pool-state-icon").set_from_icon_name( ((active and self.ICON_RUNNING) or self.ICON_SHUTOFF), gtk.ICON_SIZE_MENU) - self.window.get_widget("pool-state").set_text( + self.widget("pool-state").set_text( (active and _("Active")) or _("Inactive")) - self.window.get_widget("pool-autostart").set_label( + self.widget("pool-autostart").set_label( (auto and _("On Boot")) or _("Never")) - self.window.get_widget("pool-autostart").set_active(auto) + self.widget("pool-autostart").set_active(auto) - self.window.get_widget("vol-list").set_sensitive(active) + self.widget("vol-list").set_sensitive(active) self.populate_storage_volumes() - self.window.get_widget("pool-delete").set_sensitive(not active) - self.window.get_widget("pool-stop").set_sensitive(active) - self.window.get_widget("pool-start").set_sensitive(not active) - self.window.get_widget("vol-add").set_sensitive(active) - self.window.get_widget("vol-delete").set_sensitive(False) + self.widget("pool-delete").set_sensitive(not active) + self.widget("pool-stop").set_sensitive(active) + self.widget("pool-start").set_sensitive(not active) + self.widget("vol-add").set_sensitive(active) + self.widget("vol-delete").set_sensitive(False) def refresh_storage_pool(self, src_ignore, uri_ignore, uuid): - refresh_pool_in_list(self.window.get_widget("pool-list"), - self.conn, uuid) + refresh_pool_in_list(self.widget("pool-list"), self.conn, uuid) curpool = self.current_pool() if curpool.uuid != uuid: return # Currently selected pool changed state: force a 'pool_selected' to # update vol list - self.pool_selected(self.window.get_widget("pool-list").get_selection()) + self.pool_selected(self.widget("pool-list").get_selection()) def reset_pool_state(self): - self.window.get_widget("pool-details").set_sensitive(False) - self.window.get_widget("pool-name").set_text("") - self.window.get_widget("pool-sizes").set_markup(""" """) - self.window.get_widget("pool-type").set_text("") - self.window.get_widget("pool-location").set_text("") - self.window.get_widget("pool-state-icon").set_from_icon_name( - self.ICON_SHUTOFF, gtk.ICON_SIZE_MENU) - self.window.get_widget("pool-state").set_text(_("Inactive")) - self.window.get_widget("vol-list").get_model().clear() - self.window.get_widget("pool-autostart").set_label(_("Never")) - self.window.get_widget("pool-autostart").set_active(False) + self.widget("pool-details").set_sensitive(False) + self.widget("pool-name").set_text("") + self.widget("pool-sizes").set_markup(""" """) + self.widget("pool-type").set_text("") + self.widget("pool-location").set_text("") + self.widget("pool-state-icon").set_from_icon_name(self.ICON_SHUTOFF, + gtk.ICON_SIZE_MENU) + self.widget("pool-state").set_text(_("Inactive")) + self.widget("vol-list").get_model().clear() + self.widget("pool-autostart").set_label(_("Never")) + self.widget("pool-autostart").set_active(False) - self.window.get_widget("pool-delete").set_sensitive(False) - self.window.get_widget("pool-stop").set_sensitive(False) - self.window.get_widget("pool-start").set_sensitive(False) - self.window.get_widget("pool-apply").set_sensitive(False) - self.window.get_widget("vol-add").set_sensitive(False) - self.window.get_widget("vol-delete").set_sensitive(False) - self.window.get_widget("vol-list").set_sensitive(False) + self.widget("pool-delete").set_sensitive(False) + self.widget("pool-stop").set_sensitive(False) + self.widget("pool-start").set_sensitive(False) + self.widget("pool-apply").set_sensitive(False) + self.widget("vol-add").set_sensitive(False) + self.widget("vol-delete").set_sensitive(False) + self.widget("vol-list").set_sensitive(False) def vol_selected(self, src): selected = src.get_selected() if selected[1] is None or \ selected[0].get_value(selected[1], 0) is None: - self.window.get_widget("vol-delete").set_sensitive(False) + self.widget("vol-delete").set_sensitive(False) return - self.window.get_widget("vol-delete").set_sensitive(True) + self.widget("vol-delete").set_sensitive(True) def popup_vol_menu(self, widget_ignore, event): if event.button != 3: @@ -858,12 +860,12 @@ class vmmHost(vmmGObjectUI): def repopulate_storage_pools(self, src_ignore, uri_ignore, uuid_ignore): - pool_list = self.window.get_widget("pool-list") + pool_list = self.widget("pool-list") populate_storage_pools(pool_list, self.conn) def populate_storage_volumes(self): pool = self.current_pool() - model = self.window.get_widget("vol-list").get_model() + model = self.widget("vol-list").get_model() model.clear() vols = pool.get_volumes() for key in vols.keys(): @@ -951,7 +953,7 @@ class vmmHost(vmmGObjectUI): self.refresh_interface(None, None, cp.get_name()) def current_interface(self): - sel = self.window.get_widget("interface-list").get_selection() + sel = self.widget("interface-list").get_selection() active = sel.get_selected() if active[1] != None: currname = active[0].get_value(active[1], 0) @@ -964,7 +966,7 @@ class vmmHost(vmmGObjectUI): if interface is None: return - start_list = self.window.get_widget("interface-startmode") + start_list = self.widget("interface-startmode") model = start_list.get_model() newmode = model[start_list.get_active()][0] @@ -978,16 +980,15 @@ class vmmHost(vmmGObjectUI): return # XXX: This will require an interface restart - self.window.get_widget("interface-apply").set_sensitive(False) + self.widget("interface-apply").set_sensitive(False) def interface_startmode_changed(self, src_ignore): - self.window.get_widget("interface-apply").set_sensitive(True) + self.widget("interface-apply").set_sensitive(True) def set_interface_error_page(self, msg): self.reset_interface_state() - self.window.get_widget("interface-pages").set_current_page( - INTERFACE_PAGE_ERROR) - self.window.get_widget("interface-error-label").set_text(msg) + self.widget("interface-pages").set_current_page(INTERFACE_PAGE_ERROR) + self.widget("interface-error-label").set_text(msg) def interface_selected(self, src): selected = src.get_selected() @@ -996,8 +997,7 @@ class vmmHost(vmmGObjectUI): self.set_interface_error_page(_("No interface selected.")) return - self.window.get_widget("interface-pages").set_current_page( - INTERFACE_PAGE_INFO) + self.widget("interface-pages").set_current_page(INTERFACE_PAGE_INFO) name = selected[0].get_value(selected[1], 0) try: @@ -1007,7 +1007,7 @@ class vmmHost(vmmGObjectUI): self.set_interface_error_page(_("Error selecting interface: %s") % e) - self.window.get_widget("interface-apply").set_sensitive(False) + self.widget("interface-apply").set_sensitive(False) def populate_interface_state(self, name): interface = self.conn.get_interface(name) @@ -1019,22 +1019,22 @@ class vmmHost(vmmGObjectUI): ipv4 = interface.get_ipv4() ipv6 = interface.get_ipv6() - self.window.get_widget("interface-details").set_sensitive(True) - self.window.get_widget("interface-name").set_markup( + self.widget("interface-details").set_sensitive(True) + self.widget("interface-name").set_markup( "%s %s:" % (interface.get_pretty_type(), interface.get_name())) - self.window.get_widget("interface-mac").set_text(mac or _("Unknown")) + self.widget("interface-mac").set_text(mac or _("Unknown")) - self.window.get_widget("interface-state-icon").set_from_icon_name( + self.widget("interface-state-icon").set_from_icon_name( ((active and self.ICON_RUNNING) or self.ICON_SHUTOFF), gtk.ICON_SIZE_MENU) - self.window.get_widget("interface-state").set_text( + self.widget("interface-state").set_text( (active and _("Active")) or _("Inactive")) # Set start mode - start_list = self.window.get_widget("interface-startmode") + start_list = self.widget("interface-startmode") start_model = start_list.get_model() - start_label = self.window.get_widget("interface-startmode-label") + start_label = self.widget("interface-startmode-label") start_list.hide() start_label.show() start_label.set_text(startmode) @@ -1049,19 +1049,19 @@ class vmmHost(vmmGObjectUI): idx += 1 used_by = util.iface_in_use_by(self.conn, name) - self.window.get_widget("interface-inuseby").set_text(used_by or "-") + self.widget("interface-inuseby").set_text(used_by or "-") # IP info - self.window.get_widget("interface-ipv4-expander").set_property( - "visible", bool(ipv4)) - self.window.get_widget("interface-ipv6-expander").set_property( - "visible", bool(ipv6)) + self.widget("interface-ipv4-expander").set_property("visible", + bool(ipv4)) + self.widget("interface-ipv6-expander").set_property("visible", + bool(ipv6)) if ipv4: mode = ipv4[0] and "DHCP" or "Static" addr = ipv4[1] or "-" - self.window.get_widget("interface-ipv4-mode").set_text(mode) - self.window.get_widget("interface-ipv4-address").set_text(addr) + self.widget("interface-ipv4-mode").set_text(mode) + self.widget("interface-ipv4-address").set_text(addr) if ipv6: mode = "" @@ -1077,22 +1077,21 @@ class vmmHost(vmmGObjectUI): if ipv6[2]: addrstr = reduce(lambda x, y: x + "\n" + y, ipv6[2]) - self.window.get_widget("interface-ipv6-mode").set_text(mode) - self.window.get_widget("interface-ipv6-address").set_text(addrstr) + self.widget("interface-ipv6-mode").set_text(mode) + self.widget("interface-ipv6-address").set_text(addrstr) - self.window.get_widget("interface-delete").set_sensitive(not active) - self.window.get_widget("interface-stop").set_sensitive(active) - self.window.get_widget("interface-start").set_sensitive(not active) + self.widget("interface-delete").set_sensitive(not active) + self.widget("interface-stop").set_sensitive(active) + self.widget("interface-start").set_sensitive(not active) show_child = (children or itype in [Interface.Interface.INTERFACE_TYPE_BRIDGE, Interface.Interface.INTERFACE_TYPE_BOND]) - self.window.get_widget("interface-child-box").set_property("visible", - show_child) + self.widget("interface-child-box").set_property("visible", show_child) self.populate_interface_children() def refresh_interface(self, src_ignore, uri_ignore, name): - iface_list = self.window.get_widget("interface-list") + iface_list = self.widget("interface-list") sel = iface_list.get_selection() active = sel.get_selected() @@ -1108,18 +1107,18 @@ class vmmHost(vmmGObjectUI): def reset_interface_state(self): if not self.conn.interface_capable: - self.window.get_widget("interface-add").set_sensitive(False) - self.window.get_widget("interface-delete").set_sensitive(False) - self.window.get_widget("interface-stop").set_sensitive(False) - self.window.get_widget("interface-start").set_sensitive(False) - self.window.get_widget("interface-apply").set_sensitive(False) + self.widget("interface-add").set_sensitive(False) + self.widget("interface-delete").set_sensitive(False) + self.widget("interface-stop").set_sensitive(False) + self.widget("interface-start").set_sensitive(False) + self.widget("interface-apply").set_sensitive(False) def repopulate_interfaces(self, src_ignore, uri_ignore, name_ignore): - interface_list = self.window.get_widget("interface-list") + interface_list = self.widget("interface-list") self.populate_interfaces(interface_list.get_model()) def populate_interfaces(self, model): - iface_list = self.window.get_widget("interface-list") + iface_list = self.widget("interface-list") model.clear() for name in self.conn.list_interface_names(): iface = self.conn.get_interface(name) @@ -1134,7 +1133,7 @@ class vmmHost(vmmGObjectUI): def populate_interface_children(self): interface = self.current_interface() - child_list = self.window.get_widget("interface-child-list") + child_list = self.widget("interface-child-list") model = child_list.get_model() model.clear() diff --git a/src/virtManager/manager.py b/src/virtManager/manager.py index 6ca0e21e6..fe62894a3 100644 --- a/src/virtManager/manager.py +++ b/src/virtManager/manager.py @@ -137,11 +137,11 @@ class vmmManager(vmmGObjectUI): self.init_context_menus() # XXX: Help docs useless/out of date - self.window.get_widget("menu_help").hide() + self.widget("menu_help").hide() self.vm_selected() - self.window.get_widget("vm-list").get_selection().connect("changed", - self.vm_selected) + self.widget("vm-list").get_selection().connect("changed", + self.vm_selected) # Initialize stat polling columns based on global polling # preferences (we want signal handlers for this) @@ -154,7 +154,7 @@ class vmmManager(vmmGObjectUI): self.engine.connect("connection-removed", self._remove_connection) # Select first list entry - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") if len(vmlist.get_model()) != 0: vmlist.get_selection().select_iter( vmlist.get_model().get_iter_first()) @@ -225,8 +225,8 @@ class vmmManager(vmmGObjectUI): return bool(self.topwin.flags() & gtk.VISIBLE) def set_startup_error(self, msg): - self.window.get_widget("vm-notebook").set_current_page(1) - self.window.get_widget("startup-error-label").set_text(msg) + self.widget("vm-notebook").set_current_page(1) + self.widget("startup-error-label").set_text(msg) ################ # Init methods # @@ -256,26 +256,25 @@ class vmmManager(vmmGObjectUI): COL_NETWORK)) - self.window.get_widget("menu_view_stats_guest_cpu").set_active( + self.widget("menu_view_stats_guest_cpu").set_active( self.config.is_vmlist_guest_cpu_usage_visible()) - self.window.get_widget("menu_view_stats_host_cpu").set_active( + self.widget("menu_view_stats_host_cpu").set_active( self.config.is_vmlist_host_cpu_usage_visible()) - self.window.get_widget("menu_view_stats_disk").set_active( + self.widget("menu_view_stats_disk").set_active( self.config.is_vmlist_disk_io_visible()) - self.window.get_widget("menu_view_stats_network").set_active( + self.widget("menu_view_stats_network").set_active( self.config.is_vmlist_network_traffic_visible()) def init_toolbar(self): - self.window.get_widget("vm-new").set_icon_name("vm_new") - self.window.get_widget("vm-open").set_icon_name("icon_console") - uihelpers.build_shutdown_button_menu( - self.window.get_widget("vm-shutdown"), - self.poweroff_vm, - self.reboot_vm, - self.destroy_vm, - self.save_vm) + self.widget("vm-new").set_icon_name("vm_new") + self.widget("vm-open").set_icon_name("icon_console") + uihelpers.build_shutdown_button_menu(self.widget("vm-shutdown"), + self.poweroff_vm, + self.reboot_vm, + self.destroy_vm, + self.save_vm) - tool = self.window.get_widget("vm-toolbar") + tool = self.widget("vm-toolbar") util.safe_set_prop(tool, "icon-size", gtk.ICON_SIZE_LARGE_TOOLBAR) for c in tool.get_children(): c.set_homogeneous(False) @@ -358,8 +357,8 @@ class vmmManager(vmmGObjectUI): self.connmenu.show() def init_vmlist(self): - vmlist = self.window.get_widget("vm-list") - self.window.get_widget("vm-notebook").set_show_tabs(False) + vmlist = self.widget("vm-list") + self.widget("vm-notebook").set_show_tabs(False) # Handle, name, markup, status, status icon name, key/uuid, hint, # is conn, is conn connected, is vm, is vm running, fg color @@ -438,7 +437,7 @@ class vmmManager(vmmGObjectUI): ################## def current_row(self): - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") selection = vmlist.get_selection() active = selection.get_selected() @@ -472,7 +471,7 @@ class vmmManager(vmmGObjectUI): return vm.get_uuid() def current_connection_uri(self, default_selection=False): - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() conn = self.current_connection() @@ -564,7 +563,7 @@ class vmmManager(vmmGObjectUI): self.delete_dialog.show(vm, self.topwin) def set_pause_state(self, state): - src = self.window.get_widget("vm-pause") + src = self.widget("vm-pause") try: self.ignore_pause = True src.set_active(state) @@ -678,13 +677,13 @@ class vmmManager(vmmGObjectUI): vm.connect("resources-sampled", self.vm_resources_sampled) vm.connect("config-changed", self.vm_resources_sampled) - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() self._append_vm(model, vm, connection) def vm_removed(self, connection, uri_ignore, vmuuid): - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() parent = self.rows[connection.get_uri()].iter @@ -758,8 +757,7 @@ class vmmManager(vmmGObjectUI): self.rows[row_key] = model[path] # Expand a connection when adding a vm to it - self.window.get_widget("vm-list").expand_row(model.get_path(parent), - False) + self.widget("vm-list").expand_row(model.get_path(parent), False) def _append_connection(self, model, conn): row = [] @@ -785,7 +783,7 @@ class vmmManager(vmmGObjectUI): def _add_connection(self, engine_ignore, conn): # Make sure error page isn't showing - self.window.get_widget("vm-notebook").set_current_page(0) + self.widget("vm-notebook").set_current_page(0) if conn.get_uri() in self.rows: return @@ -797,7 +795,7 @@ class vmmManager(vmmGObjectUI): conn.connect("connect-error", self._connect_error) # add the connection to the treeModel - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") row = self._append_connection(vmlist.get_model(), conn) vmlist.get_selection().select_iter(row) @@ -820,7 +818,7 @@ class vmmManager(vmmGObjectUI): self.conn_refresh_resources(conn, newname) def _remove_connection(self, engine_ignore, uri): - model = self.window.get_widget("vm-list").get_model() + model = self.widget("vm-list").get_model() parent = self.rows[uri].iter if parent is None: @@ -844,7 +842,7 @@ class vmmManager(vmmGObjectUI): ignore = newstatus ignore = oldstatus parent = self.rows[vm.get_connection().get_uri()].iter - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() missing = True @@ -862,7 +860,7 @@ class vmmManager(vmmGObjectUI): self.vm_resources_sampled(vm) def vm_resources_sampled(self, vm): - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() if self.vm_row_key(vm) not in self.rows: @@ -882,7 +880,7 @@ class vmmManager(vmmGObjectUI): self.vm_selected() def conn_refresh_resources(self, conn, newname=None): - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") model = vmlist.get_model() row = self.rows[conn.get_uri()] @@ -915,7 +913,7 @@ class vmmManager(vmmGObjectUI): strip_text = text.replace("_", "") self.vmmenu_items["run"].get_child().set_label(text) - self.window.get_widget("vm-run").set_label(strip_text) + self.widget("vm-run").set_label(strip_text) def vm_selected(self, ignore=None): conn = self.current_connection() @@ -938,21 +936,21 @@ class vmmManager(vmmGObjectUI): if vm and vm.managedsave_supported: self.change_run_text(vm.hasSavedImage()) - self.window.get_widget("vm-open").set_sensitive(show_open) - self.window.get_widget("vm-run").set_sensitive(show_run) - self.window.get_widget("vm-shutdown").set_sensitive(show_shutdown) + self.widget("vm-open").set_sensitive(show_open) + self.widget("vm-run").set_sensitive(show_run) + self.widget("vm-shutdown").set_sensitive(show_shutdown) self.set_pause_state(is_paused) - self.window.get_widget("vm-pause").set_sensitive(show_pause) + self.widget("vm-pause").set_sensitive(show_pause) - self.window.get_widget("menu_edit_details").set_sensitive(show_details) - self.window.get_widget("menu_host_details").set_sensitive(host_details) - self.window.get_widget("menu_edit_delete").set_sensitive(delete) + self.widget("menu_edit_details").set_sensitive(show_details) + self.widget("menu_host_details").set_sensitive(host_details) + self.widget("menu_edit_delete").set_sensitive(delete) def popup_vm_menu_key(self, widget_ignore, event): if gtk.gdk.keyval_name(event.keyval) != "Menu": return False - vmlist = self.window.get_widget("vm-list") + vmlist = self.widget("vm-list") treeselection = vmlist.get_selection() model, _iter = treeselection.get_selected() self.popup_vm_menu(model, _iter, event) @@ -1052,7 +1050,7 @@ class vmmManager(vmmGObjectUI): widgn = "menu_view_stats_disk" elif userdata == COL_NETWORK: widgn = "menu_view_stats_network" - widget = self.window.get_widget(widgn) + widget = self.widget(widgn) tool_text = "" @@ -1078,22 +1076,22 @@ class vmmManager(vmmGObjectUI): def toggle_network_traffic_visible_widget(self, *ignore): val = self.config.is_vmlist_network_traffic_visible() self.netcol.set_visible(val) - self.window.get_widget("menu_view_stats_network").set_active(val) + self.widget("menu_view_stats_network").set_active(val) def toggle_disk_io_visible_widget(self, *ignore): val = self.config.is_vmlist_disk_io_visible() self.diskcol.set_visible(val) - self.window.get_widget("menu_view_stats_disk").set_active(val) + self.widget("menu_view_stats_disk").set_active(val) def toggle_guest_cpu_usage_visible_widget(self, *ignore): val = self.config.is_vmlist_guest_cpu_usage_visible() self.guestcpucol.set_visible(val) - self.window.get_widget("menu_view_stats_guest_cpu").set_active(val) + self.widget("menu_view_stats_guest_cpu").set_active(val) def toggle_host_cpu_usage_visible_widget(self, *ignore): val = self.config.is_vmlist_host_cpu_usage_visible() self.hostcpucol.set_visible(val) - self.window.get_widget("menu_view_stats_host_cpu").set_active(val) + self.widget("menu_view_stats_host_cpu").set_active(val) def toggle_stats_visible(self, src, stats_id): visible = src.get_active() diff --git a/src/virtManager/migrate.py b/src/virtManager/migrate.py index 3ca689389..7cb8a6200 100644 --- a/src/virtManager/migrate.py +++ b/src/virtManager/migrate.py @@ -70,12 +70,12 @@ class vmmMigrateDialog(vmmGObjectUI): self.bind_escape_key_close() blue = gtk.gdk.color_parse("#0072A8") - self.window.get_widget("migrate-header").modify_bg(gtk.STATE_NORMAL, + self.widget("migrate-header").modify_bg(gtk.STATE_NORMAL, blue) image = gtk.image_new_from_icon_name("vm_clone_wizard", gtk.ICON_SIZE_DIALOG) image.show() - self.window.get_widget("migrate-vm-icon-box").pack_end(image, False) + self.widget("migrate-vm-icon-box").pack_end(image, False) self.init_state() @@ -97,14 +97,14 @@ class vmmMigrateDialog(vmmGObjectUI): self.destconn_rows = None # Not sure why we need to do this manually, but it matters - self.window.get_widget("migrate-dest").get_model().clear() + self.widget("migrate-dest").get_model().clear() vmmGObjectUI.cleanup(self) def init_state(self): # [hostname, conn, can_migrate, tooltip] dest_model = gtk.ListStore(str, object, bool, str) - dest_combo = self.window.get_widget("migrate-dest") + dest_combo = self.widget("migrate-dest") dest_combo.set_model(dest_model) text = gtk.CellRendererText() dest_combo.pack_start(text, True) @@ -121,31 +121,31 @@ class vmmMigrateDialog(vmmGObjectUI): def reset_state(self): title_str = ("%s '%s'" % (_("Migrate"), self.vm.get_name())) - self.window.get_widget("migrate-main-label").set_markup(title_str) + self.widget("migrate-main-label").set_markup(title_str) - self.window.get_widget("migrate-cancel").grab_focus() + self.widget("migrate-cancel").grab_focus() name = self.vm.get_name() srchost = self.conn.get_hostname() - self.window.get_widget("migrate-label-name").set_text(name) - self.window.get_widget("migrate-label-src").set_text(srchost) + self.widget("migrate-label-name").set_text(name) + self.widget("migrate-label-src").set_text(srchost) - self.window.get_widget("migrate-advanced-expander").set_expanded(False) - self.window.get_widget("migrate-set-interface").set_active(False) - self.window.get_widget("migrate-set-rate").set_active(False) - self.window.get_widget("migrate-set-port").set_active(False) - self.window.get_widget("migrate-set-maxdowntime").set_active(False) - self.window.get_widget("migrate-max-downtime").set_value(30) + self.widget("migrate-advanced-expander").set_expanded(False) + self.widget("migrate-set-interface").set_active(False) + self.widget("migrate-set-rate").set_active(False) + self.widget("migrate-set-port").set_active(False) + self.widget("migrate-set-maxdowntime").set_active(False) + self.widget("migrate-max-downtime").set_value(30) running = self.vm.is_active() - self.window.get_widget("migrate-offline").set_active(not running) - self.window.get_widget("migrate-offline").set_sensitive(running) + self.widget("migrate-offline").set_active(not running) + self.widget("migrate-offline").set_sensitive(running) - self.window.get_widget("migrate-rate").set_value(0) - self.window.get_widget("migrate-secure").set_active(False) + self.widget("migrate-rate").set_value(0) + self.widget("migrate-secure").set_active(False) - downtime_box = self.window.get_widget("migrate-maxdowntime-box") + downtime_box = self.widget("migrate-maxdowntime-box") support_downtime = self.vm.support_downtime() downtime_tooltip = "" if not support_downtime: @@ -156,12 +156,12 @@ class vmmMigrateDialog(vmmGObjectUI): if self.conn.is_xen(): # Default xen port is 8002 - self.window.get_widget("migrate-port").set_value(8002) + self.widget("migrate-port").set_value(8002) else: # QEMU migrate port range is 49152+64 - self.window.get_widget("migrate-port").set_value(49152) + self.widget("migrate-port").set_value(49152) - secure_box = self.window.get_widget("migrate-secure-box") + secure_box = self.widget("migrate-secure-box") support_secure = hasattr(libvirt, "VIR_MIGRATE_TUNNELLED") secure_tooltip = "" if not support_secure: @@ -184,31 +184,30 @@ class vmmMigrateDialog(vmmGObjectUI): if active == -1: tooltip = _("A valid destination connection must be selected.") - self.window.get_widget("migrate-finish").set_sensitive(active != -1) - util.tooltip_wrapper(self.window.get_widget("migrate-finish"), tooltip) + self.widget("migrate-finish").set_sensitive(active != -1) + util.tooltip_wrapper(self.widget("migrate-finish"), tooltip) def toggle_set_rate(self, src): enable = src.get_active() - self.window.get_widget("migrate-rate").set_sensitive(enable) + self.widget("migrate-rate").set_sensitive(enable) def toggle_set_interface(self, src): enable = src.get_active() - port_enable = self.window.get_widget("migrate-set-port").get_active() - self.window.get_widget("migrate-interface").set_sensitive(enable) - self.window.get_widget("migrate-set-port").set_sensitive(enable) - self.window.get_widget("migrate-port").set_sensitive(enable and - port_enable) + port_enable = self.widget("migrate-set-port").get_active() + self.widget("migrate-interface").set_sensitive(enable) + self.widget("migrate-set-port").set_sensitive(enable) + self.widget("migrate-port").set_sensitive(enable and port_enable) def toggle_set_maxdowntime(self, src): enable = src.get_active() - self.window.get_widget("migrate-max-downtime").set_sensitive(enable) + self.widget("migrate-max-downtime").set_sensitive(enable) def toggle_set_port(self, src): enable = src.get_active() - self.window.get_widget("migrate-port").set_sensitive(enable) + self.widget("migrate-port").set_sensitive(enable) def get_config_destconn(self): - combo = self.window.get_widget("migrate-dest") + combo = self.widget("migrate-dest") model = combo.get_model() idx = combo.get_active() @@ -222,39 +221,39 @@ class vmmMigrateDialog(vmmGObjectUI): return row[1] def get_config_offline(self): - return self.window.get_widget("migrate-offline").get_active() + return self.widget("migrate-offline").get_active() def get_config_max_downtime(self): if not self.get_config_max_downtime_enabled(): return 0 - return int(self.window.get_widget("migrate-max-downtime").get_value()) + return int(self.widget("migrate-max-downtime").get_value()) def get_config_secure(self): - return self.window.get_widget("migrate-secure").get_active() + return self.widget("migrate-secure").get_active() def get_config_max_downtime_enabled(self): - return self.window.get_widget("migrate-max-downtime").get_property("sensitive") + return self.widget("migrate-max-downtime").get_property("sensitive") def get_config_rate_enabled(self): - return self.window.get_widget("migrate-rate").get_property("sensitive") + return self.widget("migrate-rate").get_property("sensitive") def get_config_rate(self): if not self.get_config_rate_enabled(): return 0 - return int(self.window.get_widget("migrate-rate").get_value()) + return int(self.widget("migrate-rate").get_value()) def get_config_interface_enabled(self): - return self.window.get_widget("migrate-interface").get_property("sensitive") + return self.widget("migrate-interface").get_property("sensitive") def get_config_interface(self): if not self.get_config_interface_enabled(): return None - return self.window.get_widget("migrate-interface").get_text() + return self.widget("migrate-interface").get_text() def get_config_port_enabled(self): - return self.window.get_widget("migrate-port").get_property("sensitive") + return self.widget("migrate-port").get_property("sensitive") def get_config_port(self): if not self.get_config_port_enabled(): return 0 - return int(self.window.get_widget("migrate-port").get_value()) + return int(self.widget("migrate-port").get_value()) def build_localhost_uri(self, destconn): desthost = destconn.get_qualified_hostname() @@ -313,7 +312,7 @@ class vmmMigrateDialog(vmmGObjectUI): self.populate_dest_combo() def populate_dest_combo(self): - combo = self.window.get_widget("migrate-dest") + combo = self.widget("migrate-dest") model = combo.get_model() idx = combo.get_active() idxconn = None @@ -349,7 +348,7 @@ class vmmMigrateDialog(vmmGObjectUI): combo.set_active(idx) def dest_add_connection(self, engine_ignore, conn): - combo = self.window.get_widget("migrate-dest") + combo = self.widget("migrate-dest") model = combo.get_model() newrow = self.build_dest_row(conn) diff --git a/src/virtManager/preferences.py b/src/virtManager/preferences.py index c26ebe969..2d9ea003a 100644 --- a/src/virtManager/preferences.py +++ b/src/virtManager/preferences.py @@ -88,7 +88,7 @@ class vmmPreferences(vmmGObjectUI): self.bind_escape_key_close() # XXX: Help docs useless/out of date - self.window.get_widget("prefs-help").hide() + self.widget("prefs-help").hide() def close(self, ignore1=None, ignore2=None): self.topwin.hide() @@ -105,39 +105,39 @@ class vmmPreferences(vmmGObjectUI): def refresh_view_system_tray(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): val = self.config.get_view_system_tray() - self.window.get_widget("prefs-system-tray").set_active(bool(val)) + self.widget("prefs-system-tray").set_active(bool(val)) def refresh_update_interval(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-stats-update-interval").set_value( + self.widget("prefs-stats-update-interval").set_value( self.config.get_stats_update_interval()) def refresh_history_length(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-stats-history-len").set_value( + self.widget("prefs-stats-history-len").set_value( self.config.get_stats_history_length()) def refresh_console_accels(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-console-accels").set_active( + self.widget("prefs-console-accels").set_active( self.config.get_console_accels()) def refresh_console_scaling(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): val = self.config.get_console_scaling() if val == None: val = 0 - self.window.get_widget("prefs-console-scaling").set_active(val) + self.widget("prefs-console-scaling").set_active(val) def refresh_sound_local(self, ignore1=None, ignore2=None, ignore=None, ignore4=None): - self.window.get_widget("prefs-sound-local").set_active( + self.widget("prefs-sound-local").set_active( self.config.get_local_sound()) def refresh_sound_remote(self, ignore1=None, ignore2=None, ignore=None, ignore4=None): - self.window.get_widget("prefs-sound-remote").set_active( + self.widget("prefs-sound-remote").set_active( self.config.get_remote_sound()) def refresh_graphics_type(self, ignore1=None, ignore2=None, ignore=None, ignore4=None): - combo = self.window.get_widget("prefs-graphics-type") + combo = self.widget("prefs-graphics-type") model = combo.get_model() gtype = self.config.get_graphics_type() @@ -148,15 +148,15 @@ class vmmPreferences(vmmGObjectUI): active = rowidx break - self.window.get_widget("prefs-graphics-type").set_active(active) + self.widget("prefs-graphics-type").set_active(active) def refresh_disk_poll(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-stats-enable-disk").set_active( + self.widget("prefs-stats-enable-disk").set_active( self.config.get_stats_enable_disk_poll()) def refresh_net_poll(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-stats-enable-net").set_active( + self.widget("prefs-stats-enable-net").set_active( self.config.get_stats_enable_net_poll()) def refresh_grabkeys_combination(self, ignore1=None, ignore2=None, @@ -165,8 +165,8 @@ class vmmPreferences(vmmGObjectUI): if val is None: val = "Control_L+Alt_L" - prefs_button = self.window.get_widget("prefs-keys-grab-changebtn") - self.window.get_widget("prefs-keys-grab-sequence").set_text(val) + prefs_button = self.widget("prefs-keys-grab-changebtn") + self.widget("prefs-keys-grab-sequence").set_text(val) if not self.config.vnc_grab_keys_supported(): util.tooltip_wrapper(prefs_button, _("Installed version of GTK-VNC doesn't " @@ -174,19 +174,24 @@ class vmmPreferences(vmmGObjectUI): def refresh_confirm_forcepoweroff(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-confirm-forcepoweroff").set_active(self.config.get_confirm_forcepoweroff()) + self.widget("prefs-confirm-forcepoweroff").set_active( + self.config.get_confirm_forcepoweroff()) def refresh_confirm_poweroff(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-confirm-poweroff").set_active(self.config.get_confirm_poweroff()) + self.widget("prefs-confirm-poweroff").set_active( + self.config.get_confirm_poweroff()) def refresh_confirm_pause(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-confirm-pause").set_active(self.config.get_confirm_pause()) + self.widget("prefs-confirm-pause").set_active( + self.config.get_confirm_pause()) def refresh_confirm_removedev(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-confirm-removedev").set_active(self.config.get_confirm_removedev()) + self.widget("prefs-confirm-removedev").set_active( + self.config.get_confirm_removedev()) def refresh_confirm_interface(self, ignore1=None, ignore2=None, ignore3=None, ignore4=None): - self.window.get_widget("prefs-confirm-interface").set_active(self.config.get_confirm_interface()) + self.widget("prefs-confirm-interface").set_active( + self.config.get_confirm_interface()) def grabkeys_get_string(self, keysyms): keystr = None diff --git a/src/virtManager/storagebrowse.py b/src/virtManager/storagebrowse.py index 4012747ea..26caf1d39 100644 --- a/src/virtManager/storagebrowse.py +++ b/src/virtManager/storagebrowse.py @@ -62,10 +62,10 @@ class vmmStorageBrowser(vmmGObjectUI): finish_img = gtk.image_new_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("new-volume").set_image(finish_img) + self.widget("new-volume").set_image(finish_img) finish_img = gtk.image_new_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON) - self.window.get_widget("choose-volume").set_image(finish_img) + self.widget("choose-volume").set_image(finish_img) self.set_initial_state() @@ -116,11 +116,11 @@ class vmmStorageBrowser(vmmGObjectUI): self.vm_name = name def set_initial_state(self): - pool_list = self.window.get_widget("pool-list") + pool_list = self.widget("pool-list") virtManager.host.init_pool_list(pool_list, self.pool_selected) # (Key, Name, Cap, Format, Used By, sensitive) - vol_list = self.window.get_widget("vol-list") + vol_list = self.widget("vol-list") volListModel = gtk.ListStore(str, str, str, str, str, bool) vol_list.set_model(volListModel) @@ -164,7 +164,7 @@ class vmmStorageBrowser(vmmGObjectUI): self.remove_conn() self.conn = conn - pool_list = self.window.get_widget("pool-list") + pool_list = self.widget("pool-list") virtManager.host.populate_storage_pools(pool_list, self.conn) ids = [] @@ -187,10 +187,10 @@ class vmmStorageBrowser(vmmGObjectUI): tooltip = None is_remote = self.conn.is_remote() - self.window.get_widget("browse-local").set_sensitive(not is_remote) + self.widget("browse-local").set_sensitive(not is_remote) if is_remote: tooltip = _("Cannot use local storage on remote connection.") - util.tooltip_wrapper(self.window.get_widget("browse-local"), + util.tooltip_wrapper(self.widget("browse-local"), tooltip) # Set data based on browse type @@ -213,7 +213,7 @@ class vmmStorageBrowser(vmmGObjectUI): return data["enable_create"] def current_pool(self): - row = util.get_list_selection(self.window.get_widget("pool-list")) + row = util.get_list_selection(self.widget("pool-list")) if not row: return return self.conn.get_pool(row[0]) @@ -221,7 +221,7 @@ class vmmStorageBrowser(vmmGObjectUI): def current_vol_row(self): if not self.current_pool(): return - return util.get_list_selection(self.window.get_widget("vol-list")) + return util.get_list_selection(self.widget("vol-list")) def current_vol(self): pool = self.current_pool() @@ -231,7 +231,7 @@ class vmmStorageBrowser(vmmGObjectUI): return pool.get_volume(row[0]) def refresh_storage_pool(self, src_ignore, uri_ignore, uuid): - pool_list = self.window.get_widget("pool-list") + pool_list = self.widget("pool-list") virtManager.host.refresh_pool_in_list(pool_list, self.conn, uuid) curpool = self.current_pool() if curpool.uuid != uuid: @@ -239,10 +239,10 @@ class vmmStorageBrowser(vmmGObjectUI): # Currently selected pool changed state: force a 'pool_selected' to # update vol list - self.pool_selected(self.window.get_widget("pool-list").get_selection()) + self.pool_selected(self.widget("pool-list").get_selection()) def repopulate_storage_pools(self, src_ignore, uri_ignore, uuid_ignore): - pool_list = self.window.get_widget("pool-list") + pool_list = self.widget("pool-list") virtManager.host.populate_storage_pools(pool_list, self.conn) @@ -255,14 +255,14 @@ class vmmStorageBrowser(vmmGObjectUI): newvol = pool.is_active() newvol = newvol and self.allow_create() - self.window.get_widget("new-volume").set_sensitive(newvol) + self.widget("new-volume").set_sensitive(newvol) self.populate_storage_volumes() def vol_selected(self, ignore=None): vol = self.current_vol_row() canchoose = bool(vol and vol[5]) - self.window.get_widget("choose-volume").set_sensitive(canchoose) + self.widget("choose-volume").set_sensitive(canchoose) def refresh_current_pool(self, ignore): cp = self.current_pool() @@ -310,7 +310,7 @@ class vmmStorageBrowser(vmmGObjectUI): # Do stuff! def populate_storage_volumes(self): - model = self.window.get_widget("vol-list").get_model() + model = self.widget("vol-list").get_model() model.clear() dironly = self.browse_reason == self.config.CONFIG_DIR_FS