[virt-tools-list] [PATCH 3/3] details: Add auto USB redirection support in console viewer
Guannan Ren
gren at redhat.com
Thu Jun 27 03:25:09 UTC 2013
On 06/27/2013 02:51 AM, Leonardo Augusto Guimarães Garcia wrote:
>
>> class vmmConsolePages(vmmGObjectUI):
>> def __init__(self, vm, builder, topwin):
>> @@ -955,11 +1025,13 @@ class vmmConsolePages(vmmGObjectUI):
>> self.close_viewer()
>> self.widget("console-pages").set_current_page(PAGE_UNAVAILABLE)
>> self.widget("details-menu-vm-screenshot").set_sensitive(False)
>> + self.widget("details-menu-usb-redirection").set_sensitive(False)
>> self.widget("console-unavailable").set_label("<b>" + msg + "</b>")
>>
>> def activate_auth_page(self, withPassword=True,
>> withUsername=False):
>> (pw, username) = self.config.get_console_password(self.vm)
>> self.widget("details-menu-vm-screenshot").set_sensitive(False)
>> + self.widget("details-menu-usb-redirection").set_sensitive(False)
>>
>> if withPassword:
>> self.widget("console-auth-password").show()
>> @@ -999,6 +1071,15 @@ class vmmConsolePages(vmmGObjectUI):
>> if self.viewer and self.viewer.display:
>> self.viewer.display.grab_focus()
>>
>> + if not self.viewer.has_usb_redirection():
>> + return
>> +
>> + devs = self.vm.get_redirdev_devices()
>> + for dev in devs:
>> + if dev.type == "spicevmc":
>> + self.widget("details-menu-usb-redirection").set_sensitive(True)
>> + return
>> +
> I'd rather join the two blocks above in an if then else statement and
> remove the returns than keep the return after the if clause. Today, we
> know that these two blocks are linked, but if in the future someone
> else wants to activate any other element, the return in the middle of
> the function can be confusing. But this would not block me from
> accepting this patch.
Okay, I did not think about it, I will change it.
>
> However, after testing this peace of code, this is not working for me.
> The USB redirection menu option is always inactive, even though my VM
> has USB redirection devices. I tested the VM with virt-viewer and the
> menu was active there. So we might have something wrong going on here.
>
> Also, and I don't know if this is related to this change,
> auto-redirection still didn't work for me.
>
Yeah, I reported a upstream bug about the issues which can affect the
code in this patch.
https://www.redhat.com/archives/virt-tools-list/2013-June/msg00159.html
such as, SpiceClientGLib.Channel.string_to_type('usbredir')
In virt-viewer,
spice_session_has_channel_type(priv->session, SPICE_CHANNEL_USBREDIR);
In spice-gtk python binds
I didn't find the global variable constant for SPICE_CHANNEL_USBREDIR,
so I call string_to_type('usbredir') to get it.
Hans,
Is there an alternative?
Guannan
More information about the virt-tools-list
mailing list