X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=macos.c;h=1b7da1ec6192e6143809cda9787a91fafc5045e8;hb=03eb488dd238bcec4b4758eab4559b3c40e6435c;hp=c61546ac83115c84e16d95994c42c3cb0f336966;hpb=eac816b9d8a199375cf023a956c0959ccf3bc87b;p=ext%2Fsubsurface.git diff --git a/macos.c b/macos.c index c61546a..1b7da1e 100644 --- a/macos.c +++ b/macos.c @@ -5,7 +5,7 @@ #include #include "gtkosxapplication.h" -static GtkOSXApplication *theApp; +static GtkOSXApplication *osx_app; /* macos defines CFSTR to create a CFString object from a constant, * but no similar macros if a C string variable is supposed to be @@ -59,13 +59,18 @@ const void *subsurface_get_conf(char *name, pref_type_t type) return NULL; } -void subsurface_close_conf(void) +void subsurface_flush_conf(void) { int ok = CFPreferencesAppSynchronize(SUBSURFACE_PREFERENCES); if (!ok) fprintf(stderr,"Could not save preferences\n"); } +void subsurface_close_conf(void) +{ + /* Nothing */ +} + const char *subsurface_USB_name() { return "/dev/tty.SLAB_USBtoUART"; @@ -81,16 +86,38 @@ const char *subsurface_icon_name() } void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar, - GtkWidget *vbox) + GtkWidget *vbox, GtkUIManager *ui_manager) { + GtkWidget *menu_item, *sep; + if (!divelist_font) divelist_font = DIVELIST_MAC_DEFAULT_FONT; g_object_set(G_OBJECT(settings), "gtk-font-name", UI_FONT, NULL); - theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL); + osx_app = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL); gtk_widget_hide (menubar); - gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar)); - gtk_osxapplication_set_use_quartz_accelerators(theApp, TRUE); - gtk_osxapplication_ready(theApp); + gtk_osxapplication_set_menu_bar(osx_app, GTK_MENU_SHELL(menubar)); + + sep = gtk_ui_manager_get_widget(ui_manager, "/MainMenu/FileMenu/Separator2"); + if (sep) + gtk_widget_destroy(sep); + + menu_item = gtk_ui_manager_get_widget(ui_manager, "/MainMenu/FileMenu/Quit"); + gtk_widget_hide (menu_item); + menu_item = gtk_ui_manager_get_widget(ui_manager, "/MainMenu/Help/About"); + gtk_osxapplication_insert_app_menu_item(osx_app, menu_item, 0); + + sep = gtk_separator_menu_item_new(); + g_object_ref(sep); + gtk_osxapplication_insert_app_menu_item (osx_app, sep, 1); + + menu_item = gtk_ui_manager_get_widget(ui_manager, "/MainMenu/FileMenu/Preferences"); + gtk_osxapplication_insert_app_menu_item(osx_app, menu_item, 2); + + sep = gtk_separator_menu_item_new(); + g_object_ref(sep); + gtk_osxapplication_insert_app_menu_item (osx_app, sep, 3); + gtk_osxapplication_set_use_quartz_accelerators(osx_app, TRUE); + gtk_osxapplication_ready(osx_app); }