From 631e558d1b4ec53d49e43a7bcb27405a7e282a4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Holzenk=C3=A4mpfer?= Date: Tue, 28 Apr 2026 19:58:14 +0200 Subject: [PATCH] Add button to show and hide menubar --- src/resources/xviewer-app-menu.xml | 4 ++++ src/resources/xviewer-ui.xml | 1 + src/xviewer-window.c | 8 +++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/resources/xviewer-app-menu.xml b/src/resources/xviewer-app-menu.xml index 2edd74e2..11b48f7d 100644 --- a/src/resources/xviewer-app-menu.xml +++ b/src/resources/xviewer-app-menu.xml @@ -4,6 +4,10 @@ _View + + app.menubar + _Menubar + app.toolbar _Toolbar diff --git a/src/resources/xviewer-ui.xml b/src/resources/xviewer-ui.xml index a164a7e8..0ac65f3f 100644 --- a/src/resources/xviewer-ui.xml +++ b/src/resources/xviewer-ui.xml @@ -44,6 +44,7 @@ + diff --git a/src/xviewer-window.c b/src/xviewer-window.c index cd8207c9..09d23169 100644 --- a/src/xviewer-window.c +++ b/src/xviewer-window.c @@ -2731,7 +2731,10 @@ xviewer_window_cmd_show_hide_bar (GtkAction *action, gpointer user_data) visible = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); - if (g_ascii_strcasecmp (gtk_action_get_name (action), "ViewToolbar") == 0) { + if (g_ascii_strcasecmp (gtk_action_get_name (action), "ViewMenubar") == 0) { + GtkWidget* menubar = gtk_ui_manager_get_widget (priv->ui_mgr, "/MainMenu"); + g_object_set (G_OBJECT (menubar), "visible", visible, NULL); + } else if (g_ascii_strcasecmp (gtk_action_get_name (action), "ViewToolbar") == 0) { g_object_set (G_OBJECT (priv->toolbar_revealer), "reveal-child", visible, NULL); if (priv->mode == XVIEWER_WINDOW_MODE_NORMAL) @@ -4252,6 +4255,9 @@ static const GtkActionEntry action_entries_window[] = { }; static const GtkToggleActionEntry toggle_entries_window[] = { + { "ViewMenubar", NULL, N_("_Menubar"), "F8", + N_("Changes the visibility of the menubar in the current window"), + G_CALLBACK (xviewer_window_cmd_show_hide_bar), TRUE }, { "ViewToolbar", NULL, N_("_Toolbar"), NULL, N_("Changes the visibility of the toolbar in the current window"), G_CALLBACK (xviewer_window_cmd_show_hide_bar), TRUE },