aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-06-24 10:52:55 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-24 10:53:39 +0200
commit3bbcb81785c3fe124bce30b7a805036d0ade4c9a (patch)
tree1ade4601b13285c9ecf73986ad9f65c0983d637b
parent6299c0d614575c6090e6cd2409397393405169e5 (diff)
downloadvconsole-3bbcb81785c3fe124bce30b7a805036d0ade4c9a.tar.gz
wire up file accelerators
-rw-r--r--main.ui8
-rw-r--r--vconsole.c6
2 files changed, 14 insertions, 0 deletions
diff --git a/main.ui b/main.ui
index c10507f..277b5fd 100644
--- a/main.ui
+++ b/main.ui
@@ -2,11 +2,15 @@
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
+ <object class="GtkAccelGroup" id="main"/>
<object class="GtkWindow" id="toplevel">
<property name="can_focus">False</property>
<property name="title" translatable="yes">vconsole</property>
<property name="default_width">800</property>
<property name="default_height">600</property>
+ <accel-groups>
+ <group name="main"/>
+ </accel-groups>
<signal name="destroy" handler="window-destroy" swapped="no"/>
<child type="titlebar">
<placeholder/>
@@ -46,8 +50,10 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="action_name">main.CloseTab</property>
+ <property name="accel_path">&lt;main&gt;/File/CloseTab</property>
<property name="use_underline">True</property>
<property name="use_stock">False</property>
+ <property name="accel_group">main</property>
</object>
</child>
<child>
@@ -56,8 +62,10 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="action_name">main.CloseApp</property>
+ <property name="accel_path">&lt;main&gt;/File/CloseApp</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
+ <property name="accel_group">main</property>
</object>
</child>
</object>
diff --git a/vconsole.c b/vconsole.c
index 86bf85d..df4fb03 100644
--- a/vconsole.c
+++ b/vconsole.c
@@ -913,18 +913,24 @@ static struct vconsole_window *vconsole_toplevel_create(void)
win->toplevel = GTK_WIDGET(gtk_builder_get_object(builder, "toplevel"));
win->notebook = GTK_WIDGET(gtk_builder_get_object(builder, "notebook"));
+ /* signals */
gtk_builder_add_callback_symbols
(builder,
"window-destroy", G_CALLBACK(window_destroy),
NULL);
gtk_builder_connect_signals(builder, win);
+ /* actions */
ag = g_simple_action_group_new();
g_action_map_add_action_entries(G_ACTION_MAP(ag),
entries, G_N_ELEMENTS(entries),
win);
gtk_widget_insert_action_group(win->toplevel, "main", G_ACTION_GROUP(ag));
+ /* accelerators */
+ gtk_accel_map_add_entry("<main>/File/CloseTab", GDK_KEY_w, GDK_CONTROL_MASK);
+ gtk_accel_map_add_entry("<main>/File/CloseApp", GDK_KEY_q, GDK_CONTROL_MASK);
+
g_object_unref(builder);
#endif