[virt-tools-list] [virt-manager PATCH] details: disable "Remove Hardware" popup menu for USB controller
Cole Robinson
crobinso at redhat.com
Thu Apr 17 16:38:56 UTC 2014
On 04/17/2014 12:35 PM, Chen Hanxiao wrote:
>
> On 04/18/2014 12:12 AM, Cole Robinson wrote:
>> On 04/17/2014 11:13 AM, Chen Hanxiao wrote:
>>> From: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
>>>
>>> We could not delete USB controller by "Remove" button.
>>> But we could delete it by right click option.
>>> This patch will disable remove popup menu for USB controller.
>>>
>>> Signed-off-by: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
>>> ---
>>> virtManager/details.py | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/virtManager/details.py b/virtManager/details.py
>>> index 2e8991b..beb2dcd 100644
>>> --- a/virtManager/details.py
>>> +++ b/virtManager/details.py
>>> @@ -1081,7 +1081,8 @@ class vmmDetails(vmmGObjectUI):
>>> return
>>> rmdev = self._addhwmenuitems["remove"]
>>> - if hasattr(devobj, "virtual_device_type"):
>>> + if (hasattr(devobj, "virtual_device_type") and
>>> + devobj.type != "usb"):
>>> rmdev.show()
>>> else:
>>> rmdev.hide()
>>>
>> This would require duplicating all the logic in two places. And this fix isn't
>> exhaustive, since for example it will still allow right-click removal of ps2
>> mouse which is also disallowed.
>>
>> Can we do something like check if the 'remove' button is sensitive or visible?
>> And make the same change for the popup window.
>>
>> - Cole
>>
> Do you mean we should do something like:
>
> diff --git a/virtManager/details.py b/virtManager/details.py
> index beb2dcd..798edd0 100644
> --- a/virtManager/details.py
> +++ b/virtManager/details.py
> @@ -1082,7 +1082,7 @@ class vmmDetails(vmmGObjectUI):
>
> rmdev = self._addhwmenuitems["remove"]
> if (hasattr(devobj, "virtual_device_type") and
> - devobj.type != "usb"):
> + self.widget("config-remove").get_sensitive()):
> rmdev.show()
> else:
> rmdev.hide()
>
Yeah something like that. Though while you are there, I'd drop the
'virtual_device_type' hack as well. And just do roughly:
rmdev.set_visible(self.widget("config-remove").get_visible())
rmdev.set_sensitive(self.widget("config-remove").get_sensitive())
> But popup menu could be shown before selecting controllers.
>
Can you change the hardware list selection while the popup menu is visible? I
can't find a way.
- Cole
More information about the virt-tools-list
mailing list