example: Port to gtk_application_set_accels_for_action

Instead of hardcoding an accelerator in the ui file, use
gtk_application_set_accels_for_action.
This commit is contained in:
Matthias Clasen 2014-04-17 11:36:33 -07:00
parent 25ce82d5b3
commit b718b95aab
15 changed files with 33 additions and 8 deletions

View File

@ -605,12 +605,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));
@ -633,7 +637,7 @@ example_app_class_init (ExampleAppClass *class)
<para>Our preferences menu item does not do anything yet, <para>Our preferences menu item does not do anything yet,
but the Quit menu item is fully functional. Note that it but the Quit menu item is fully functional. Note that it
can also be activated by the usual Ctrl-Q shortcut. The can also be activated by the usual Ctrl-Q shortcut. The
shortcut was specified in the ui file. shortcut was added with gtk_application_set_accels_for_action().
</para> </para>
<para>The application menu looks like this:</para> <para>The application menu looks like this:</para>

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -53,12 +53,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -46,12 +46,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -46,12 +46,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -53,12 +53,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -53,12 +53,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -53,12 +53,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));

View File

@ -12,7 +12,6 @@
<item> <item>
<attribute name="label" translatable="yes">_Quit</attribute> <attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute> <attribute name="action">app.quit</attribute>
<attribute name="accel"><![CDATA[<Ctrl>Q]]></attribute>
</item> </item>
</section> </section>
</menu> </menu>

View File

@ -53,12 +53,16 @@ example_app_startup (GApplication *app)
{ {
GtkBuilder *builder; GtkBuilder *builder;
GMenuModel *app_menu; GMenuModel *app_menu;
const gchar *quit_accels[2] = { "<Ctrl>Q", NULL };
G_APPLICATION_CLASS (example_app_parent_class)->startup (app); G_APPLICATION_CLASS (example_app_parent_class)->startup (app);
g_action_map_add_action_entries (G_ACTION_MAP (app), g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app_entries, G_N_ELEMENTS (app_entries),
app); app);
gtk_application_set_accels_for_action (GTK_APPLICATION (app),
"app.quit",
quit_accels);
builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui"); builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu")); app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));