[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