mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/virt-viewer
synced 2025-12-27 14:54:14 +00:00
Use the accelgroup to define key bindings
With accelgroups, we can redefine the keybindings
This commit is contained in:
parent
e6dfd324c4
commit
51ca18beee
@ -1261,6 +1261,11 @@ virt_viewer_app_constructor (GType gtype,
|
||||
priv->main_window = virt_viewer_app_window_new(self, priv->container, 0);
|
||||
priv->main_notebook = GTK_WIDGET(virt_viewer_window_get_notebook(priv->main_window));
|
||||
|
||||
gtk_accel_map_add_entry("<virt-viewer>/file/smartcard-insert", GDK_KEY_F8, GDK_SHIFT_MASK);
|
||||
gtk_accel_map_add_entry("<virt-viewer>/file/smartcard-remove", GDK_KEY_F9, GDK_SHIFT_MASK);
|
||||
gtk_accel_map_add_entry("<virt-viewer>/view/fullscreen", GDK_KEY_F11, 0);
|
||||
gtk_accel_map_add_entry("<virt-viewer>/view/release-cursor", GDK_KEY_F12, GDK_SHIFT_MASK);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
@ -273,6 +273,14 @@ virt_viewer_window_class_init (VirtViewerWindowClass *klass)
|
||||
G_PARAM_STATIC_STRINGS));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
can_activate_cb (GtkWidget *widget G_GNUC_UNUSED,
|
||||
guint signal_id G_GNUC_UNUSED,
|
||||
VirtViewerWindow *self G_GNUC_UNUSED)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
virt_viewer_window_init (VirtViewerWindow *self)
|
||||
{
|
||||
@ -298,6 +306,16 @@ virt_viewer_window_init (VirtViewerWindow *self)
|
||||
|
||||
priv->accel_group = GTK_ACCEL_GROUP(gtk_builder_get_object(priv->builder, "accelgroup"));
|
||||
|
||||
/* 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"),
|
||||
"can-activate-accel", G_CALLBACK(can_activate_cb), self);
|
||||
g_signal_connect(gtk_builder_get_object(priv->builder, "menu-file-smartcard-insert"),
|
||||
"can-activate-accel", G_CALLBACK(can_activate_cb), self);
|
||||
g_signal_connect(gtk_builder_get_object(priv->builder, "menu-file-smartcard-remove"),
|
||||
"can-activate-accel", G_CALLBACK(can_activate_cb), self);
|
||||
g_signal_connect(gtk_builder_get_object(priv->builder, "menu-view-release-cursor"),
|
||||
"can-activate-accel", G_CALLBACK(can_activate_cb), self);
|
||||
|
||||
vbox = GTK_WIDGET(gtk_builder_get_object(priv->builder, "viewer-box"));
|
||||
virt_viewer_window_toolbar_setup(self);
|
||||
|
||||
|
||||
@ -110,7 +110,6 @@
|
||||
<property name="accel_path"><virt-viewer>/view/fullscreen</property>
|
||||
<property name="label" translatable="yes">Full screen</property>
|
||||
<property name="use_underline">True</property>
|
||||
<accelerator key="F11" signal="activate"/>
|
||||
<signal name="toggled" handler="virt_viewer_window_menu_view_fullscreen" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user