summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtkapplication.c17
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