#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);
}
