[Xfce4-commits] r26504 - in libxfcegui4/trunk: . glade glade/16x16 glade/22x22

Brian Tarricone kelnos at xfce.org
Wed Dec 26 04:13:04 CET 2007


Author: kelnos
Date: 2007-12-26 03:13:04 +0000 (Wed, 26 Dec 2007)
New Revision: 26504

Added:
   libxfcegui4/trunk/glade/libglade-xfce4.c
Modified:
   libxfcegui4/trunk/Makefile.am
   libxfcegui4/trunk/configure.in.in
   libxfcegui4/trunk/glade/16x16/Makefile.am
   libxfcegui4/trunk/glade/22x22/Makefile.am
   libxfcegui4/trunk/glade/Makefile.am
Log:
fix glade pixmap location for glade >= 3.4.0


Modified: libxfcegui4/trunk/Makefile.am
===================================================================
--- libxfcegui4/trunk/Makefile.am	2007-12-24 15:26:15 UTC (rev 26503)
+++ libxfcegui4/trunk/Makefile.am	2007-12-26 03:13:04 UTC (rev 26504)
@@ -1,6 +1,6 @@
 # $Id$
 
-if HAVE_GLADEUI
+if HAVE_GLADE
 glade_dir = glade
 endif
 

Modified: libxfcegui4/trunk/configure.in.in
===================================================================
--- libxfcegui4/trunk/configure.in.in	2007-12-24 15:26:15 UTC (rev 26503)
+++ libxfcegui4/trunk/configure.in.in	2007-12-26 03:13:04 UTC (rev 26504)
@@ -10,7 +10,7 @@
 m4_define([libxfcegui4_verinfo], [6:4:2])
 m4_define([libxfcegui4_version_major], [4])
 m4_define([libxfcegui4_version_minor], [5])
-m4_define([libxfcegui4_version_micro], [1])
+m4_define([libxfcegui4_version_micro], [2])
 m4_define([libxfcegui4_version_nano], [])   dnl leave this empty to have no nano version
 m4_define([libxfcegui4_version_build], [@REVISION@])
 m4_define([libxfcegui4_version_tag], [])
@@ -108,21 +108,37 @@
                            [0.5], [startup-notification],
                            [startup notification library])
 
+dnl glade/libglade integration
 XDT_CHECK_OPTIONAL_PACKAGE([GLADEUI], [gladeui-1.0], [3.0.0], [glade],
                            [glade/libglade integration])
-if test "x$GLADEUI_FOUND" = "xyes"; then
+XDT_CHECK_OPTIONAL_PACKAGE([LIBGLADE], [libglade-2.0], [2.0.0], [libglade],
+                           [glade/libglade integration])
+if test "x$GLADEUI_FOUND" = "xyes" -a "x$LIBGLADE_FOUND" = "xyes"; then
     GLADE_CATALOG_DIR="`$PKG_CONFIG gladeui-1.0 --variable=catalogdir`"
     GLADE_PIXMAP_DIR="`$PKG_CONFIG gladeui-1.0 --variable=pixmapdir`"
     GLADE_MODULE_DIR="`$PKG_CONFIG gladeui-1.0 --variable=moduledir`"
+    
+    LIBGLADE_MODULE_DIR="`$PKG_CONFIG libglade-2.0 --variable=moduledir`"
+    
+    dnl this is retarded.  glade 3.4.0 changed the pixmap dir layout
+    GLADEUI_MAJOR="`echo $GLADEUI_VERSION | cut -d. -f1`"
+    GLADEUI_MINOR="`echo $GLADEUI_VERSION | cut -d. -f2`"
+    if test $GLADEUI_MAJOR -gt 3 || test $GLADEUI_MAJOR -eq 3 -a $GLADEUI_MINOR -ge 4; then
+        have_glade_pixmap_themes=yes
+    fi
 else
     GLADE_CATALOG_DIR=
     GLADE_PIXMAP_DIR=
     GLADE_MODULE_DIR=
+    
+    LIBGLADE_MODULE_DIR=
 fi
 AC_SUBST(GLADE_CATALOG_DIR)
 AC_SUBST(GLADE_PIXMAP_DIR)
 AC_SUBST(GLADE_MODULE_DIR)
-AM_CONDITIONAL([HAVE_GLADEUI], [test "x$GLADEUI_FOUND" = "xyes"])
+AC_SUBST(LIBGLADE_MODULE_DIR)
+AM_CONDITIONAL([HAVE_GLADE], [test "x$GLADEUI_FOUND" = "xyes" -a "x$LIBGLADE_FOUND" = "xyes"])
+AM_CONDITIONAL([HAVE_GLADE_PIXMAP_THEMES], [test "x$have_glade_pixmap_themes" = "xyes"])
 
 dnl *************************
 dnl *** Check for gtk-doc ***

Modified: libxfcegui4/trunk/glade/16x16/Makefile.am
===================================================================
--- libxfcegui4/trunk/glade/16x16/Makefile.am	2007-12-24 15:26:15 UTC (rev 26503)
+++ libxfcegui4/trunk/glade/16x16/Makefile.am	2007-12-26 03:13:04 UTC (rev 26504)
@@ -1,9 +1,23 @@
-gladepixmapdir = $(GLADE_PIXMAP_DIR)/16x16
-gladepixmap_DATA = \
+glade_pixmaps = \
 	xfce-app-menu-item.png \
 	xfce-heading.png \
 	xfce-movehandler.png \
 	xfce-scaled-image.png \
 	xfce-titled-dialog.png
 
-EXTRA_DIST = $(gladepixmap_DATA)
+if HAVE_GLADE_PIXMAP_THEMES
+gladepixmapdir = $(GLADE_PIXMAP_DIR)/hicolor/16x16/actions
+gladepixmap_DATA = $(addprefix widget-xfce4-,$(glade_pixmaps))
+
+widget-xfce4-%.png: $(srcdir)/%.png
+	cp $< $@
+
+DISTCLEANFILES = $(gladepixmap_DATA)
+
+else
+gladepixmapdir = $(GLADE_PIXMAP_DIR)/16x16
+gladepixmap_DATA = $(glade_pixmaps)
+endif
+
+
+EXTRA_DIST = $(glade_pixmaps)

Modified: libxfcegui4/trunk/glade/22x22/Makefile.am
===================================================================
--- libxfcegui4/trunk/glade/22x22/Makefile.am	2007-12-24 15:26:15 UTC (rev 26503)
+++ libxfcegui4/trunk/glade/22x22/Makefile.am	2007-12-26 03:13:04 UTC (rev 26504)
@@ -1,9 +1,23 @@
-gladepixmapdir = $(GLADE_PIXMAP_DIR)/22x22
-gladepixmap_DATA = \
+glade_pixmaps = \
 	xfce-app-menu-item.png \
 	xfce-heading.png \
 	xfce-movehandler.png \
 	xfce-scaled-image.png \
 	xfce-titled-dialog.png
 
-EXTRA_DIST = $(gladepixmap_DATA)
+if HAVE_GLADE_PIXMAP_THEMES
+gladepixmapdir = $(GLADE_PIXMAP_DIR)/hicolor/22x22/actions
+gladepixmap_DATA = $(addprefix widget-xfce4-,$(glade_pixmaps))
+
+widget-xfce4-%.png: $(srcdir)/%.png
+	cp $< $@
+
+DISTCLEANFILES = $(gladepixmap_DATA)
+
+else
+gladepixmapdir = $(GLADE_PIXMAP_DIR)/22x22
+gladepixmap_DATA = $(glade_pixmaps)
+endif
+
+
+EXTRA_DIST = $(glade_pixmaps)

Modified: libxfcegui4/trunk/glade/Makefile.am
===================================================================
--- libxfcegui4/trunk/glade/Makefile.am	2007-12-24 15:26:15 UTC (rev 26503)
+++ libxfcegui4/trunk/glade/Makefile.am	2007-12-26 03:13:04 UTC (rev 26504)
@@ -5,6 +5,10 @@
 INCLUDES = \
 	$(PLATFORM_CPPFLAGS)
 
+#
+# stuff for the glade GUI
+#
+
 glademoduledir = $(GLADE_MODULE_DIR)
 
 glademodule_LTLIBRARIES = libgladexfce4.la
@@ -37,5 +41,38 @@
 @INTLTOOL_XML_NOMERGE_RULE@
 
 
+#
+# stuff for libglade
+#
+
+libglademoduledir = $(LIBGLADE_MODULE_DIR)
+
+libglademodule_LTLIBRARIES = libxfce4.la
+
+libxfce4_la_SOURCES = \
+	libglade-xfce4.c
+
+libxfce4_la_CFLAGS = \
+	-I$(top_srcdir) \
+	$(LIBXFCE4UTIL_CFLAGS) \
+	$(LIBGLADE_CFLAGS) \
+	$(PLATFORM_CFLAGS)
+
+libxfce4_la_LDFLAGS = \
+	-export-dynamic \
+	-avoid-version \
+	-module
+if HAVE_CYGWIN
+  libxfce4_la_LDFLAGS += \
+	-no-undefined
+endif
+libxfce4_la_LDFLAGS += \
+	$(PLATFORM_LDFLAGS)
+
+libxfce4_la_LIBADD = \
+	$(LIBGLADE_LIBS) \
+	$(top_builddir)/libxfcegui4/libxfcegui4.la 
+
+
 CLEANFILES = xfce4.xml
 EXTRA_DIST = $(gladecatalog_DATA)

Added: libxfcegui4/trunk/glade/libglade-xfce4.c
===================================================================
--- libxfcegui4/trunk/glade/libglade-xfce4.c	                        (rev 0)
+++ libxfcegui4/trunk/glade/libglade-xfce4.c	2007-12-26 03:13:04 UTC (rev 26504)
@@ -0,0 +1,60 @@
+/*
+ *  libgladexfce4 - libglade module for libxfcegui4
+ *
+ *  Copyright (c) 2007 Brian Tarricone <bjt23 at cornell.edu>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; version 2 of the License ONLY.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include <gmodule.h>
+
+#include <glade/glade.h>
+#include <glade/glade-build.h>
+#include <gtk/gtk.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+
+static GtkWidget *
+titled_dialog_find_internal_child(GladeXML *xml,
+                                  GtkWidget *parent,
+                                  const gchar *child_name)
+{
+    if(!strcmp(child_name, "vbox"))
+        return GTK_DIALOG(parent)->vbox;
+    else if(!strcmp(child_name, "action_area"))
+        return GTK_DIALOG(parent)->action_area;
+    
+    return NULL;
+}
+
+G_MODULE_EXPORT void
+glade_module_register_widgets()
+{
+    glade_register_widget(XFCE_TYPE_APP_MENU_ITEM, NULL, NULL, NULL);
+    glade_register_widget(XFCE_TYPE_HEADING, NULL, NULL, NULL);
+    glade_register_widget(XFCE_TYPE_SCALED_IMAGE, NULL, NULL, NULL);
+    glade_register_widget(XFCE_TYPE_TITLED_DIALOG, glade_standard_build_widget,
+                          glade_standard_build_children,
+                          titled_dialog_find_internal_child);
+    
+    glade_provide("xfce4");
+}



More information about the Xfce4-commits mailing list