diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2015-10-02 17:35:57 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2015-10-06 12:28:42 +0100 |
commit | 54cc84ff43ca8369b8496dc953d5158a8ac7439a (patch) | |
tree | cd9ca5ca573b0b024e172b32aef2d2a3b4461275 | |
parent | ecb0e777fa4b07cf87c41fda4838ebf6448694c5 (diff) | |
download | gtk+-wip/ebassi/application-quit.tar.gz |
application: Add a default <Primary>Q acceleratorwip/ebassi/application-quit
We want all GTK applications to quit in a common way, to avoid
inconsistencies.
-rw-r--r-- | gtk/gtkapplication.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index 0edfe925e2..4c2d0dc130 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -590,6 +590,11 @@ gtk_application_load_resources (GtkApplication *application) } } +static void +gtk_application_quit_cb (GApplication *g_application) +{ + g_application_quit (g_application); +} static void gtk_application_startup (GApplication *g_application) @@ -607,6 +612,18 @@ gtk_application_startup (GApplication *g_application) gtk_application_impl_startup (application->priv->impl, application->priv->register_session); gtk_application_load_resources (application); + + { + static const char *quit_accels[2] = { "<Primary>q", NULL }; + + GAction *quit_action = g_simple_action_new ("quit", NULL); + g_signal_connect_swapped (quit_action, "activate", G_CALLBACK (gtk_application_quit_cb), application); + + g_action_map_add_action (G_ACTION_MAP (application), quit_action); + g_object_unref (quit_action); + + gtk_application_set_accels_for_action (application, "app.quit", quit_accels); + } } static void |