summaryrefslogtreecommitdiff
path: root/src/adwaita/disfluid-application.c
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2023-03-11 21:23:19 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2023-03-11 21:51:32 +0100
commitbc130b35dd68c56ca0b7167d257c1dfc1f56036a (patch)
tree08b8aa2aa40eebc900e098546c6445ded45cece3 /src/adwaita/disfluid-application.c
parent6df16404194cd24b8b8cc03c2e2382a5fbffb6f5 (diff)
Connect the app.about action.
Diffstat (limited to 'src/adwaita/disfluid-application.c')
-rw-r--r--src/adwaita/disfluid-application.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/adwaita/disfluid-application.c b/src/adwaita/disfluid-application.c
index 6814423..08af0c8 100644
--- a/src/adwaita/disfluid-application.c
+++ b/src/adwaita/disfluid-application.c
@@ -20,22 +20,16 @@
#include <adwaita.h>
#include <gtk/gtk.h>
-#define DISFLUID_ADW_TYPE_APPLICATION \
- disfluid_adw_application_get_type ()
-
-struct DisfluidAdwApplication
+struct _DisfluidAdwApplication
{
AdwApplication parent_instance;
};
-struct DisfluidAdwApplicationClass
+struct _DisfluidAdwApplicationClass
{
AdwApplicationClass parent_instance;
};
-typedef struct DisfluidAdwApplication DisfluidAdwApplication;
-typedef struct DisfluidAdwApplicationClass DisfluidAdwApplicationClass;
-
/* *INDENT-OFF* */
G_DEFINE_TYPE (DisfluidAdwApplication, disfluid_adw_application, ADW_TYPE_APPLICATION)
/* *INDENT-ON* */
@@ -60,6 +54,16 @@ activated (GtkApplication * app)
gtk_window_present (GTK_WINDOW (window));
}
+static void
+launch_about_window (GSimpleAction * action, GVariant * parameter,
+ gpointer user_data)
+{
+ (void) action;
+ (void) parameter;
+ DisfluidAdwApplication *self = user_data;
+ disfluid_adw_show_about (GTK_APPLICATION (self));
+}
+
DisfluidAdwApplication *
disfluid_adw_application_new (void)
{
@@ -69,6 +73,11 @@ disfluid_adw_application_new (void)
"application-id",
disfluid_adw_application_id (),
NULL);
+ static GActionEntry app_actions[] = {
+ {.name = "about",.activate = launch_about_window}
+ };
+ g_action_map_add_action_entries (G_ACTION_MAP (self), app_actions,
+ G_N_ELEMENTS (app_actions), self);
g_signal_connect (self, "activate", G_CALLBACK (activated), NULL);
return self;
}