NACK, It doesn't work in Gnome Shell ----- Original Message ----- > > Resolves https://bugzilla.redhat.com/show_bug.cgi?id=921326 > --- > src/virt-gtk-compat.h | 3 +++ > src/virt-viewer-window.c | 28 ++++++++++++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/src/virt-gtk-compat.h b/src/virt-gtk-compat.h > index 110c17a..99965ff 100644 > --- a/src/virt-gtk-compat.h > +++ b/src/virt-gtk-compat.h > @@ -57,6 +57,9 @@ G_BEGIN_DECLS > #define GDK_0 GDK_KEY_0 > #define GDK_plus GDK_KEY_plus > #define GDK_minus GDK_KEY_minus > +#define GDK_KP_0 GDK_KEY_KP_0 > +#define GDK_KP_Add GDK_KEY_KP_Add > +#define GDK_KP_Subtract GDK_KEY_KP_Subtract > #endif > > #if !GTK_CHECK_VERSION(3, 0, 0) > diff --git a/src/virt-viewer-window.c b/src/virt-viewer-window.c > index c5f7c75..62f0d86 100644 > --- a/src/virt-viewer-window.c > +++ b/src/virt-viewer-window.c > @@ -283,6 +283,33 @@ can_activate_cb (GtkWidget *widget > G_GNUC_UNUSED, > } > > static void > +numpad_closure (VirtViewerWindow *self, > + GObject *acceleratable, > + guint keyval) > +{ > + if (keyval == GDK_KP_0) > + > virt_viewer_window_menu_view_zoom_reset(GTK_WIDGET(acceleratable), > self); > + else if (keyval == GDK_KP_Add) > + > virt_viewer_window_menu_view_zoom_in(GTK_WIDGET(acceleratable), > self); > + else if (keyval == GDK_KP_Subtract) > + > virt_viewer_window_menu_view_zoom_out(GTK_WIDGET(acceleratable), > self); > +} > + > +static void > +add_numpad_accelerators (VirtViewerWindow *self) > +{ > + VirtViewerWindowPrivate *priv = self->priv; > + g_return_if_fail(VIRT_VIEWER_IS_WINDOW(self)); > + > + gtk_accel_group_connect(priv->accel_group, GDK_KP_0, > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > + > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > G_OBJECT(self))); > + gtk_accel_group_connect(priv->accel_group, GDK_KP_Add, > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > + > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > G_OBJECT(self))); > + gtk_accel_group_connect(priv->accel_group, GDK_KP_Subtract, > GDK_CONTROL_MASK, GTK_ACCEL_MASK, > + > g_cclosure_new_object_swap(G_CALLBACK(numpad_closure), > G_OBJECT(self))); > +} > + > +static void > virt_viewer_window_init (VirtViewerWindow *self) > { > VirtViewerWindowPrivate *priv; > @@ -305,6 +332,7 @@ virt_viewer_window_init (VirtViewerWindow *self) > gtk_builder_connect_signals(priv->builder, self); > > priv->accel_group = > GTK_ACCEL_GROUP(gtk_builder_get_object(priv->builder, > "accelgroup")); > + add_numpad_accelerators(self); > > /* make sure they can be activated even if the menu item is not > visible */ > g_signal_connect(gtk_builder_get_object(priv->builder, > "menu-view-fullscreen"), > -- > 1.9.3 > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list > _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list