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