[glade/glade-3-8] [Glade Bug 663492] Update Mac integration bindings to GtkOSXApplication



commit 5284fe2e57aa004139b38ca13972e50652cffa29
Author: John Ralls <jralls ceridwen us>
Date:   Tue Nov 8 16:10:10 2011 -0800

    [Glade Bug 663492] Update Mac integration bindings to GtkOSXApplication

 configure.ac        |   12 ++++++------
 gladeui/Makefile.am |    6 +++---
 gladeui/glade-app.c |    8 +++-----
 src/Makefile.am     |    4 ++--
 src/glade-window.c  |   35 ++++++++++++++++++++++++++++++-----
 5 files changed, 44 insertions(+), 21 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d398e2a..8f40b99 100644
--- a/configure.ac
+++ b/configure.ac
@@ -230,9 +230,9 @@ dnl ================================================================
 _gdk_tgt=`$PKG_CONFIG --variable=target gdk-2.0`
 AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
 if test "x$_gdk_tgt" = xquartz; then 
-   PKG_CHECK_MODULES(IGE_MAC, ige-mac-integration)
+   PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration)
 
-   IGE_MAC_BUNDLE_FLAG=
+   GTK_MAC_BUNDLE_FLAG=
 
    AC_ARG_ENABLE(mac-bundle,
       AS_HELP_STRING([--enable-mac-bundle], [enable mac bundling]),
@@ -241,12 +241,12 @@ if test "x$_gdk_tgt" = xquartz; then
    if test "x$build_bundle" = xyes; then
       AC_MSG_NOTICE([enableing mac bundle..])
 
-      IGE_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
+      GTK_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
    fi      
 
-   AC_SUBST(IGE_MAC_BUNDLE_FLAG)
-   AC_SUBST(IGE_MAC_LIBS)
-   AC_SUBST(IGE_MAC_CFLAGS)
+   AC_SUBST(GTK_MAC_BUNDLE_FLAG)
+   AC_SUBST(GTK_MAC_LIBS)
+   AC_SUBST(GTK_MAC_CFLAGS)
 fi
 
 AC_SUBST([AM_CPPFLAGS])
diff --git a/gladeui/Makefile.am b/gladeui/Makefile.am
index c2ef6e4..b4741b2 100644
--- a/gladeui/Makefile.am
+++ b/gladeui/Makefile.am
@@ -67,8 +67,8 @@ libgladeui_1_la_CPPFLAGS =  \
 	-I$(top_srcdir)     \
 	-I$(top_builddir)   \
 	$(GTK_CFLAGS)       \
-	$(IGE_MAC_BUNDLE_FLAG) \
-	$(IGE_MAC_CFLAGS)  \
+	$(GTK_MAC_BUNDLE_FLAG) \
+	$(GTK_MAC_CFLAGS)  \
 	$(WARN_CFLAGS)      \
 	$(AM_CPPFLAGS)
 
@@ -76,7 +76,7 @@ libgladeui_1_la_CFLAGS =    \
 	$(AM_CFLAGS)
 
 libgladeui_1_la_LDFLAGS = -version-info $(GLADE_CURRENT):$(GLADE_REVISION):$(GLADE_AGE) $(AM_LDFLAGS)
-libgladeui_1_la_LIBADD = $(GTK_LIBS) $(IGE_MAC_LIBS)
+libgladeui_1_la_LIBADD = $(GTK_LIBS) $(GTK_MAC_LIBS)
 
 
 libgladeuiincludedir=$(includedir)/libgladeui-1.0/gladeui
diff --git a/gladeui/glade-app.c b/gladeui/glade-app.c
index 88cdd48..8af1f08 100644
--- a/gladeui/glade-app.c
+++ b/gladeui/glade-app.c
@@ -49,7 +49,7 @@
 #include <gtk/gtk.h>
 
 #ifdef MAC_INTEGRATION
-#  include <ige-mac-integration.h>
+#  include <gtkosxapplication.h>
 #endif
 
 #define GLADE_CONFIG_FILENAME "glade-3.conf"
@@ -380,10 +380,8 @@ build_package_paths (void)
 	prefix = g_win32_get_package_installation_directory_of_module (NULL);
 
 # else // defined (MAC_INTEGRATION) && defined (MAC_BUNDLE)
-	IgeMacBundle *bundle = ige_mac_bundle_get_default ();
-
-	prefix = g_build_filename (ige_mac_bundle_get_path (bundle), "Contents", "Resources", NULL);
-# endif 
+	prefix = quartz_application_get_bundle_path ();
+# endif
 
 	pixmaps_dir  = g_build_filename (prefix, "share", PACKAGE, "pixmaps", NULL);
 	catalogs_dir = g_build_filename (prefix, "share", PACKAGE, "catalogs", NULL);
diff --git a/src/Makefile.am b/src/Makefile.am
index 4ec720a..00b4150 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,7 +7,7 @@ glade_3_CPPFLAGS = \
 	-I$(top_builddir)  \
 	-DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \
 	$(GTK_CFLAGS)      \
-	$(IGE_MAC_CFLAGS)  \
+	$(GTK_MAC_CFLAGS)  \
 	$(WARN_CFLAGS)     \
 	$(AM_CPPFLAGS)
 
@@ -16,7 +16,7 @@ glade_3_CFLAGS =           \
 
 glade_3_LDFLAGS = $(AM_LDFLAGS)
 
-glade_3_LDADD = $(top_builddir)/gladeui/libgladeui-1.la $(IGE_MAC_LIBS)
+glade_3_LDADD = $(top_builddir)/gladeui/libgladeui-1.la $(GTK_MAC_LIBS)
 
 glade_3_SOURCES = \
 	glade-window.c \
diff --git a/src/glade-window.c b/src/glade-window.c
index b21dba7..f9f971b 100644
--- a/src/glade-window.c
+++ b/src/glade-window.c
@@ -42,7 +42,7 @@
 #include <gtk/gtk.h>
 
 #ifdef MAC_INTEGRATION
-#  include <ige-mac-integration.h>
+#  include <gtkosxapplication.h>
 #endif
 
 
@@ -3369,11 +3369,36 @@ glade_window_init (GladeWindow *window)
 #ifdef MAC_INTEGRATION
 	{
 		/* Fix up the menubar for MacOSX Quartz builds */
+		GtkWidget *sep;
+		GtkOSXApplication *theApp = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL);
 		gtk_widget_hide (menubar);
-		ige_mac_menu_set_menu_bar (GTK_MENU_SHELL (menubar));
-		
-		widget = gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/FileMenu/Quit");
-		ige_mac_menu_set_quit_menu_item (GTK_MENU_ITEM (widget));
+		gtk_osxapplication_set_menu_bar(theApp, GTK_MENU_SHELL(menubar));
+		widget =
+			gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/FileMenu/Quit");
+		gtk_widget_hide (widget);
+		widget =
+			gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/HelpMenu/About");
+		gtk_osxapplication_insert_app_menu_item (theApp, widget, 0);
+		sep = gtk_separator_menu_item_new();
+		g_object_ref(sep);
+		gtk_osxapplication_insert_app_menu_item (theApp, sep, 1);
+
+		widget =
+			gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/EditMenu/Preferences");
+		gtk_osxapplication_insert_app_menu_item  (theApp, widget, 2);
+		sep = gtk_separator_menu_item_new();
+		g_object_ref(sep);
+		gtk_osxapplication_insert_app_menu_item (theApp, sep, 3);
+
+		widget =
+			gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/HelpMenu");
+		gtk_osxapplication_set_help_menu(theApp, GTK_MENU_ITEM(widget));
+
+		g_signal_connect(theApp, "NSApplicationWillTerminate",
+				 G_CALLBACK(quit_cb), window);
+
+		gtk_osxapplication_ready(theApp);
+
 	}
 #endif
 



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