summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_ed.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_ui_ed.cc')
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc28
1 files changed, 24 insertions, 4 deletions
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index b795bc5ae8..30e8488106 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -42,6 +42,7 @@
#include "utils.h"
#include <gtkmm2ext/gtkapplication.h>
+#include <gtkmm2ext/application.h>
#include <ardour/session.h>
#include <ardour/profile.h>
@@ -851,10 +852,29 @@ ARDOUR_UI::build_menu_bar ()
void
ARDOUR_UI::use_menubar_as_top_menubar ()
{
-#ifdef GTKOSX
- gtk_application_set_menu_bar ((GtkMenuShell*) menu_bar->gobj());
- // ige_mac_menu_set_quit_menu_item (some_item->gobj());
-#endif
+ Gtk::Widget* widget;
+ Application* app = Application::instance ();
+
+ /* Quit will be taken of separately */
+
+ if ((widget = ActionManager::get_widget ("/ui/Main/Session/Quit"))) {
+ widget->hide ();
+ }
+
+ GtkApplicationMenuGroup* group = app->add_app_menu_group ();
+
+ if ((widget = ActionManager::get_widget ("/ui/Main/Help/About"))) {
+ app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
+ }
+
+ if ((widget = ActionManager::get_widget ("/ui/Main/WindowMenu/ToggleOptionsEditor"))) {
+ app->add_app_menu_item (group, dynamic_cast<MenuItem*>(widget));
+ }
+
+ app->set_menu_bar (*menu_bar);
+
+ app->ShouldQuit.connect (sigc::mem_fun (*this, &UI::quit));
+ app->ShouldLoad.connect (sigc::mem_fun (*this, &ARDOUR_UI::idle_load));
}
void