293 lines
12 KiB
Diff
293 lines
12 KiB
Diff
Subject: details: Fix changing graphics type (bz 1083903)
|
|
From: Cole Robinson crobinso@redhat.com Thu Apr 3 10:53:54 2014 -0400
|
|
Date: Thu Apr 3 10:53:54 2014 -0400:
|
|
Git: 932e6e00bb08647800a62e59f61c8adee9c5de59
|
|
|
|
And clean up the API usage to avoid these types of issues in the future.
|
|
|
|
Index: virt-manager-1.0.1/virtManager/addhardware.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/addhardware.py
|
|
+++ virt-manager-1.0.1/virtManager/addhardware.py
|
|
@@ -905,12 +905,12 @@ class vmmAddHardware(vmmGObjectUI):
|
|
|
|
# Input getters
|
|
def get_config_input(self):
|
|
- row = uiutil.get_list_selection(self.widget("input-type"))
|
|
+ row = uiutil.get_list_selection(self.widget("input-type"), None)
|
|
return row[1], row[2]
|
|
|
|
# Network getters
|
|
def get_config_net_model(self):
|
|
- return uiutil.get_list_selection(self.widget("net-model"))[0]
|
|
+ return uiutil.get_list_selection(self.widget("net-model"), 0)
|
|
|
|
def get_config_macaddr(self):
|
|
macaddr = None
|
|
@@ -933,7 +933,7 @@ class vmmAddHardware(vmmGObjectUI):
|
|
return usb_info
|
|
|
|
def get_config_host_device_info(self):
|
|
- return uiutil.get_list_selection(self.widget("host-device"))
|
|
+ return uiutil.get_list_selection(self.widget("host-device"), None)
|
|
|
|
# Video Getters
|
|
def get_config_video_model(self):
|
|
@@ -1016,7 +1016,7 @@ class vmmAddHardware(vmmGObjectUI):
|
|
uiutil.set_list_selection(self.widget("hw-list"), page)
|
|
|
|
def get_hw_selection(self):
|
|
- return uiutil.get_list_selection(self.widget("hw-list"))
|
|
+ return uiutil.get_list_selection(self.widget("hw-list"), None)
|
|
|
|
def update_char_device_type_model(self):
|
|
stable_blacklist = ["pipe", "udp"]
|
|
Index: virt-manager-1.0.1/virtManager/create.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/create.py
|
|
+++ virt-manager-1.0.1/virtManager/create.py
|
|
@@ -940,8 +940,8 @@ class vmmCreate(vmmGObjectUI):
|
|
return self.widget("create-vm-name").get_text()
|
|
|
|
def get_config_machine(self):
|
|
- return uiutil.get_list_selection(self.widget("config-machine"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("config-machine"), 0,
|
|
+ check_visible=True)
|
|
|
|
def is_install_page(self):
|
|
notebook = self.widget("create-pages")
|
|
@@ -965,8 +965,10 @@ class vmmCreate(vmmGObjectUI):
|
|
return INSTALL_PAGE_CONTAINER_OS
|
|
|
|
def get_config_os_info(self):
|
|
- drow = uiutil.get_list_selection(self.widget("install-os-type"))
|
|
- vrow = uiutil.get_list_selection(self.widget("install-os-version"))
|
|
+ drow = uiutil.get_list_selection(
|
|
+ self.widget("install-os-type"), None)
|
|
+ vrow = uiutil.get_list_selection(
|
|
+ self.widget("install-os-version"), None)
|
|
distro = None
|
|
dlabel = None
|
|
variant = None
|
|
@@ -1153,7 +1155,8 @@ class vmmCreate(vmmGObjectUI):
|
|
self.detect_media_os()
|
|
|
|
def _selected_os_row(self):
|
|
- return uiutil.get_list_selection(self.widget("install-os-type"))
|
|
+ return uiutil.get_list_selection(
|
|
+ self.widget("install-os-type"), None)
|
|
|
|
def change_os_type(self, box):
|
|
ignore = box
|
|
Index: virt-manager-1.0.1/virtManager/createinterface.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/createinterface.py
|
|
+++ virt-manager-1.0.1/virtManager/createinterface.py
|
|
@@ -775,7 +775,7 @@ class vmmCreateInterface(vmmGObjectUI):
|
|
is_manual = self.widget("ip-do-manual").get_active()
|
|
|
|
copy_row = uiutil.get_list_selection(
|
|
- self.widget("ip-copy-interface-combo"))
|
|
+ self.widget("ip-copy-interface-combo"), None)
|
|
|
|
v4_mode = self.widget("ipv4-mode").get_active()
|
|
v4_addr = self.widget("ipv4-address").get_text()
|
|
Index: virt-manager-1.0.1/virtManager/details.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
|
+++ virt-manager-1.0.1/virtManager/details.py
|
|
@@ -1109,7 +1109,7 @@ class vmmDetails(vmmGObjectUI):
|
|
self.widget("toolbar-box").hide()
|
|
|
|
def get_boot_selection(self):
|
|
- return uiutil.get_list_selection(self.widget("config-boot-list"))
|
|
+ return uiutil.get_list_selection(self.widget("config-boot-list"), None)
|
|
|
|
def set_hw_selection(self, page, disable_apply=True):
|
|
if disable_apply:
|
|
@@ -1117,7 +1117,7 @@ class vmmDetails(vmmGObjectUI):
|
|
uiutil.set_list_selection(self.widget("hw-list"), page)
|
|
|
|
def get_hw_row(self):
|
|
- return uiutil.get_list_selection(self.widget("hw-list"))
|
|
+ return uiutil.get_list_selection(self.widget("hw-list"), None)
|
|
|
|
def get_hw_selection(self, field):
|
|
row = self.get_hw_row()
|
|
Index: virt-manager-1.0.1/virtManager/fsdetails.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/fsdetails.py
|
|
+++ virt-manager-1.0.1/virtManager/fsdetails.py
|
|
@@ -155,16 +155,16 @@ class vmmFSDetails(vmmGObjectUI):
|
|
return self._dev
|
|
|
|
def get_config_fs_mode(self):
|
|
- return uiutil.get_list_selection(self.widget("fs-mode-combo"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("fs-mode-combo"), 0,
|
|
+ check_visible=True)
|
|
|
|
def get_config_fs_wrpolicy(self):
|
|
- return uiutil.get_list_selection(self.widget("fs-wrpolicy-combo"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("fs-wrpolicy-combo"), 0,
|
|
+ check_visible=True)
|
|
|
|
def get_config_fs_type(self):
|
|
- return uiutil.get_list_selection(self.widget("fs-type-combo"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("fs-type-combo"), 0,
|
|
+ check_visible=True)
|
|
|
|
def get_config_fs_readonly(self):
|
|
if not self.widget("fs-readonly").is_visible():
|
|
@@ -172,12 +172,12 @@ class vmmFSDetails(vmmGObjectUI):
|
|
return self.widget("fs-readonly").get_active()
|
|
|
|
def get_config_fs_driver(self):
|
|
- return uiutil.get_list_selection(self.widget("fs-driver-combo"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("fs-driver-combo"), 0,
|
|
+ check_visible=True)
|
|
|
|
def get_config_fs_format(self):
|
|
- return uiutil.get_list_selection(self.widget("fs-format-combo"),
|
|
- rowindex=0, check_visible=True)
|
|
+ return uiutil.get_list_selection(self.widget("fs-format-combo"), 0,
|
|
+ check_visible=True)
|
|
|
|
# Setters
|
|
def set_dev(self, dev):
|
|
Index: virt-manager-1.0.1/virtManager/gfxdetails.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/gfxdetails.py
|
|
+++ virt-manager-1.0.1/virtManager/gfxdetails.py
|
|
@@ -134,9 +134,9 @@ class vmmGraphicsDetails(vmmGObjectUI):
|
|
self.widget("graphics-password-chk").set_active(False)
|
|
|
|
def get_values(self):
|
|
- gtype = uiutil.get_list_selection(self.widget("graphics-type"))
|
|
+ gtype = uiutil.get_list_selection(self.widget("graphics-type"), 0)
|
|
port, tlsport = self._get_config_graphics_ports()
|
|
- addr = uiutil.get_list_selection(self.widget("graphics-address"))
|
|
+ addr = uiutil.get_list_selection(self.widget("graphics-address"), 0)
|
|
keymap = uiutil.get_combo_entry(self.widget("graphics-keymap"))
|
|
if keymap == "auto":
|
|
keymap = None
|
|
Index: virt-manager-1.0.1/virtManager/manager.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/manager.py
|
|
+++ virt-manager-1.0.1/virtManager/manager.py
|
|
@@ -427,7 +427,7 @@ class vmmManager(vmmGObjectUI):
|
|
##################
|
|
|
|
def current_row(self):
|
|
- return uiutil.get_list_selection(self.widget("vm-list"))
|
|
+ return uiutil.get_list_selection(self.widget("vm-list"), None)
|
|
|
|
def current_vm(self):
|
|
row = self.current_row()
|
|
Index: virt-manager-1.0.1/virtManager/migrate.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/migrate.py
|
|
+++ virt-manager-1.0.1/virtManager/migrate.py
|
|
@@ -184,7 +184,7 @@ class vmmMigrateDialog(vmmGObjectUI):
|
|
self.reset_state()
|
|
|
|
def destconn_changed(self, src):
|
|
- row = uiutil.get_list_selection(src)
|
|
+ row = uiutil.get_list_selection(src, None)
|
|
tooltip = ""
|
|
if row:
|
|
tooltip = _("A valid destination connection must be selected.")
|
|
@@ -212,7 +212,7 @@ class vmmMigrateDialog(vmmGObjectUI):
|
|
self.widget("migrate-port").set_sensitive(enable)
|
|
|
|
def get_config_destconn(self):
|
|
- row = uiutil.get_list_selection(self.widget("migrate-dest"))
|
|
+ row = uiutil.get_list_selection(self.widget("migrate-dest"), None)
|
|
if not row or not row[2]:
|
|
return None
|
|
return row[1]
|
|
Index: virt-manager-1.0.1/virtManager/netlist.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/netlist.py
|
|
+++ virt-manager-1.0.1/virtManager/netlist.py
|
|
@@ -284,13 +284,11 @@ class vmmNetworkList(vmmGObjectUI):
|
|
###############
|
|
|
|
def get_network_row(self):
|
|
- return uiutil.get_list_selection(self.widget("net-source"))
|
|
+ return uiutil.get_list_selection(self.widget("net-source"), None)
|
|
|
|
def get_network_selection(self):
|
|
- net_list = self.widget("net-source")
|
|
bridge_entry = self.widget("net-bridge-name")
|
|
-
|
|
- row = uiutil.get_list_selection(net_list)
|
|
+ row = self.get_network_row()
|
|
if not row:
|
|
return None, None, None
|
|
|
|
@@ -472,9 +470,9 @@ class vmmNetworkList(vmmGObjectUI):
|
|
return
|
|
|
|
def _on_net_source_changed(self, src):
|
|
+ ignore = src
|
|
self._emit_changed()
|
|
-
|
|
- row = uiutil.get_list_selection(src)
|
|
+ row = self.get_network_row()
|
|
if not row:
|
|
return
|
|
|
|
Index: virt-manager-1.0.1/virtManager/storagebrowse.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/storagebrowse.py
|
|
+++ virt-manager-1.0.1/virtManager/storagebrowse.py
|
|
@@ -221,7 +221,7 @@ class vmmStorageBrowser(vmmGObjectUI):
|
|
return data["enable_create"]
|
|
|
|
def current_pool(self):
|
|
- row = uiutil.get_list_selection(self.widget("pool-list"))
|
|
+ row = uiutil.get_list_selection(self.widget("pool-list"), None)
|
|
if not row:
|
|
return
|
|
try:
|
|
@@ -232,7 +232,7 @@ class vmmStorageBrowser(vmmGObjectUI):
|
|
def current_vol_row(self):
|
|
if not self.current_pool():
|
|
return
|
|
- return uiutil.get_list_selection(self.widget("vol-list"))
|
|
+ return uiutil.get_list_selection(self.widget("vol-list"), None)
|
|
|
|
def current_vol(self):
|
|
pool = self.current_pool()
|
|
Index: virt-manager-1.0.1/virtManager/uiutil.py
|
|
===================================================================
|
|
--- virt-manager-1.0.1.orig/virtManager/uiutil.py
|
|
+++ virt-manager-1.0.1/virtManager/uiutil.py
|
|
@@ -58,9 +58,11 @@ def spin_get_helper(widget):
|
|
return adj.get_value()
|
|
|
|
|
|
-def get_list_selection(widget, rowindex=None, check_visible=False):
|
|
+def get_list_selection(widget, rowindex, check_visible=False):
|
|
"""
|
|
- Helper to simplify getting the selected row in a list/tree/combo
|
|
+ Helper to simplify getting the selected row and value in a list/tree/combo
|
|
+
|
|
+ If rowindex is None, return the whole row.
|
|
"""
|
|
if check_visible and not widget.get_visible():
|
|
return None
|
|
@@ -145,7 +147,7 @@ def get_combo_entry(combo, rowidx=0):
|
|
Helper to get the value specified in a combo box, with or
|
|
without and entry
|
|
"""
|
|
- row = get_list_selection(combo)
|
|
+ row = get_list_selection(combo, None)
|
|
if row:
|
|
return row[rowidx]
|
|
if not combo.get_has_entry():
|