[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