[Goodies-commits] r7559 - in xfce4-notes-plugin/trunk: . panel-plugin

Mike Massonnet mmassonnet at xfce.org
Sat Jun 13 21:57:20 CEST 2009


Author: mmassonnet
Date: 2009-06-13 19:57:20 +0000 (Sat, 13 Jun 2009)
New Revision: 7559

Added:
   xfce4-notes-plugin/trunk/panel-plugin/xfce4-notes-plugin-47.desktop.in.in
Modified:
   xfce4-notes-plugin/trunk/ChangeLog
   xfce4-notes-plugin/trunk/configure.in.in
   xfce4-notes-plugin/trunk/panel-plugin/Makefile.am
   xfce4-notes-plugin/trunk/panel-plugin/main.vala
Log:
Support for libxfce4panel >= 4.7

Modified: xfce4-notes-plugin/trunk/ChangeLog
===================================================================
--- xfce4-notes-plugin/trunk/ChangeLog	2009-06-13 18:29:08 UTC (rev 7558)
+++ xfce4-notes-plugin/trunk/ChangeLog	2009-06-13 19:57:20 UTC (rev 7559)
@@ -1,5 +1,9 @@
 2009-06-09  Mike Massonnet <mmassonnet at xfce.org>
 
+Support for libxfce4panel >= 4.7
+
+2009-06-09  Mike Massonnet <mmassonnet at xfce.org>
+
 Minor automake script review
 
 2009-06-09  Mike Massonnet <mmassonnet at xfce.org>

Modified: xfce4-notes-plugin/trunk/configure.in.in
===================================================================
--- xfce4-notes-plugin/trunk/configure.in.in	2009-06-13 18:29:08 UTC (rev 7558)
+++ xfce4-notes-plugin/trunk/configure.in.in	2009-06-13 19:57:20 UTC (rev 7559)
@@ -34,6 +34,7 @@
 
 dnl Check for basic programs
 AC_PROG_CC_C_O
+AC_PROG_LD
 AC_PROG_INSTALL
 AC_PROG_LIBTOOL
 AC_PROG_INTLTOOL
@@ -45,25 +46,21 @@
 dnl Check for X11 installed
 XDT_CHECK_LIBX11_REQUIRE
 
-dnl configure the panel plugin
+dnl Check for required packages
 XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0])
 XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.4.0])
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.4.0])
 XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.4.0])
 XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.6.0])
 
-dnl check for valac
+dnl Check for libxfce4panel >= 4.7
+XDT_CHECK_OPTIONAL_PACKAGE([LIBXFCE4PANEL47], [libxfce4panel-1.0], [4.7.0], [], [])
+
+dnl Check for valac
 valac_minimum_version=0.7.1
+AC_PATH_PROG([VALAC], [valac], [valac])
+AC_SUBST(VALAC)
 if test "x$USE_MAINTAINER_MODE" = "xyes" ; then
-	AC_CHECK_PROG([has_valac], [valac], [yes], [no])
-	AC_PATH_PROG([VALAC], [valac], [valac])
-	AC_SUBST(VALAC)
-	if test "x$has_valac" != "xyes" ; then
-		echo "***"
-		echo "*** You need the valac compiler in order to compile parts of the project"
-		echo "***"
-		echo
-	fi
 	XDT_CHECK_PACKAGE([XFCE4VALA], [xfce4-vala], [0.1])
 fi
 

Modified: xfce4-notes-plugin/trunk/panel-plugin/Makefile.am
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/Makefile.am	2009-06-13 18:29:08 UTC (rev 7558)
+++ xfce4-notes-plugin/trunk/panel-plugin/Makefile.am	2009-06-13 19:57:20 UTC (rev 7559)
@@ -1,7 +1,7 @@
 INCLUDES =								\
 	-I$(top_srcdir)							\
 	-DGETTEXT_PACKAGE=\""$(GETTEXT_PACKAGE)"\"			\
-	-DPACKAGE_LOCALE_DIR=\"$(localedir)\"
+	-DPACKAGE_LOCALE_DIR=\""$(localedir)"\"
 
 #
 # Popup program
@@ -45,23 +45,52 @@
 #
 if MAINTAINER_MODE
 xfce4_notes_plugin_VALASOURCES =					\
-	main.vala							\
+	hypertextview.vala						\
+	note.vala							\
+	window.vala							\
 	application.vala						\
-	window.vala							\
-	note.vala							\
-	hypertextview.vala
+	main.vala
 
 vala_built_SOURCES = $(xfce4_notes_plugin_VALASOURCES:.vala=.c)
+BUILT_SOURCES = vala.stamp
 
-BUILT_SOURCES = vala.stamp
+if HAVE_LIBXFCE4PANEL47
+DEFINES=-D HAVE_LIBXFCE4PANEL47
+endif
 vala.stamp: $(xfce4_notes_plugin_VALASOURCES)
-	$(VALAC) --vapidir=$(srcdir) --pkg=config --pkg=color --pkg=popup --pkg=libxfconf-0 --pkg=libxfce4panel-1.0 $^ -C
+	$(VALAC) $(DEFINES) --vapidir=$(srcdir) --pkg=config --pkg=color --pkg=popup --pkg=libxfconf-0 --pkg=libxfcegui4-1.0 --pkg=libxfce4panel-1.0 $^ -C
 	touch $@
 endif
 
 #
 # Plugin
 #
+if HAVE_LIBXFCE4PANEL47
+
+plugindir = $(libdir)/xfce4/panel-plugins
+plugin_LTLIBRARIES = libnotes.la
+
+libnotes_la_SOURCES =							\
+	color.c								\
+	color.h								\
+	popup.c								\
+	popup.h								\
+	$(vala_built_SOURCES)
+
+libnotes_la_CFLAGS =							\
+	@LIBXFCE4PANEL_CFLAGS@						\
+	@LIBXFCE4UTIL_CFLAGS@						\
+	@LIBXFCEGUI4_CFLAGS@						\
+	@XFCONF_CFLAGS@
+
+libnotes_la_LIBADD =							\
+	@LIBXFCE4PANEL_LIBS@						\
+	@LIBXFCE4UTIL_LIBS@						\
+	@LIBXFCEGUI4_LIBS@						\
+	@XFCONF_LIBS@
+
+else
+
 plugindir = $(libexecdir)/xfce4/panel-plugins
 plugin_PROGRAMS = xfce4-notes-plugin
 
@@ -84,10 +113,16 @@
 	@LIBXFCEGUI4_LIBS@						\
 	@XFCONF_LIBS@
 
+endif
+
 #
 # Plugin desktop file
 #
+if HAVE_LIBXFCE4PANEL47
+desktop_in_in_files = xfce4-notes-plugin-47.desktop.in.in
+else
 desktop_in_in_files = xfce4-notes-plugin.desktop.in.in
+endif
 desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
 
 desktopdir = $(datadir)/xfce4/panel-plugins
@@ -95,7 +130,7 @@
 @INTLTOOL_DESKTOP_RULE@
 
 %.desktop.in: %.desktop.in.in
-	sed -e "s^@EXTERNAL_PLUGIN_PATH@^$(libexecdir)/xfce4/panel-plugins^" \
+	sed -e "s^@EXTERNAL_PLUGIN_PATH@^$(plugindir)^" \
 		$< > $@
 
 #

Modified: xfce4-notes-plugin/trunk/panel-plugin/main.vala
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/main.vala	2009-06-13 18:29:08 UTC (rev 7558)
+++ xfce4-notes-plugin/trunk/panel-plugin/main.vala	2009-06-13 19:57:20 UTC (rev 7559)
@@ -22,7 +22,11 @@
 using Xfce;
 using Gtk;
 
-public class NotesPlugin : GLib.Object {
+#if HAVE_LIBXFCE4PANEL47
+public class NotesPlugin : Xfce.PanelPlugin {
+#else
+public class NotesPlugin : Object {
+#endif
 
 	private Gtk.Invisible invisible;
 	private Gtk.Button button;
@@ -30,18 +34,43 @@
 	private Xfce.PanelPlugin panel_plugin;
 	private Xnp.Application application;
 
+#if HAVE_LIBXFCE4PANEL47
+	~NotesPlugin () {
+		Xfconf.shutdown ();
+	}
+
+	public override void @construct () {
+#else
 	public NotesPlugin (Xfce.PanelPlugin panel_plugin) {
-		this.panel_plugin = panel_plugin;
+#endif
+		Xfce.textdomain (Config.GETTEXT_PACKAGE, Config.PACKAGE_LOCALE_DIR);
+		try {
+			Xfconf.init ();
+		}
+		catch (Xfconf.Error e) {
+			warning ("%s", e.message);
+		}
 
-		application = new Xnp.Application (panel_plugin.save_location (true));
+		application = new Xnp.Application (save_location (true));
 
+#if HAVE_LIBXFCE4PANEL47
+		panel_plugin = this;
+		button = (Gtk.Button)Xfce.panel_create_button ();
+#else
+		this.panel_plugin = panel_plugin;
 		button = Xfce.create_panel_button ();
+#endif
 		image = new Gtk.Image ();
 		button.add (image);
 		button.clicked += () => { application.show_hide_notes (); };
 		button.show_all ();
 		panel_plugin.add (button);
 		panel_plugin.add_action_widget (button);
+		panel_plugin.set_tooltip_text (_("Notes"));
+		panel_plugin.menu_show_configure ();
+
+		set_x_selection ();
+
 		panel_plugin.size_changed += (p, size) => {
 			button.set_size_request (size, size);
 			size -= 2 + 2 * ((button.style.xthickness > button.style.ythickness) ? button.style.xthickness : button.style.ythickness);
@@ -51,9 +80,6 @@
 			image.set_from_pixbuf (pixbuf);
 			return true;
 		};
-
-		set_x_selection ();
-
 		panel_plugin.save += () => {
 			application.save_windows_configuration ();
 		};
@@ -86,25 +112,20 @@
 		return true;
 	}
 
+}
 
+#if HAVE_LIBXFCE4PANEL47
+[ModuleInit]
+public Type __xpp_init (TypeModule module) {
+	return typeof (NotesPlugin);
+}
+#else
+static NotesPlugin plugin;
+public static void register (Xfce.PanelPlugin panel_plugin) {
+	plugin = new NotesPlugin (panel_plugin);
+}
 
-	static NotesPlugin plugin;
-	public static void register (Xfce.PanelPlugin panel_plugin) {
-		plugin = new NotesPlugin (panel_plugin);
-		panel_plugin.set_tooltip_text (_("Notes"));
-		panel_plugin.menu_show_configure ();
-	}
-
-	public static int main (string[] args) {
-		Xfce.textdomain (Config.GETTEXT_PACKAGE, Config.PACKAGE_LOCALE_DIR);
-		try {
-			Xfconf.init ();
-		}
-		catch (Xfconf.Error e) {
-			warning ("%s", e.message);
-		}
-		Xfce.PanelPluginRegisterExternal (ref args, NotesPlugin.register);
-		Xfconf.shutdown ();
-		return 0;
-	}
+public static int main (string[] args) {
+	return Xfce.PanelPluginRegisterExternal (ref args, register);
 }
+#endif

Added: xfce4-notes-plugin/trunk/panel-plugin/xfce4-notes-plugin-47.desktop.in.in
===================================================================
--- xfce4-notes-plugin/trunk/panel-plugin/xfce4-notes-plugin-47.desktop.in.in	                        (rev 0)
+++ xfce4-notes-plugin/trunk/panel-plugin/xfce4-notes-plugin-47.desktop.in.in	2009-06-13 19:57:20 UTC (rev 7559)
@@ -0,0 +1,10 @@
+[Xfce Panel]
+Type=X-XFCE-PanelPlugin
+Encoding=UTF-8
+_Name=Notes
+_Comment=Ideal for your quick notes
+Icon=xfce4-notes-plugin
+X-XFCE-Unique=true
+X-XFCE-Module=notes
+X-XFCE-Module-Path=@EXTERNAL_PLUGIN_PATH@
+X-XFCE-Internal=FALSE




More information about the Goodies-commits mailing list