[gnome-builder/wip/gtk4-port] libide/gui: setup menus from menu-id property



commit d7936f8d3a982be8291a49a650bccff0d3d5d990
Author: Christian Hergert <chergert redhat com>
Date:   Tue May 17 16:56:26 2022 -0700

    libide/gui: setup menus from menu-id property

 src/libide/editor/ide-editor-page.c | 5 +----
 src/libide/gui/ide-page.c           | 7 +++++++
 2 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/libide/editor/ide-editor-page.c b/src/libide/editor/ide-editor-page.c
index 433b2b7eb..4e05ab46d 100644
--- a/src/libide/editor/ide-editor-page.c
+++ b/src/libide/editor/ide-editor-page.c
@@ -416,10 +416,7 @@ ide_editor_page_init (IdeEditorPage *self)
   gtk_widget_init_template (GTK_WIDGET (self));
 
   ide_page_set_can_split (IDE_PAGE (self), TRUE);
-
-  /* Load menus for editor pages */
-  menu = ide_application_get_menu_by_id (IDE_APPLICATION_DEFAULT, "ide-editor-page-menu");
-  panel_widget_set_menu_model (PANEL_WIDGET (self), G_MENU_MODEL (menu));
+  ide_page_set_menu_id (IDE_PAGE (self), "ide-editor-page-menu");
 
   /* Add menus to source view */
   menu = ide_application_get_menu_by_id (IDE_APPLICATION_DEFAULT, "ide-source-view-popup-menu");
diff --git a/src/libide/gui/ide-page.c b/src/libide/gui/ide-page.c
index aa93e592c..75fec6371 100644
--- a/src/libide/gui/ide-page.c
+++ b/src/libide/gui/ide-page.c
@@ -27,6 +27,7 @@
 #include <libide-gtk.h>
 #include <libide-threading.h>
 
+#include "ide-application.h"
 #include "ide-gui-global.h"
 #include "ide-page.h"
 #include "ide-workspace-private.h"
@@ -314,7 +315,13 @@ ide_page_set_menu_id (IdePage    *self,
 
   if (menu_id != priv->menu_id)
     {
+      GMenu *menu;
+
       priv->menu_id = menu_id;
+
+      menu = ide_application_get_menu_by_id (IDE_APPLICATION_DEFAULT, menu_id);
+      panel_widget_set_menu_model (PANEL_WIDGET (self), G_MENU_MODEL (menu));
+
       g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_MENU_ID]);
     }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]