Bleh, this conflicts with this unreviewed patch of mine /o\ https://www.redhat.com/archives/virt-tools-list/2012-December/msg00172.html
Luckily this is easy enough to fix :) Christophe On Wed, Dec 19, 2012 at 03:59:27PM +0100, Hans de Goede wrote: > Signed-off-by: Hans de Goede <[email protected]> > --- > src/remote-viewer.c | 36 +----------------------------------- > src/virt-viewer-app.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ > src/virt-viewer-app.h | 1 + > 3 files changed, 49 insertions(+), 35 deletions(-) > > diff --git a/src/remote-viewer.c b/src/remote-viewer.c > index 31812d6..b296d67 100644 > --- a/src/remote-viewer.c > +++ b/src/remote-viewer.c > @@ -509,41 +509,7 @@ spice_ctrl_notified(SpiceCtrlController *ctrl, > } else if (g_str_equal(pspec->name, "menu")) { > spice_ctrl_menu_updated(self); > } else if (g_str_equal(pspec->name, "hotkeys")) { > - gchar **hotkey, **hotkeys = g_strsplit(g_value_get_string(&value), > ",", -1); > - if (!hotkeys || g_strv_length(hotkeys) == 0) { > - g_object_set(app, "enable-accel", FALSE, NULL); > - goto end; > - } > - > - for (hotkey = hotkeys; *hotkey != NULL; hotkey++) { > - gchar *key = strstr(*hotkey, "="); > - if (key == NULL) { > - g_warn_if_reached(); > - continue; > - } > - *key = '\0'; > - > - gchar *accel = spice_hotkey_to_gtk_accelerator(key + 1); > - guint accel_key; > - GdkModifierType accel_mods; > - gtk_accelerator_parse(accel, &accel_key, &accel_mods); > - g_free(accel); > - > - if (g_str_equal(*hotkey, "toggle-fullscreen")) { > - gtk_accel_map_change_entry("<virt-viewer>/view/fullscreen", > accel_key, accel_mods, TRUE); > - } else if (g_str_equal(*hotkey, "release-cursor")) { > - > gtk_accel_map_change_entry("<virt-viewer>/view/release-cursor", accel_key, > accel_mods, TRUE); > - } else if (g_str_equal(*hotkey, "smartcard-insert")) { > - > gtk_accel_map_change_entry("<virt-viewer>/file/smartcard-insert", accel_key, > accel_mods, TRUE); > - } else if (g_str_equal(*hotkey, "smartcard-remove")) { > - > gtk_accel_map_change_entry("<virt-viewer>/file/smartcard-remove", accel_key, > accel_mods, TRUE); > - } else { > - g_warning("Unknown hotkey command %s", *hotkey); > - } > - } > - g_strfreev(hotkeys); > - > - g_object_set(app, "enable-accel", TRUE, NULL); > + virt_viewer_app_set_hotkeys(app, g_value_get_string(&value)); > } else { > gchar *content = g_strdup_value_contents(&value); > > diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c > index 6b3ad6d..4e56d40 100644 > --- a/src/virt-viewer-app.c > +++ b/src/virt-viewer-app.c > @@ -1521,6 +1521,53 @@ virt_viewer_app_set_direct(VirtViewerApp *self, > gboolean direct) > } > > void > +virt_viewer_app_set_hotkeys(VirtViewerApp *self, const gchar *hotkeys_str) > +{ > + gchar **hotkey, **hotkeys = NULL; > + > + g_return_if_fail(VIRT_VIEWER_IS_APP(self)); > + > + if (hotkeys_str) > + hotkeys = g_strsplit(hotkeys_str, ",", -1); > + > + if (!hotkeys || g_strv_length(hotkeys) == 0) { > + g_strfreev(hotkeys); > + g_object_set(self, "enable-accel", FALSE, NULL); > + return; > + } > + > + for (hotkey = hotkeys; *hotkey != NULL; hotkey++) { > + gchar *key = strstr(*hotkey, "="); > + if (key == NULL) { > + g_warn_if_reached(); > + continue; > + } > + *key = '\0'; > + > + gchar *accel = spice_hotkey_to_gtk_accelerator(key + 1); > + guint accel_key; > + GdkModifierType accel_mods; > + gtk_accelerator_parse(accel, &accel_key, &accel_mods); > + g_free(accel); > + > + if (g_str_equal(*hotkey, "toggle-fullscreen")) { > + gtk_accel_map_change_entry("<virt-viewer>/view/fullscreen", > accel_key, accel_mods, TRUE); > + } else if (g_str_equal(*hotkey, "release-cursor")) { > + gtk_accel_map_change_entry("<virt-viewer>/view/release-cursor", > accel_key, accel_mods, TRUE); > + } else if (g_str_equal(*hotkey, "smartcard-insert")) { > + > gtk_accel_map_change_entry("<virt-viewer>/file/smartcard-insert", accel_key, > accel_mods, TRUE); > + } else if (g_str_equal(*hotkey, "smartcard-remove")) { > + > gtk_accel_map_change_entry("<virt-viewer>/file/smartcard-remove", accel_key, > accel_mods, TRUE); > + } else { > + g_warning("Unknown hotkey command %s", *hotkey); > + } > + } > + g_strfreev(hotkeys); > + > + g_object_set(self, "enable-accel", TRUE, NULL); > +} > + > +void > virt_viewer_app_set_attach(VirtViewerApp *self, gboolean attach) > { > g_return_if_fail(VIRT_VIEWER_IS_APP(self)); > diff --git a/src/virt-viewer-app.h b/src/virt-viewer-app.h > index 2cd3547..663f7a1 100644 > --- a/src/virt-viewer-app.h > +++ b/src/virt-viewer-app.h > @@ -76,6 +76,7 @@ int virt_viewer_app_initial_connect(VirtViewerApp *self); > void virt_viewer_app_start_reconnect_poll(VirtViewerApp *self); > void virt_viewer_app_set_zoom_level(VirtViewerApp *self, gint zoom_level); > void virt_viewer_app_set_direct(VirtViewerApp *self, gboolean direct); > +void virt_viewer_app_set_hotkeys(VirtViewerApp *self, const gchar *hotkeys); > void virt_viewer_app_set_attach(VirtViewerApp *self, gboolean attach); > gboolean virt_viewer_app_get_attach(VirtViewerApp *self); > gboolean virt_viewer_app_has_session(VirtViewerApp *self); > -- > 1.8.0.2 > > _______________________________________________ > virt-tools-list mailing list > [email protected] > https://www.redhat.com/mailman/listinfo/virt-tools-list
pgpCrLjAzQpxV.pgp
Description: PGP signature
_______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
