-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmenu-bar.c
24 lines (21 loc) · 1.14 KB
/
menu-bar.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "gtk-layer-demo.h"
static void quit_activated(GSimpleAction* action, GVariant* parameter, GApplication* application) {
(void)action; (void)parameter;
g_application_quit(application);
}
void set_up_menubar(GtkWindow* layer_window) {
GSimpleAction* act_quit = g_simple_action_new("quit", NULL);
g_action_map_add_action(G_ACTION_MAP(gtk_window_get_application(layer_window)), G_ACTION(act_quit));
g_signal_connect(act_quit, "activate", G_CALLBACK(quit_activated), gtk_window_get_application(layer_window));
GMenu* menubar = g_menu_new();
gtk_application_set_menubar(GTK_APPLICATION(gtk_window_get_application(layer_window)), G_MENU_MODEL(menubar));
gtk_application_window_set_show_menubar(GTK_APPLICATION_WINDOW(layer_window), TRUE);
GMenuItem* menu_item = g_menu_item_new("GTK4 Layer Demo", NULL);
GMenu* menu = g_menu_new();
GMenuItem* menu_item_quit = g_menu_item_new("Quit", "app.quit");
g_menu_append_item(menu, menu_item_quit);
g_menu_item_set_submenu(menu_item, G_MENU_MODEL(menu));
g_menu_append_item(menubar, menu_item);
g_object_unref(menu_item_quit);
g_object_unref(menu_item);
}