diff options
| author | Mike Massonnet <mmassonnet@gmail.com> | 2012-10-24 06:07:29 +0200 |
|---|---|---|
| committer | Mike Massonnet <mmassonnet@gmail.com> | 2012-10-24 06:07:29 +0200 |
| commit | d11fe51fae95b5b4963847be76ae4a07409a6076 (patch) | |
| tree | 1af24af87ea7affc9f7c9fca3fb0333d17821436 | |
| parent | 7380224d7bd90f085adc9de0a94a9053193324b5 (diff) | |
| download | xfce4-notes-plugin-d11fe51fae95b5b4963847be76ae4a07409a6076.tar.gz | |
Bump dependency to Xfce 4.10
Drop support for Xfce <= 4.6.
Replace libxfcegui4 dependency against libxfce4ui.
Update to new libtool syntax (use LT_PREREQ.)
| -rw-r--r-- | configure.ac.in | 39 | ||||
| -rw-r--r-- | lib/window.vala | 1 | ||||
| -rw-r--r-- | src/Makefile.am | 55 | ||||
| -rw-r--r-- | src/main-panel-plugin-47.vala | 98 | ||||
| -rw-r--r-- | src/main-panel-plugin.vala | 60 | ||||
| -rw-r--r-- | src/xfce4-notes-plugin.desktop.in (renamed from src/xfce4-notes-plugin-47.desktop.in) | 0 | ||||
| -rw-r--r-- | src/xfce4-notes-plugin.desktop.in.in | 8 | ||||
| -rw-r--r-- | src/xfce4-notes-settings.c | 6 |
8 files changed, 47 insertions, 220 deletions
diff --git a/configure.ac.in b/configure.ac.in index d59022b..a6f83e5 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -19,21 +19,17 @@ AC_INIT([Notes], [xfce4_notes_plugin_version], [http://bugzilla.xfce.org/], [xfc AC_REVISION([xfce4_notes_plugin_version_build]) AC_CANONICAL_TARGET() +LT_PREREQ([2.2.6]) +LT_INIT([disable-static]) + AM_INIT_AUTOMAKE([1.11 dist-bzip2]) AM_CONFIG_HEADER([config.h]) AM_MAINTAINER_MODE() AM_SILENT_RULES([yes]) -dnl Avoid g77 and g++ checks -m4_undefine([AC_PROG_CXX]) -m4_defun([AC_PROG_CXX],[]) -m4_undefine([AC_PROG_F77]) -m4_defun([AC_PROG_F77],[]) - dnl Check for basic programs AM_PROG_CC_C_O() AC_PROG_LD() -AC_PROG_LIBTOOL() AC_PROG_INSTALL() AC_PROG_INTLTOOL() @@ -46,33 +42,22 @@ AC_SUBST([MATH_LIBS], [" -lm"]) dnl Check for required packages XDT_CHECK_LIBX11_REQUIRE() -XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.16.0]) -XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.16.0]) -XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.14.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]) +XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.24.0]) +XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.24.0]) +XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0]) +XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.10.0]) +XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0]) +XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.10.0]) +XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.10.0]) XDT_CHECK_PACKAGE([UNIQUE], [unique-1.0], [1.0.0]) -dnl Check for libxfce4panel >= 4.7 -XDT_CHECK_OPTIONAL_PACKAGE([LIBXFCE4PANEL47], [libxfce4panel-1.0], [4.7.0], [], []) - dnl Check for valac if test "x$USE_MAINTAINER_MODE" = "xyes" ; then - AM_PROG_VALAC([0.10.0]) + AM_PROG_VALAC([0.16.0]) if test "x$VALAC" = "x" ; then AC_MSG_ERROR([Cannot find the "valac" compiler in your PATH]) fi - if test "x$LIBXFCE4PANEL47_FOUND" = "xyes" ; then - XDT_CHECK_PACKAGE([XFCE4VALA], [xfce4-vala], [4.7]) - else - XDT_CHECK_PACKAGE([XFCE4VALA], [xfce4-vala], [4.6]) - PKG_CHECK_EXISTS([xfce4-vala >= 4.7], - AC_ERROR([ - *** Build configured for Xfce Panel 4.6 but *** - *** Xfce Vala bindings for 4.7 are installed ***]), []) - fi + XDT_CHECK_PACKAGE([XFCE4VALA], [xfce4-vala], [4.10]) fi dnl Translations diff --git a/lib/window.vala b/lib/window.vala index 57d7219..dfcd543 100644 --- a/lib/window.vala +++ b/lib/window.vala @@ -620,6 +620,7 @@ namespace Xnp { window.get_geometry (out winx, out winy, out width, out height, out depth); window.get_origin (out x, out y); menu.size_request (out requisition); + push_in = false; if (y + content_box.allocation.y + requisition.height > Gdk.Screen.height ()) { /* Show menu above */ diff --git a/src/Makefile.am b/src/Makefile.am index 09b4c84..b8d3d8b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -36,7 +36,7 @@ xfce4_notes_settings_SOURCES = \ xfce4_notes_settings_CFLAGS = \ @LIBX11_CFLAGS@ \ @GTK_CFLAGS@ \ - @LIBXFCEGUI4_CFLAGS@ \ + @LIBXFCE4UI_CFLAGS@ \ @XFCONF_CFLAGS@ \ @UNIQUE_CFLAGS@ @@ -44,7 +44,7 @@ xfce4_notes_settings_LDADD = \ $(top_builddir)/lib/libnotes.la \ @LIBX11_LIBS@ \ @GTK_LIBS@ \ - @LIBXFCEGUI4_LIBS@ \ + @LIBXFCE4UI_LIBS@ \ @XFCONF_LIBS@ \ @UNIQUE_LIBS@ @@ -63,20 +63,16 @@ notes_VALAFLAGS = \ --pkg=libxfconf-0 \ --pkg=libxfce4util-1.0 -BUILT_SOURCES = main-panel-plugin.c main-panel-plugin-47.c +BUILT_SOURCES = main-panel-plugin.c main-panel-plugin.c: main-panel-plugin.vala - $(AM_V_GEN) $(VALAC) --vapidir=$(top_srcdir)/data/vapi/xfce46 $(notes_VALAFLAGS) $< -C -main-panel-plugin-47.c: main-panel-plugin-47.vala $(AM_V_GEN) $(VALAC) --vapidir=$(top_srcdir)/data/vapi/xfce47 $(notes_VALAFLAGS) $< -C endif -if HAVE_LIBXFCE4PANEL47 - plugindir = $(libdir)/xfce4/panel-plugins plugin_LTLIBRARIES = libnotes.la libnotes_la_SOURCES = \ - main-panel-plugin-47.c + main-panel-plugin.c libnotes_la_CFLAGS = \ @LIBX11_CFLAGS@ \ @@ -91,29 +87,6 @@ libnotes_la_LIBADD = \ @LIBXFCE4UTIL_LIBS@ \ @XFCONF_LIBS@ -else - -plugindir = $(libexecdir)/xfce4/panel-plugins -plugin_PROGRAMS = xfce4-notes-plugin - -xfce4_notes_plugin_SOURCES = \ - main-panel-plugin.c - -xfce4_notes_plugin_CFLAGS = \ - @LIBX11_CFLAGS@ \ - @LIBXFCE4PANEL_CFLAGS@ \ - @LIBXFCE4UTIL_CFLAGS@ \ - @XFCONF_CFLAGS@ - -xfce4_notes_plugin_LDADD = \ - $(top_builddir)/lib/libnotes.la \ - @LIBX11_LIBS@ \ - @LIBXFCE4PANEL_LIBS@ \ - @LIBXFCE4UTIL_LIBS@ \ - @XFCONF_LIBS@ - -endif - # # Status icon # @@ -164,29 +137,17 @@ xfce4_notes_LDADD = \ # desktopdir = $(datadir)/xfce4/panel-plugins -desktop_in_in_files = \ - xfce4-notes-plugin-47.desktop.in \ - xfce4-notes-plugin.desktop.in.in desktop_in_files = xfce4-notes-plugin.desktop.in -if HAVE_LIBXFCE4PANEL47 -desktop_DATA = xfce4-notes-plugin-47.desktop -install-data-hook: - mv $(desktopdir)/xfce4-notes-plugin-47.desktop $(desktopdir)/xfce4-notes-plugin.desktop -else desktop_DATA = xfce4-notes-plugin.desktop -endif @INTLTOOL_DESKTOP_RULE@ -xfce4-notes-plugin.desktop.in: xfce4-notes-plugin.desktop.in.in - $(AM_V_GEN) sed -e "s^@EXTERNAL_PLUGIN_PATH@^$(plugindir)^" $< > $@ - # # Applications desktop file # applicationsdir = $(datadir)/applications applications_in_files = xfce4-notes.desktop.in -applications_DATA = $(applications_in_files:.desktop.in=.desktop) +applications_DATA = xfce4-notes.desktop @INTLTOOL_DESKTOP_RULE@ # @@ -195,7 +156,7 @@ applications_DATA = $(applications_in_files:.desktop.in=.desktop) autostartdir = $(sysconfdir)/xdg/autostart autostart_in_files = xfce4-notes-autostart.desktop.in -autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) +autostart_DATA = xfce4-notes-autostart.desktop @INTLTOOL_DESKTOP_RULE@ # @@ -203,16 +164,14 @@ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) # EXTRA_DIST = \ - main-panel-plugin-47.vala \ main-panel-plugin.vala \ main-status-icon.vala \ - $(desktop_in_in_files) \ + $(desktop_in_files) \ $(applications_in_files) \ $(autostart_in_files) DISTCLEANFILES = \ $(desktop_DATA) \ - $(desktop_in_files) \ $(applications_DATA) \ $(autostart_DATA) diff --git a/src/main-panel-plugin-47.vala b/src/main-panel-plugin-47.vala deleted file mode 100644 index a789eff..0000000 --- a/src/main-panel-plugin-47.vala +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Notes - panel plugin for Xfce Desktop Environment - * Copyright (C) 2009-2010 Mike Massonnet <mmassonnet@xfce.org> - * - * 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; either version 2 of the License, or - * (at your option) any later version. - * - * 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 St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -using Config; -using Xfce; -using Gtk; - -public class NotesPlugin : Xfce.PanelPlugin { - - private Gtk.Invisible invisible; - private Gtk.Button button; - private Xfce.PanelImage image; - private Xnp.Application application; - - public NotesPlugin () { - GLib.Object (); - } - - public override void @construct () { - Xfce.textdomain (Config.GETTEXT_PACKAGE, Config.PACKAGE_LOCALE_DIR); - application = new Xnp.Application (save_location (true)); - - button = Xfce.panel_create_button (); - image = new Xfce.PanelImage.from_source ("xfce4-notes-plugin"); - button.add (image); - button.clicked.connect (() => { application.show_hide_notes (); }); - button.show_all (); - add (button); - add_action_widget (button); - set_tooltip_text (_("Notes")); - menu_show_configure (); - menu_show_about (); - - var mi = new Gtk.MenuItem.with_mnemonic (_("_Groups")); - var menu = application.context_menu (); - mi.set_submenu (menu); - mi.show_all (); - menu_insert_item (mi); - - set_x_selection (); - - size_changed.connect ((p, size) => { - button.set_size_request (size, size); - return true; - }); - save.connect (() => { application.save_windows_configuration (); }); - free_data.connect (() => { - application.save_windows_configuration (); - application.save_notes (); - }); - configure_plugin.connect (() => { application.open_settings_dialog (); }); - about.connect (() => { application.open_about_dialog (); }); - destroy.connect (() => { Gtk.main_quit (); }); - } - - /** - * set_x_selection: - * - * Set an X selection to listen to for the popup command. - */ - private bool set_x_selection () { - invisible = new Gtk.Invisible (); - if (!Xnp.Popup.set_x_selection (invisible)) { - return false; - } - invisible.client_event.connect ((w, event) => { - if (Xnp.Popup.get_message_from_event (event) == "SHOW_HIDE") { - application.show_hide_notes (); - return true; - } - return false; - }); - return true; - } - -} - -[ModuleInit] -public Type xfce_panel_module_init (TypeModule module) { - return typeof (NotesPlugin); -} - diff --git a/src/main-panel-plugin.vala b/src/main-panel-plugin.vala index 7c570ad..a789eff 100644 --- a/src/main-panel-plugin.vala +++ b/src/main-panel-plugin.vala @@ -21,61 +21,52 @@ using Config; using Xfce; using Gtk; -public class NotesPlugin : GLib.Object { +public class NotesPlugin : Xfce.PanelPlugin { private Gtk.Invisible invisible; private Gtk.Button button; - private Gtk.Image image; - private weak Xfce.PanelPlugin panel_plugin; + private Xfce.PanelImage image; private Xnp.Application application; - public NotesPlugin (Xfce.PanelPlugin panel_plugin) { - this.panel_plugin = panel_plugin; + public NotesPlugin () { + GLib.Object (); + } + public override void @construct () { Xfce.textdomain (Config.GETTEXT_PACKAGE, Config.PACKAGE_LOCALE_DIR); - application = new Xnp.Application (panel_plugin.save_location (true)); + application = new Xnp.Application (save_location (true)); - button = Xfce.create_panel_button (); - image = new Gtk.Image (); + button = Xfce.panel_create_button (); + image = new Xfce.PanelImage.from_source ("xfce4-notes-plugin"); button.add (image); button.clicked.connect (() => { 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 (); - panel_plugin.menu_show_about (); + add (button); + add_action_widget (button); + set_tooltip_text (_("Notes")); + menu_show_configure (); + menu_show_about (); var mi = new Gtk.MenuItem.with_mnemonic (_("_Groups")); var menu = application.context_menu (); mi.set_submenu (menu); mi.show_all (); - panel_plugin.menu_insert_item (mi); + menu_insert_item (mi); set_x_selection (); - panel_plugin.size_changed.connect ((p, size) => { + size_changed.connect ((p, size) => { button.set_size_request (size, size); - size -= 2 + 2 * ((button.style.xthickness > button.style.ythickness) ? button.style.xthickness : button.style.ythickness); - var pixbuf = Xfce.Icon.load ("xfce4-notes-plugin", size); - if (pixbuf == null) - pixbuf = Xfce.Icon.load (Gtk.STOCK_EDIT, size); - image.set_from_pixbuf (pixbuf); return true; }); - panel_plugin.save.connect (() => { - application.save_windows_configuration (); - }); - panel_plugin.free_data.connect (() => { + save.connect (() => { application.save_windows_configuration (); }); + free_data.connect (() => { application.save_windows_configuration (); application.save_notes (); }); - panel_plugin.configure_plugin.connect (() => { - application.open_settings_dialog (); - }); - panel_plugin.about.connect (() => { - application.open_about_dialog (); - }); + configure_plugin.connect (() => { application.open_settings_dialog (); }); + about.connect (() => { application.open_about_dialog (); }); + destroy.connect (() => { Gtk.main_quit (); }); } /** @@ -100,11 +91,8 @@ public class NotesPlugin : GLib.Object { } -static NotesPlugin plugin; -public static void panel_plugin_register (Xfce.PanelPlugin panel_plugin) { - plugin = new NotesPlugin (panel_plugin); -} -public static int main (string[] args) { - return Xfce.PanelPluginRegisterExternal (ref args, panel_plugin_register); +[ModuleInit] +public Type xfce_panel_module_init (TypeModule module) { + return typeof (NotesPlugin); } diff --git a/src/xfce4-notes-plugin-47.desktop.in b/src/xfce4-notes-plugin.desktop.in index 7da3981..7da3981 100644 --- a/src/xfce4-notes-plugin-47.desktop.in +++ b/src/xfce4-notes-plugin.desktop.in diff --git a/src/xfce4-notes-plugin.desktop.in.in b/src/xfce4-notes-plugin.desktop.in.in deleted file mode 100644 index 08a8cef..0000000 --- a/src/xfce4-notes-plugin.desktop.in.in +++ /dev/null @@ -1,8 +0,0 @@ -[Xfce Panel] -Type=X-XFCE-PanelPlugin -Encoding=UTF-8 -_Name=Notes -_Comment=Ideal for your quick notes -Icon=xfce4-notes-plugin -X-XFCE-Exec=@EXTERNAL_PLUGIN_PATH@/xfce4-notes-plugin -X-XFCE-Unique=true diff --git a/src/xfce4-notes-settings.c b/src/xfce4-notes-settings.c index 00f8b51..adbe2e5 100644 --- a/src/xfce4-notes-settings.c +++ b/src/xfce4-notes-settings.c @@ -25,7 +25,7 @@ #include <xfconf/xfconf.h> #include <gtk/gtk.h> #include <libxfce4util/libxfce4util.h> -#include <libxfcegui4/libxfcegui4.h> +#include <libxfce4ui/libxfce4ui.h> #include "defines.h" #include "color.h" @@ -119,7 +119,7 @@ prop_dialog_new (void) /* === Global settings === */ box = gtk_vbox_new (FALSE, BORDER); - frame = xfce_create_framebox_with_content (_("Global settings"), box); + frame = xfce_gtk_frame_box_new_with_content (_("Global settings"), box); gtk_container_set_border_width (GTK_CONTAINER (frame), BORDER); gtk_container_add (GTK_CONTAINER (vbox), frame); @@ -177,7 +177,7 @@ prop_dialog_new (void) /* === New window settings === */ box = gtk_vbox_new (FALSE, BORDER); - frame = xfce_create_framebox_with_content (_("New group settings"), box); + frame = xfce_gtk_frame_box_new_with_content (_("New group settings"), box); gtk_container_set_border_width (GTK_CONTAINER (frame), BORDER); gtk_container_add (GTK_CONTAINER (vbox), frame); |