[virt-tools-list] [virt-manager PATCH] details: disable "Remove Hardware" popup menu for USB controller
chenhanxiao at cn.fujitsu.com
chenhanxiao at cn.fujitsu.com
Mon Apr 21 05:54:22 UTC 2014
> -----Original Message-----
> From: virt-tools-list-bounces at redhat.com
> [mailto:virt-tools-list-bounces at redhat.com] On Behalf Of Cole Robinson
> Sent: Friday, April 18, 2014 12:39 AM
> To: Chen Hanxiao; virt-tools-list at redhat.com
> Subject: Re: [virt-tools-list] [virt-manager PATCH] details: disable "Remove
> Hardware" popup menu for USB controller
>
> 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())
>
That's a good idea.
> > 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
>
It seems that right click triggered ahead of select.
And we will still get the LAST left clicked obj.
We need some investigation to fix this bug.
- Chen
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
More information about the virt-tools-list
mailing list