diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-01-15 01:59:56 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-01-15 01:59:56 +0000 |
commit | 15bb3b577ec9a8cb50758c4b017718e342a2439c (patch) | |
tree | 293407ebe738cfc3378335a82cb69e75751e9e73 /gtk2_ardour/cocoacarbon.mm | |
parent | 496a2da48f8a02a4be7761f0da6eb0b3828ee68b (diff) |
rework "ige_mac" menubar integration from Carbon to Cocoa; recast as start of GtkApplication object as per discussions on #gtk+; associated changes in ardour; NOT TESTED ON X11, LEOPARD or SNOW LEOPARD
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6493 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/cocoacarbon.mm')
-rw-r--r-- | gtk2_ardour/cocoacarbon.mm | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/gtk2_ardour/cocoacarbon.mm b/gtk2_ardour/cocoacarbon.mm index c39bbe5ed9..ddf1f26f9f 100644 --- a/gtk2_ardour/cocoacarbon.mm +++ b/gtk2_ardour/cocoacarbon.mm @@ -16,17 +16,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <Carbon/Carbon.h> // bring it in early -#undef check // nuke this stupidity -#define APPLE_SAYS_YES YES -#undef YES // and this -#undef NO // and this +#include <gtkmm2ext/gtkapplication.h> +#include <gdk/gdkquartz.h> +#undef check +#undef YES +#undef NO #include "ardour_ui.h" #include "actions.h" #include "opts.h" -#include <gtkmm2ext/sync-menu.h> -#include <gdk/gdkquartz.h> sigc::signal<void,bool> ApplicationActivationChanged; @@ -74,7 +72,12 @@ sigc::signal<void,bool> ApplicationActivationChanged; { Glib::ustring utf8_path ([file UTF8String]); ARDOUR_UI::instance()->idle_load (utf8_path); - return APPLE_SAYS_YES; + return 1; +} +- (NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication *)sender +{ + Gtkmm2ext::UI::instance()->quit (); + return NSTerminateCancel; } @end @@ -83,23 +86,16 @@ ARDOUR_UI::platform_specific () { Gtk::Widget* widget; - cerr << "Plaform specific GUI stuff\n"; - - widget = ActionManager::get_widget ("/ui/Main/Session/Quit"); - if (widget) { - ige_mac_menu_set_quit_menu_item ((GtkMenuItem*) widget->gobj()); - } - - IgeMacMenuGroup* group = ige_mac_menu_add_app_menu_group (); + GtkApplicationMenuGroup* group = gtk_application_add_app_menu_group (); widget = ActionManager::get_widget ("/ui/Main/Help/About"); if (widget) { - ige_mac_menu_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); + gtk_application_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); } widget = ActionManager::get_widget ("/ui/Main/WindowMenu/ToggleOptionsEditor"); if (widget) { - ige_mac_menu_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); + gtk_application_add_app_menu_item (group, (GtkMenuItem*) widget->gobj(), 0); } [ NSApp finishLaunching ]; @@ -118,7 +114,6 @@ ARDOUR_UI::platform_setup () /* this will stick around for ever ... is that OK ? */ [ [AppNotificationObject alloc] init]; - [ NSApp setDelegate: [ArdourApplicationDelegate new]]; } |