[Goodies-commits] r2678 - in xfce4-places-plugin/trunk: . panel-plugin
Diego Ongaro
ongardie at xfce.org
Sat Apr 7 08:26:17 CEST 2007
Author: ongardie
Date: 2007-04-07 06:26:16 +0000 (Sat, 07 Apr 2007)
New Revision: 2678
Modified:
xfce4-places-plugin/trunk/ChangeLog
xfce4-places-plugin/trunk/panel-plugin/model.c
xfce4-places-plugin/trunk/panel-plugin/model.h
xfce4-places-plugin/trunk/panel-plugin/model_system.c
xfce4-places-plugin/trunk/panel-plugin/model_system.h
xfce4-places-plugin/trunk/panel-plugin/model_user.c
xfce4-places-plugin/trunk/panel-plugin/model_user.h
xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
xfce4-places-plugin/trunk/panel-plugin/model_volumes.h
xfce4-places-plugin/trunk/panel-plugin/places.c
Log:
2007-04-07 Diego Ongaro <ongardie at gmail.com>
* Added BookmarksVisitor struct
Modified: xfce4-places-plugin/trunk/ChangeLog
===================================================================
--- xfce4-places-plugin/trunk/ChangeLog 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/ChangeLog 2007-04-07 06:26:16 UTC (rev 2678)
@@ -1,3 +1,7 @@
+2007-04-07 Diego Ongaro <ongardie at gmail.com>
+
+ * Added BookmarksVisitor struct
+
2007-04-06 Diego Ongaro <ongardie at gmail.com>
* Improved consistency with Thunar for user bookmarks
Modified: xfce4-places-plugin/trunk/panel-plugin/model.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model.c 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model.c 2007-04-07 06:26:16 UTC (rev 2678)
@@ -49,14 +49,12 @@
void
places_bookmarks_visit(Bookmarks *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func))
+ BookmarksVisitor *visitor)
{
- places_bookmarks_system_visit (b->system, pass_thru, item_func, separator_func);
- places_bookmarks_volumes_visit (b->volumes, pass_thru, item_func, separator_func);
- separator_func (pass_thru);
- places_bookmarks_user_visit (b->user, pass_thru, item_func, separator_func);
+ places_bookmarks_system_visit (b->system, visitor);
+ places_bookmarks_volumes_visit (b->volumes, visitor);
+ visitor->separator (visitor->pass_thru);
+ places_bookmarks_user_visit (b->user, visitor);
}
gboolean
Modified: xfce4-places-plugin/trunk/panel-plugin/model.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model.h 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model.h 2007-04-07 06:26:16 UTC (rev 2678)
@@ -22,9 +22,6 @@
#include <glib.h>
-#define BOOKMARK_ITEM_FUNC(symbol) void (*symbol) (gpointer, const gchar*, const gchar*, const gchar*)
-#define BOOKMARK_SEPARATOR_FUNC(symbol) void (*symbol) (gpointer)
-
typedef struct
{
gchar *label;
@@ -34,16 +31,20 @@
gpointer *data;
} BookmarkInfo;
+typedef struct
+{
+ gpointer pass_thru;
+ void (*item) (gpointer, const gchar*, const gchar*, const gchar*);
+ void (*separator) (gpointer);
+} BookmarksVisitor;
+
typedef struct _Bookmarks Bookmarks;
Bookmarks*
places_bookmarks_init();
void
-places_bookmarks_visit(Bookmarks *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func));
+places_bookmarks_visit(Bookmarks *b, BookmarksVisitor *visitor);
gboolean
places_bookmarks_changed(Bookmarks *b);
Modified: xfce4-places-plugin/trunk/panel-plugin/model_system.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_system.c 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_system.c 2007-04-07 06:26:16 UTC (rev 2678)
@@ -101,9 +101,7 @@
void
places_bookmarks_system_visit(BookmarksSystem *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func))
+ BookmarksVisitor *visitor)
{
guint k;
BookmarkInfo *bi;
@@ -111,7 +109,7 @@
for(k=0; k < b->bookmarks->len; k++){
bi = g_ptr_array_index(b->bookmarks, k);
if(bi->show)
- item_func(pass_thru, bi->label, bi->uri, bi->icon);
+ visitor->item(visitor->pass_thru, bi->label, bi->uri, bi->icon);
}
}
Modified: xfce4-places-plugin/trunk/panel-plugin/model_system.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_system.h 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_system.h 2007-04-07 06:26:16 UTC (rev 2678)
@@ -29,10 +29,7 @@
places_bookmarks_system_init();
void
-places_bookmarks_system_visit(BookmarksSystem *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func));
+places_bookmarks_system_visit(BookmarksSystem *b, BookmarksVisitor *visitor);
gboolean
places_bookmarks_system_changed(BookmarksSystem *b);
Modified: xfce4-places-plugin/trunk/panel-plugin/model_user.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_user.c 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_user.c 2007-04-07 06:26:16 UTC (rev 2678)
@@ -163,10 +163,7 @@
}
void
-places_bookmarks_user_visit(BookmarksUser *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func))
+places_bookmarks_user_visit(BookmarksUser *b, BookmarksVisitor *visitor)
{
guint k;
BookmarkInfo *bi;
@@ -174,7 +171,7 @@
for(k=0; k < b->bookmarks->len; k++){
bi = g_ptr_array_index(b->bookmarks, k);
if(bi->show)
- item_func(pass_thru, bi->label, bi->uri, bi->icon);
+ visitor->item(visitor->pass_thru, bi->label, bi->uri, bi->icon);
}
}
Modified: xfce4-places-plugin/trunk/panel-plugin/model_user.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_user.h 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_user.h 2007-04-07 06:26:16 UTC (rev 2678)
@@ -30,10 +30,7 @@
places_bookmarks_user_init(const BookmarksSystem *system);
void
-places_bookmarks_user_visit(BookmarksUser *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func));
+places_bookmarks_user_visit(BookmarksUser *b, BookmarksVisitor *visitor);
gboolean
places_bookmarks_user_changed(BookmarksUser *b);
Modified: xfce4-places-plugin/trunk/panel-plugin/model_volumes.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_volumes.c 2007-04-07 06:26:16 UTC (rev 2678)
@@ -229,17 +229,14 @@
}
void
-places_bookmarks_volumes_visit(BookmarksVolumes *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func))
+places_bookmarks_volumes_visit(BookmarksVolumes *b, BookmarksVisitor *visitor)
{
guint k;
BookmarkInfo *bi;
for(k=0; k < b->bookmarks->len; k++){
bi = g_ptr_array_index(b->bookmarks, k);
- item_func(pass_thru, bi->label, bi->uri, bi->icon);
+ visitor->item(visitor->pass_thru, bi->label, bi->uri, bi->icon);
}
}
Modified: xfce4-places-plugin/trunk/panel-plugin/model_volumes.h
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/model_volumes.h 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/model_volumes.h 2007-04-07 06:26:16 UTC (rev 2678)
@@ -29,10 +29,7 @@
places_bookmarks_volumes_init();
void
-places_bookmarks_volumes_visit(BookmarksVolumes *b,
- gpointer pass_thru,
- BOOKMARK_ITEM_FUNC(item_func),
- BOOKMARK_SEPARATOR_FUNC(separator_func));
+places_bookmarks_volumes_visit(BookmarksVolumes *b, BookmarksVisitor *visitor);
gboolean
places_bookmarks_volumes_changed(BookmarksVolumes *b);
Modified: xfce4-places-plugin/trunk/panel-plugin/places.c
===================================================================
--- xfce4-places-plugin/trunk/panel-plugin/places.c 2007-04-07 06:05:18 UTC (rev 2677)
+++ xfce4-places-plugin/trunk/panel-plugin/places.c 2007-04-07 06:26:16 UTC (rev 2678)
@@ -163,9 +163,11 @@
pd->panel_menu = gtk_menu_new();
pd->panel_menu_open = FALSE;
- places_bookmarks_visit(pd->bookmarks, pd,
- places_build_menu_item,
- places_build_menu_separator);
+ BookmarksVisitor *visitor = g_new0(BookmarksVisitor, 1);
+ visitor->pass_thru = pd;
+ visitor->item = places_build_menu_item;
+ visitor->separator = places_build_menu_separator;
+ places_bookmarks_visit(pd->bookmarks, visitor);
gtk_widget_show_all(pd->panel_menu);
More information about the Goodies-commits
mailing list