From c60bf558fa16034f7b010dc3e5862a1d3eb6c6d4 Mon Sep 17 00:00:00 2001 From: Andreas Müller Date: Mon, 24 Oct 2011 19:26:57 +0000 Subject: xfce4-datetime-plugin: Initial add git (0.6.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version 0.6.1 was release about 3 years ago. The patch to migrate from libxfcegui4->libxfce4ui hopefully shall be applied mainline [1]. It would have caused extra efforts to base the patch on 0.6.1 release. [1] https://bugzilla.xfce.org/show_bug.cgi?id=8064 Reviewed-by: Paul Menzel Signed-off-by: Andreas Müller Signed-off-by: Koen Kooi --- .../datetime/files/port-to-libxfce4ui.patch | 360 +++++++++++++++++++++ .../datetime/xfce4-datetime-plugin_git.bb | 20 ++ 2 files changed, 380 insertions(+) create mode 100644 meta-xfce/recipes-panel-plugins/datetime/files/port-to-libxfce4ui.patch create mode 100644 meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_git.bb (limited to 'meta-xfce') diff --git a/meta-xfce/recipes-panel-plugins/datetime/files/port-to-libxfce4ui.patch b/meta-xfce/recipes-panel-plugins/datetime/files/port-to-libxfce4ui.patch new file mode 100644 index 0000000000..aab20caab9 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/datetime/files/port-to-libxfce4ui.patch @@ -0,0 +1,360 @@ +From 2041c011c62e13c5bc1f0824733bc34ebb8a8bfe Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sun, 23 Oct 2011 20:14:42 +0200 +Subject: [PATCH] port to libxfce4ui +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + +Signed-off-by: Andreas Müller +--- + configure.ac.in | 9 +-- + panel-plugin/Makefile.am | 8 +- + panel-plugin/datetime-dialog.c | 8 +- + panel-plugin/datetime.c | 4 +- + panel-plugin/xfce46-compat.c | 193 ---------------------------------------- + panel-plugin/xfce46-compat.h | 20 ---- + 6 files changed, 11 insertions(+), 231 deletions(-) + delete mode 100644 panel-plugin/xfce46-compat.c + delete mode 100644 panel-plugin/xfce46-compat.h + +diff --git a/configure.ac.in b/configure.ac.in +index 4d58211..5200268 100644 +--- a/configure.ac.in ++++ b/configure.ac.in +@@ -31,12 +31,9 @@ XDT_I18N([@LINGUAS@]) + + dnl Check for required packages + XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.6.0]) +-XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.3.99.2]) +-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.3.99.2]) +-XDT_CHECK_PACKAGE([LIBXFCE4PANEL],[libxfce4panel-1.0],[4.3.99.2]) +- +-dnl check for optional packages/versions +-XDT_CHECK_OPTIONAL_PACKAGE([LIBXFCE4PANEL_46], [libxfce4panel-1.0], [4.5.92], [libxfce4panel46], [Take advantage of Xfce 4.6 panel changes]) ++XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.8.0]) ++XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.8.0]) ++XDT_CHECK_PACKAGE([LIBXFCE4PANEL],[libxfce4panel-1.0],[4.8.0]) + + #CFLAGS="$CFLAGS -Wall -Werror" + +diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am +index 4005f85..18bbc7e 100644 +--- a/panel-plugin/Makefile.am ++++ b/panel-plugin/Makefile.am +@@ -7,16 +7,14 @@ libdatetime_la_SOURCES = \ + datetime.h \ + datetime.c \ + datetime-dialog.h \ +- datetime-dialog.c \ +- xfce46-compat.h \ +- xfce46-compat.c ++ datetime-dialog.c + + libdatetime_la_CFLAGS = \ + -I$(top_srcdir) \ + -DLOCALEDIR=\"$(localedir)\" \ + $(GTK_CFLAGS) \ + $(LIBXFCE4PANEL_CFLAGS) \ +- $(LIBXFCEGUI4_CFLAGS) \ ++ $(LIBXFCE4UI_CFLAGS) \ + $(LIBXFCE4UTIL_CFLAGS) + + libdatetime_la_LDFLAGS = \ +@@ -31,7 +29,7 @@ endif + libdatetime_la_LIBADD = \ + $(GTK_LIBS) \ + $(LIBXFCE4PANEL_LIBS) \ +- $(LIBXFCEGUI4_LIBS) \ ++ $(LIBXFCE4UI_LIBS) \ + $(LIBXFCE4UTIL_LIBS) + + desktopdir = $(datadir)/xfce4/panel-plugins +diff --git a/panel-plugin/datetime-dialog.c b/panel-plugin/datetime-dialog.c +index 193587e..4ef3ab8 100644 +--- a/panel-plugin/datetime-dialog.c ++++ b/panel-plugin/datetime-dialog.c +@@ -28,7 +28,7 @@ + #include + + /* xfce includes */ +-#include ++#include + #include + #include + +@@ -388,7 +388,7 @@ datetime_properties_dialog(XfcePanelPlugin *plugin, t_datetime * datetime) + /* + * layout frame + */ +- frame = xfce_create_framebox(_("Layout"), &bin); ++ frame = xfce_gtk_frame_box_new(_("Layout"), &bin); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), frame, + FALSE, FALSE, 0); + gtk_container_set_border_width(GTK_CONTAINER(frame), 6); +@@ -422,7 +422,7 @@ datetime_properties_dialog(XfcePanelPlugin *plugin, t_datetime * datetime) + /* + * Date frame + */ +- datetime->date_frame = xfce_create_framebox(_("Date"), &bin); ++ datetime->date_frame = xfce_gtk_frame_box_new(_("Date"), &bin); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), datetime->date_frame, + FALSE, FALSE, 0); + gtk_container_set_border_width(GTK_CONTAINER(datetime->date_frame), 6); +@@ -525,7 +525,7 @@ datetime_properties_dialog(XfcePanelPlugin *plugin, t_datetime * datetime) + /* + * time frame + */ +- datetime->time_frame = xfce_create_framebox(_("Time"), &bin); ++ datetime->time_frame = xfce_gtk_frame_box_new(_("Time"), &bin); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), datetime->time_frame, + FALSE, FALSE, 0); + gtk_container_set_border_width(GTK_CONTAINER(datetime->time_frame), 6); +diff --git a/panel-plugin/datetime.c b/panel-plugin/datetime.c +index 30ee04a..0738889 100644 +--- a/panel-plugin/datetime.c ++++ b/panel-plugin/datetime.c +@@ -28,13 +28,11 @@ + #include + + /* xfce includes */ +-#include ++#include + #include + #include + #include + +-#include "xfce46-compat.h" +- + #include "datetime.h" + #include "datetime-dialog.h" + +diff --git a/panel-plugin/xfce46-compat.c b/panel-plugin/xfce46-compat.c +deleted file mode 100644 +index 97f10b1..0000000 +--- a/panel-plugin/xfce46-compat.c ++++ /dev/null +@@ -1,193 +0,0 @@ +-/* +- * Code was taken from libxfce4panel (LGPL2 or any later version), +- * distributed here under the GPL. +- * +- * Copyright (c) 2005-2007 Jasper Huijsmans +- * +- * 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 Library 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#ifndef HAVE_LIBXFCE4PANEL_46 +- +-#include "xfce46-compat.h" +- +-#include +-#include +- +-/* support macros for debugging */ +-#ifndef NDEBUG +-#define _panel_assert(expr) g_assert (expr) +-#define _panel_assert_not_reached() g_assert_not_reached () +-#define _panel_return_if_fail(expr) g_return_if_fail (expr) +-#define _panel_return_val_if_fail(expr, val) g_return_val_if_fail (expr, (val)) +-#else +-#define _panel_assert(expr) G_STMT_START{ (void)0; }G_STMT_END +-#define _panel_assert_not_reached() G_STMT_START{ (void)0; }G_STMT_END +-#define _panel_return_if_fail(expr) G_STMT_START{ (void)0; }G_STMT_END +-#define _panel_return_val_if_fail(expr, val) G_STMT_START{ (void)0; }G_STMT_END +-#endif +- +-/** +- * xfce_panel_plugin_arrow_type: +- * @plugin : an #XfcePanelPlugin +- * +- * Determine the #GtkArrowType for a widget that opens a menu and uses +- * xfce_panel_plugin_position_menu() to position the menu. +- * +- * Returns: The #GtkArrowType to use. +- **/ +-GtkArrowType +-xfce_panel_plugin_arrow_type (XfcePanelPlugin *plugin) +-{ +- XfceScreenPosition position; +- GdkScreen *screen; +- GdkRectangle geom; +- gint mon, x, y; +- +- if (!GTK_WIDGET_REALIZED (plugin)) +- return GTK_ARROW_UP; +- +- position = xfce_panel_plugin_get_screen_position (plugin); +- switch (position) +- { +- /* top */ +- case XFCE_SCREEN_POSITION_NW_H: +- case XFCE_SCREEN_POSITION_N: +- case XFCE_SCREEN_POSITION_NE_H: +- return GTK_ARROW_DOWN; +- +- /* left */ +- case XFCE_SCREEN_POSITION_NW_V: +- case XFCE_SCREEN_POSITION_W: +- case XFCE_SCREEN_POSITION_SW_V: +- return GTK_ARROW_RIGHT; +- +- /* right */ +- case XFCE_SCREEN_POSITION_NE_V: +- case XFCE_SCREEN_POSITION_E: +- case XFCE_SCREEN_POSITION_SE_V: +- return GTK_ARROW_LEFT; +- +- /* bottom */ +- case XFCE_SCREEN_POSITION_SW_H: +- case XFCE_SCREEN_POSITION_S: +- case XFCE_SCREEN_POSITION_SE_H: +- return GTK_ARROW_UP; +- +- /* floating */ +- default: +- /* get the screen information */ +- screen = gtk_widget_get_screen (GTK_WIDGET (plugin)); +- mon = gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (plugin)->window); +- gdk_screen_get_monitor_geometry (screen, mon, &geom); +- gdk_window_get_root_origin (GTK_WIDGET (plugin)->window, &x, &y); +- +- /* get the position based on the screen position */ +- if (position == XFCE_SCREEN_POSITION_FLOATING_H) +- return ((y < (geom.y + geom.height / 2)) ? GTK_ARROW_DOWN : GTK_ARROW_UP); +- else +- return ((x < (geom.x + geom.width / 2)) ? GTK_ARROW_RIGHT : GTK_ARROW_LEFT); +- } +-} +- +- +- +-/** +- * xfce_panel_plugin_position_widget: +- * @plugin : an #XfcePanelPlugin +- * @menu_widget : a #GtkWidget that will be used as popup menu +- * @attach_widget : a #GtkWidget relative to which the menu should be positioned +- * @x : return location for the x coordinate +- * @y : return location for the y coordinate +- * +- * The menu widget is positioned relative to @attach_widget. +- * If @attach_widget is NULL, the menu widget is instead positioned +- * relative to @panel_plugin. +- * +- * This function is intended for custom menu widgets. +- * For a regular #GtkMenu you should use xfce_panel_plugin_position_menu() +- * instead (as callback argument to gtk_menu_popup()). +- * +- * See also: xfce_panel_plugin_position_menu(). +- **/ +-void +-xfce_panel_plugin_position_widget (XfcePanelPlugin *plugin, +- GtkWidget *menu_widget, +- GtkWidget *attach_widget, +- gint *x, +- gint *y) +-{ +- GtkRequisition req; +- GdkScreen *screen; +- GdkRectangle geom; +- gint mon; +- +- _panel_return_if_fail (XFCE_IS_PANEL_PLUGIN (plugin)); +- _panel_return_if_fail (GTK_IS_WIDGET (menu_widget)); +- _panel_return_if_fail (attach_widget == NULL || GTK_IS_WIDGET (attach_widget)); +- +- if (attach_widget == NULL) +- attach_widget = GTK_WIDGET (plugin); +- +- if (!GTK_WIDGET_REALIZED (menu_widget)) +- gtk_widget_realize (menu_widget); +- +- gtk_widget_size_request (menu_widget, &req); +- gdk_window_get_origin (attach_widget->window, x, y); +- +- switch (xfce_panel_plugin_arrow_type (plugin)) +- { +- case GTK_ARROW_UP: +- *y -= req.height; +- break; +- +- case GTK_ARROW_DOWN: +- *y += attach_widget->allocation.height; +- break; +- +- case GTK_ARROW_LEFT: +- *x -= req.width; +- break; +- +- default: /* GTK_ARROW_RIGHT and GTK_ARROW_NONE */ +- *x += attach_widget->allocation.width; +- break; +- } +- +- screen = gtk_widget_get_screen (attach_widget); +- mon = gdk_screen_get_monitor_at_window (screen, attach_widget->window); +- gdk_screen_get_monitor_geometry (screen, mon, &geom); +- +- /* keep inside the screen */ +- if (*x > geom.x + geom.width - req.width) +- *x = geom.x + geom.width - req.width; +- if (*x < geom.x) +- *x = geom.x; +- if (*y > geom.y + geom.height - req.height) +- *y = geom.y + geom.height - req.height; +- if (*y < geom.y) +- *y = geom.y; +- +- if (G_LIKELY (GTK_IS_MENU (menu_widget))) +- gtk_menu_set_screen (GTK_MENU (menu_widget), screen); +- else if (GTK_IS_WINDOW (menu_widget)) +- gtk_window_set_screen (GTK_WINDOW (menu_widget), screen); +-} +- +-#endif +diff --git a/panel-plugin/xfce46-compat.h b/panel-plugin/xfce46-compat.h +deleted file mode 100644 +index d385ec4..0000000 +--- a/panel-plugin/xfce46-compat.h ++++ /dev/null +@@ -1,20 +0,0 @@ +-#ifndef _XFCE46_COMPAT +-#define _XFCE46_COMPAT +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#ifndef HAVE_LIBXFCE4PANEL_46 +- +-#include +-#include +- +-void xfce_panel_plugin_position_widget (XfcePanelPlugin *plugin, +- GtkWidget *menu_widget, +- GtkWidget *attach_widget, +- gint *x, +- gint *y); +- +-#endif +-#endif +-- +1.7.4.4 + diff --git a/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_git.bb b/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_git.bb new file mode 100644 index 0000000000..18dec9469c --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_git.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Panel plugin displaying date and time and a calendar when left-clicked" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +inherit xfce-panel-plugin + +SRCREV = "e268210db6a32b2a47c03c63e5908ee3ba9461cc" +PV = "0.6.1+gitr${SRCPV}" +S = "${WORKDIR}/git" + +SRC_URI = "git://git.xfce.org/panel-plugins/xfce4-datetime-plugin;protocol=git;branch=master \ + file://port-to-libxfce4ui.patch \ + " +SRC_URI[md5sum] = "e82f51ff0e75a63e5cbd139e43e094f9" +SRC_URI[sha256sum] = "fb340c1c2170d4f33c7f278772966f3c01caaedcd4a7f58f670bf8e28580bb1b" + +do_configure_prepend() { + NOCONFIGURE=yes ./autogen.sh +} -- cgit 1.2.3-korg