[Xfce4-commits] <ristretto:master> Expose the image_compare func and use it for the thumbnailbar
Stephan Arts
stephan at xfce.org
Wed Aug 12 12:22:32 CEST 2009
Updating branch refs/heads/master
to 385afa8b8407183b319c26c416cf7b329d5b0f06 (commit)
from c6b2411bd4c96a227b8b46b80012e98639a417a1 (commit)
commit 385afa8b8407183b319c26c416cf7b329d5b0f06
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 00:19:29 2009 +0200
Expose the image_compare func and use it for the thumbnailbar
ChangeLog | 10 ++++++++++
src/image_list.c | 6 ++++++
src/image_list.h | 2 ++
src/thumbnail_bar.c | 12 ++++++++----
4 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 73b41ea..96691e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/image_list.h
+ src/image_list.c
+ src/thumbnail_bar.c: Expose compare_func, and use it in the thumbnailbar
+
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/*: Rename Navigator to ImageList, makes more sense
+
2009-05-26 Stephan Arts <stephan at xfce.org>
* src/picture_viewer.c: Show an 'inactive' image when there is no
diff --git a/src/image_list.c b/src/image_list.c
index 7703a46..94d2842 100644
--- a/src/image_list.c
+++ b/src/image_list.c
@@ -454,3 +454,9 @@ rstto_image_list_iter_clone (RsttoImageListIter *iter)
return new_iter;
}
+
+GCompareFunc
+rstto_image_list_get_compare_func (RsttoImageList *image_list)
+{
+ return cb_rstto_image_list_image_name_compare_func;
+}
diff --git a/src/image_list.h b/src/image_list.h
index dfd750b..cef78d3 100644
--- a/src/image_list.h
+++ b/src/image_list.h
@@ -113,6 +113,8 @@ void rstto_image_list_remove_image (RsttoImageList *image_list, RsttoImag
gboolean rstto_image_list_iter_find_image (RsttoImageListIter *iter, RsttoImage *image);
RsttoImageListIter *rstto_image_list_iter_clone (RsttoImageListIter *iter);
+GCompareFunc rstto_image_list_get_compare_func (RsttoImageList *image_list);
+
G_END_DECLS
diff --git a/src/thumbnail_bar.c b/src/thumbnail_bar.c
index 1533497..37352d7 100644
--- a/src/thumbnail_bar.c
+++ b/src/thumbnail_bar.c
@@ -105,7 +105,7 @@ static void
cb_rstto_thumbnail_bar_thumbnail_clicked (GtkWidget *thumb, RsttoThumbnailBar *bar);
static gint
-cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b);
+cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b, gpointer);
GType
rstto_thumbnail_bar_get_type ()
@@ -546,7 +546,7 @@ rstto_thumbnail_bar_add(GtkContainer *container, GtkWidget *child)
gtk_widget_set_parent(child, GTK_WIDGET(container));
- bar->priv->thumbs = g_list_insert_sorted (bar->priv->thumbs, child, (GCompareFunc)cb_rstto_thumbnail_bar_compare);
+ bar->priv->thumbs = g_list_insert_sorted_with_data (bar->priv->thumbs, child, (GCompareDataFunc)cb_rstto_thumbnail_bar_compare, bar);
}
static void
@@ -586,9 +586,13 @@ rstto_thumbnail_bar_child_type(GtkContainer *container)
}
static gint
-cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b)
+cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b, gpointer user_data)
{
- return -1;
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+ RsttoImage *a_i = rstto_thumbnail_get_image (a);
+ RsttoImage *b_i = rstto_thumbnail_get_image (b);
+
+ return rstto_image_list_get_compare_func (bar->priv->image_list) (a_i, b_i);
}
static gboolean
More information about the Xfce4-commits
mailing list