The tooltip of config-remove will be changed after clicking the 'Keyboard' or 'Mouse' in details page, We need to restore it in the refresh_XXX_page functions. How to reproduce: 1. Click 'Keyboard' item in details page. 2. Observe the tooltip of the 'Remove' button. the tooltip is "Hypervisor does not support to removing this device" 3. Click a nic item. 4. Observe the tooltip of the 'Remove' button. Expected: "Remove this device from the virtual machine" Actual: "Hypervisor does not support to removing this device" Signed-off-by: Lin Ma <lma@xxxxxxxx> --- virtManager/details.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/virtManager/details.py b/virtManager/details.py index 00e18949..cb298f3f 100644 --- a/virtManager/details.py +++ b/virtManager/details.py @@ -2630,6 +2630,7 @@ class vmmDetails(vmmGObjectUI): if not disk: return + self.widget("config-remove").set_tooltip_text(_remove_tooltip) path = disk.path devtype = disk.device ro = disk.read_only @@ -2705,6 +2706,7 @@ class vmmDetails(vmmGObjectUI): if not net: return + self.widget("config-remove").set_tooltip_text(_remove_tooltip) vmmAddHardware.populate_network_model_combo( self.vm, self.widget("network-model")) uiutil.set_list_selection(self.widget("network-model"), net.model) @@ -2751,6 +2753,7 @@ class vmmDetails(vmmGObjectUI): title = self.gfxdetails.set_dev(gfx) self.widget("graphics-title").set_markup("<b>%s</b>" % title) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_sound_page(self): sound = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2758,6 +2761,7 @@ class vmmDetails(vmmGObjectUI): return uiutil.set_list_selection(self.widget("sound-model"), sound.model) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_smartcard_page(self): sc = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2765,6 +2769,7 @@ class vmmDetails(vmmGObjectUI): return uiutil.set_list_selection(self.widget("smartcard-mode"), sc.mode) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_redir_page(self): rd = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2781,6 +2786,7 @@ class vmmDetails(vmmGObjectUI): self.widget("redir-address").set_text(address or "") uiutil.set_grid_row_visible( self.widget("redir-address"), bool(address)) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_tpm_page(self): tpmdev = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2804,6 +2810,7 @@ class vmmDetails(vmmGObjectUI): vmmAddHardware.populate_tpm_model_combo( self.vm, self.widget("tpm-model"), tpmdev.version) uiutil.set_list_selection(self.widget("tpm-model"), tpmdev.model) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) # Device type specific properties, only show if apply to the cur dev show_ui("device_path") @@ -2817,9 +2824,11 @@ class vmmDetails(vmmGObjectUI): model = dev.model or "isa" pmodel = virtinst.DevicePanic.get_pretty_model(model) self.widget("panic-model").set_text(pmodel) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_rng_page(self): dev = self.get_hw_selection(HW_LIST_COL_DEVICE) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) values = { "rng-bind-host": "bind_host", "rng-bind-service": "bind_service", @@ -2876,6 +2885,7 @@ class vmmDetails(vmmGObjectUI): show_target_type = not (chardev.DEVICE_TYPE in ["serial", "parallel"]) show_target_name = chardev.DEVICE_TYPE == "channel" + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def show_ui(param, val=None): widgetname = "char-" + param.replace("_", "-") @@ -2974,6 +2984,7 @@ class vmmDetails(vmmGObjectUI): self.widget("hostdev-title").set_markup(devlabel) self.widget("hostdev-source").set_text(pretty_name) self.widget("hostdev-rombar").set_active(rom_bar) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_video_page(self): vid = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -3001,10 +3012,12 @@ class vmmDetails(vmmGObjectUI): else: self.widget("video-3d").set_active(vid.accel3d) + tooltip = _remove_tooltip can_remove = True if self.vm.xmlobj.devices.graphics: can_remove = False self.widget("config-remove").set_sensitive(can_remove) + self.widget("config-remove").set_tooltip_text(tooltip) def refresh_watchdog_page(self): watch = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -3016,6 +3029,7 @@ class vmmDetails(vmmGObjectUI): uiutil.set_list_selection(self.widget("watchdog-model"), model) uiutil.set_list_selection(self.widget("watchdog-action"), action) + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_controller_page(self): controller = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -3025,6 +3039,7 @@ class vmmDetails(vmmGObjectUI): uiutil.set_grid_row_visible(self.widget("device-list-label"), False) uiutil.set_grid_row_visible(self.widget("controller-device-box"), False) + tooltip = _remove_tooltip can_remove = True if self.vm.get_xmlobj().os.is_x86() and controller.type == "usb": can_remove = False @@ -3056,6 +3071,7 @@ class vmmDetails(vmmGObjectUI): break self.widget("config-remove").set_sensitive(can_remove) + self.widget("config-remove").set_tooltip_text(tooltip) type_label = controller.pretty_desc() self.widget("controller-type").set_text(type_label) @@ -3076,6 +3092,7 @@ class vmmDetails(vmmGObjectUI): self.fsDetails.set_dev(dev) self.fsDetails.update_fs_rows() + self.widget("config-remove").set_tooltip_text(_remove_tooltip) def refresh_boot_page(self): # Refresh autostart -- 2.16.2 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list