[oe-commits] Previdi Roberto : zenity package

GIT User account git at amethyst.openembedded.net
Tue May 19 10:59:38 UTC 2009


Module: openembedded.git
Branch: xora/angstrom-srcpv
Commit: 04e583d2be81fd42f36bb79eb7b3d64ab8deaf99
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=04e583d2be81fd42f36bb79eb7b3d64ab8deaf99

Author: Previdi Roberto <previdi.roberto at gmail.com>
Date:   Tue Apr 28 10:51:39 2009 +0000

zenity package

Please ignore my previous zenity patches. I collected all in one
single patch this time so it should be more handy to use.

The package zenity allows to use powerful graphic dialogs from the
shell or scripts without effort. I added some patches to build fine
(makefile.patch and no-gnome-doc.patch) and one patch to add a little
but handy feature, fingerscroll.patch. it add the capability to the
list dialogs of being scrolled dragging them with finger or pen (on
touchscreens) or mouse (on desktop).
The package has got some gnome dependencies (libgnomecanvas) and the
tar.bz2 get downloaded from the gnome ftp, but i used inherit
autotools because setting inherit gnome breaks the build for me.. i
don't know how but some /usr/include path sneak into the CFLAGS making
the cross compiler complain.
Please tell me if there is any problem or i forgot something..

---

 conf/checksums.ini                      |    4 +
 recipes/gnome/zenity/fingerscroll.patch |  102 +++++++++++++++++++++++++++++++
 recipes/gnome/zenity/makefile.patch     |   13 ++++
 recipes/gnome/zenity/no-gnome-doc.patch |   69 +++++++++++++++++++++
 4 files changed, 188 insertions(+), 0 deletions(-)

diff --git a/conf/checksums.ini b/conf/checksums.ini
index 24f5451..6b047d6 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -6918,6 +6918,10 @@ sha256=8bbd4713f9bbd752ae3116ec4d6e4f4f04f0f8f774e98dd989626d5e00c121f5
 md5=7587a0a9ee643bb59ef6b2dea06c5a28
 sha256=1313a35d6cc4d3ae466dbb6b4f1588b341f339c071557fd66830c0daf72f09b4
 
+[http://ftp.gnome.org/pub/GNOME/sources/zenity/2.20/zenity-2.20.1.tar.bz2]
+md5=b9989582ea43f8fd58819d85ef9c9bc5
+sha256=cc3b203acbd745a7c3b6ea3d8e74d7fb07cf8f8aa92bcaa3b2edb023dee02a36
+
 [http://downloads.sourceforge.net/gaim/gaim-1.0.3.tar.bz2]
 md5=d0c40cbb57a80813fd495d3ffc6259df
 sha256=dfcc3ed2a7fd919f8f5937bdaae9424cc12f0525c89cb1ffe661e7085abb62c7
diff --git a/recipes/gnome/zenity/fingerscroll.patch b/recipes/gnome/zenity/fingerscroll.patch
new file mode 100644
index 0000000..785d179
--- /dev/null
+++ b/recipes/gnome/zenity/fingerscroll.patch
@@ -0,0 +1,102 @@
+diff --git a/src/tree.c b/src/tree.c
+index 6dd3f64..32e4826 100644
+--- a/src/tree.c
++++ b/src/tree.c
+@@ -46,6 +46,9 @@ static gboolean zenity_tree_column_is_hidden (gint column_index);
+ static void zenity_tree_dialog_response (GtkWidget *widget, int response, gpointer data);
+ static void zenity_tree_row_activated (GtkTreeView *tree_view, GtkTreePath *tree_path, 
+                                        GtkTreeViewColumn *tree_col, gpointer data);
++static void zenity_tree_drag_start (GtkWidget *widget, GdkEventButton *event, gpointer data);
++static void zenity_tree_drag (GtkWidget *widget, GdkEventMotion *event, gpointer data);
++static void zenity_tree_drag_stop (GtkWidget *widget, GdkEventButton *event, gpointer data);
+ 
+ static gboolean
+ zenity_tree_dialog_untoggle (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
+@@ -353,7 +356,12 @@ zenity_tree (ZenityData *data, ZenityTreeData *tree_data)
+   if (!(tree_data->radiobox || tree_data->checkbox)) 
+     g_signal_connect (G_OBJECT (tree_view), "row-activated", 
+                       G_CALLBACK (zenity_tree_row_activated), data);
+- 
++
++  /* Connect drag-drop signals for finger scrolling */
++  tree_data->is_scrolling=FALSE;
++  g_signal_connect (G_OBJECT (tree_view), "motion-notify-event",
++                      G_CALLBACK (zenity_tree_drag), tree_data);
++
+   /* Create an empty list store */
+   model = g_object_new (GTK_TYPE_LIST_STORE, NULL);
+ 
+@@ -685,3 +693,56 @@ zenity_tree_extract_column_indexes (char *indexes, int n_columns)
+ 
+   return result;
+ }
++void
++zenity_tree_drag_start (GtkWidget *widget, GdkEventButton *event, gpointer data)
++{
++	ZenityTreeData *zen_data=data;
++	zen_data->is_scrolling=TRUE;
++	zen_data->start_scroll_x=event->x;
++	zen_data->start_scroll_y=event->y;
++	
++	GtkTreeView *tree_view=GTK_TREE_VIEW(widget);
++	zen_data->start_scroll_v_adjustment=
++		gtk_adjustment_get_value (gtk_tree_view_get_vadjustment(tree_view));
++	zen_data->start_scroll_h_adjustment=
++		gtk_adjustment_get_value (gtk_tree_view_get_hadjustment(tree_view));
++	zen_data->last_scroll_time=event->time;
++}
++
++void
++zenity_tree_drag (GtkWidget *widget, GdkEventMotion *event, gpointer data)
++{
++	ZenityTreeData *zen_data=data;
++
++	if ((event->state & GDK_BUTTON1_MASK) && 
++			(event->time-zen_data->last_scroll_time>50))
++	{
++		if (!zen_data->is_scrolling)
++			zenity_tree_drag_start(widget,event,data)  ; 	
++   	
++		
++		gint dy=event->y-zen_data->start_scroll_y;
++		gint dx=event->x-zen_data->start_scroll_x;
++		
++		GtkTreeView *tree_view=GTK_TREE_VIEW(widget);
++		GtkAdjustment *vAdjustment = gtk_tree_view_get_vadjustment(tree_view);
++		GtkAdjustment *hAdjustment = gtk_tree_view_get_hadjustment(tree_view);
++		gtk_adjustment_set_value (vAdjustment,
++						CLAMP (zen_data->start_scroll_v_adjustment-dy,
++							vAdjustment->lower,
++							vAdjustment->upper - vAdjustment->page_size));
++		gtk_adjustment_set_value (hAdjustment,
++						CLAMP (zen_data->start_scroll_h_adjustment-dx,
++							hAdjustment->lower,
++							hAdjustment->upper - hAdjustment->page_size));
++		zen_data->last_scroll_time=event->time;
++	}
++	if (zen_data->is_scrolling && !(event->state & GDK_BUTTON1_MASK))
++		zenity_tree_drag_stop(widget,event,data);
++}
++void
++zenity_tree_drag_stop (GtkWidget *widget, GdkEventButton *event, gpointer data)
++{
++	ZenityTreeData *zen_data=data;
++	zen_data->is_scrolling=FALSE;
++}
+diff --git a/src/zenity.h b/src/zenity.h
+index ac6c4f8..d40d8df 100644
+--- a/src/zenity.h
++++ b/src/zenity.h
+@@ -113,6 +113,12 @@ typedef struct {
+   gboolean      editable;
+   gchar	       *print_column;
+   gchar	       *hide_column;
++  gint          start_scroll_x;
++  gint          start_scroll_y;
++  gdouble       start_scroll_v_adjustment;
++  gdouble       start_scroll_h_adjustment;
++  gboolean	is_scrolling;
++  guint32	last_scroll_time;
+   const gchar **data;
+ } ZenityTreeData;
+ 
diff --git a/recipes/gnome/zenity/makefile.patch b/recipes/gnome/zenity/makefile.patch
new file mode 100644
index 0000000..9bdd5dd
--- /dev/null
+++ b/recipes/gnome/zenity/makefile.patch
@@ -0,0 +1,13 @@
+diff -c -r patcher_original/zenity-2.20.1/src/Makefile.am zenity-2.20.1/src/Makefile.am
+*** patcher_original/zenity-2.20.1/src/Makefile.am	Mon Nov 26 22:57:40 2007
+--- zenity-2.20.1/src/Makefile.am	Thu Apr  2 00:31:39 2009
+***************
+*** 21,27 ****
+  	zenity.h
+  
+  zenity_CPPFLAGS = \
+- 	-I$(includedir)					\
+  	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
+  	-DZENITY_DATADIR=\""$(pkgdatadir)"\"		\
+  	$(AM_CPPFLAGS)
+--- 21,26 ----
diff --git a/recipes/gnome/zenity/no-gnome-doc.patch b/recipes/gnome/zenity/no-gnome-doc.patch
new file mode 100644
index 0000000..6b2e2bd
--- /dev/null
+++ b/recipes/gnome/zenity/no-gnome-doc.patch
@@ -0,0 +1,69 @@
+*** patcher_original/zenity-2.20.1/configure.in	2007-11-26 22:57:45.000000000 +0100
+--- zenity-2.20.1/configure.in	2009-04-10 23:08:11.000000000 +0200
+***************
+*** 8,14 ****
+  AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
+  
+  GNOME_COMMON_INIT
+! GNOME_DOC_INIT
+  
+  AM_MAINTAINER_MODE
+  
+--- 8,14 ----
+  AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
+  
+  GNOME_COMMON_INIT
+! #GNOME_DOC_INIT
+  
+  AM_MAINTAINER_MODE
+  
+*** patcher_original/zenity-2.20.1/Makefile.am	2007-11-26 22:57:45.000000000 +0100
+--- zenity-2.20.1/Makefile.am	2009-04-10 23:30:20.000000000 +0200
+***************
+*** 1,8 ****
+  SUBDIRS = \
+  	src	\
+  	po	\
+! 	data	\
+! 	help
+  
+  EXTRA_DIST = \
+  	autogen.sh		\
+--- 1,8 ----
+  SUBDIRS = \
+  	src	\
+  	po	\
+! 	data	
+! #	help
+  
+  EXTRA_DIST = \
+  	autogen.sh		\
+***************
+*** 16,28 ****
+  	ChangeLog		\
+  	NEWS			\
+  	README			\
+! 	AUTHORS			\
+! 	gnome-doc-utils.make
+  
+  DISTCLEANFILES =                \
+  	intltool-extract        \
+  	intltool-merge          \
+! 	intltool-update		\
+! 	gnome-doc-utils.make
+  
+  DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper
+--- 16,28 ----
+  	ChangeLog		\
+  	NEWS			\
+  	README			\
+! 	AUTHORS			
+! #	gnome-doc-utils.make
+  
+  DISTCLEANFILES =                \
+  	intltool-extract        \
+  	intltool-merge          \
+! 	intltool-update		
+! #	gnome-doc-utils.make
+  
+  DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper





More information about the Openembedded-commits mailing list