[gtk/matthiasc/for-master] gtk-demo: Add a shortcuts window
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] gtk-demo: Add a shortcuts window
- Date: Mon, 27 Apr 2020 02:15:48 +0000 (UTC)
commit 1ae898bf0b18748efe49cb53a975fea3bba405b2
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Apr 26 22:14:10 2020 -0400
gtk-demo: Add a shortcuts window
Its not very impressive here, but still good to have.
demos/gtk-demo/demo.gresource.xml | 3 +++
demos/gtk-demo/help-overlay.ui | 25 +++++++++++++++++++++++++
demos/gtk-demo/main.c | 11 +++++++++++
demos/gtk-demo/main.ui | 4 ++++
4 files changed, 43 insertions(+)
---
diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml
index 850750e5ef..19a2f8a168 100644
--- a/demos/gtk-demo/demo.gresource.xml
+++ b/demos/gtk-demo/demo.gresource.xml
@@ -309,4 +309,7 @@
<file>icons/16x16/status/battery-caution-charging-symbolic.symbolic.png</file>
<file>icons/16x16/categories/applications-other.png</file>
</gresource>
+ <gresource prefix="/org/gtk/Demo4/gtk">
+ <file preprocess="xml-stripblanks">help-overlay.ui</file>
+ </gresource>
</gresources>
diff --git a/demos/gtk-demo/help-overlay.ui b/demos/gtk-demo/help-overlay.ui
new file mode 100644
index 0000000000..ae172ee7a6
--- /dev/null
+++ b/demos/gtk-demo/help-overlay.ui
@@ -0,0 +1,25 @@
+<interface>
+ <object class="GtkShortcutsWindow" id="help_overlay">
+ <child>
+ <object class="GtkShortcutsSection">
+ <child>
+ <object class="GtkShortcutsGroup">
+ <property name="title">General</property>
+ <child>
+ <object class="GtkShortcutsShortcut">
+ <property name="accelerator">F1</property>
+ <property name="title">Show About Dialog</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkShortcutsShortcut">
+ <property name="accelerator"><Control>q</property>
+ <property name="title">Quit</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c
index 53f2f04d9b..a31036d916 100644
--- a/demos/gtk-demo/main.c
+++ b/demos/gtk-demo/main.c
@@ -1186,6 +1186,14 @@ main (int argc, char **argv)
{ "quit", activate_quit, NULL, NULL, NULL },
{ "inspector", activate_inspector, NULL, NULL, NULL },
};
+ struct {
+ const gchar *action_and_target;
+ const gchar *accelerators[2];
+ } accels[] = {
+ { "app.about", { "F1", NULL } },
+ { "app.quit", { "<Control>q", NULL } },
+ };
+ int i;
/* Most code in gtk-demo is intended to be exemplary, but not
* these few lines, which are just a hack so gtk-demo will work
@@ -1203,6 +1211,9 @@ main (int argc, char **argv)
app_entries, G_N_ELEMENTS (app_entries),
app);
+ for (i = 0; i < G_N_ELEMENTS (accels); i++)
+ gtk_application_set_accels_for_action (app, accels[i].action_and_target, accels[i].accelerators);
+
g_application_add_main_option (G_APPLICATION (app), "version", 0, 0, G_OPTION_ARG_NONE, "Show program
version", NULL);
g_application_add_main_option (G_APPLICATION (app), "run", 0, 0, G_OPTION_ARG_STRING, "Run an example",
"EXAMPLE");
g_application_add_main_option (G_APPLICATION (app), "list", 0, 0, G_OPTION_ARG_NONE, "List examples",
NULL);
diff --git a/demos/gtk-demo/main.ui b/demos/gtk-demo/main.ui
index d4cc88a96f..5256095fc6 100644
--- a/demos/gtk-demo/main.ui
+++ b/demos/gtk-demo/main.ui
@@ -6,6 +6,10 @@
<attribute name="label" translatable="yes">_Inspector</attribute>
<attribute name="action">app.inspector</attribute>
</item>
+ <item>
+ <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
+ <attribute name="action">win.show-help-overlay</attribute>
+ </item>
<item>
<attribute name="label" translatable="yes">_About GTK Demo</attribute>
<attribute name="action">app.about</attribute>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]