[Goodies-commits] r3733 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Sat Dec 22 07:37:21 CET 2007
Author: stephan
Date: 2007-12-22 06:37:21 +0000 (Sat, 22 Dec 2007)
New Revision: 3733
Modified:
ristretto/trunk/src/navigator.c
ristretto/trunk/src/navigator.h
ristretto/trunk/src/thumbnail_bar.c
Log:
Sort thumbnails like the items in the navigator are sorted.
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-12-21 20:18:09 UTC (rev 3732)
+++ ristretto/trunk/src/navigator.c 2007-12-22 06:37:21 UTC (rev 3733)
@@ -1181,3 +1181,17 @@
{
return navigator->max_history;
}
+
+
+
+gint
+rstto_navigator_entry_get_position(RsttoNavigatorEntry *entry)
+{
+ RsttoNavigator *navigator = entry->navigator;
+ GList *iter = g_list_find (navigator->file_list, entry);
+ if (iter)
+ {
+ return g_list_position(navigator->file_list, iter);
+ }
+ return -1;
+}
Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h 2007-12-21 20:18:09 UTC (rev 3732)
+++ ristretto/trunk/src/navigator.h 2007-12-22 06:37:21 UTC (rev 3733)
@@ -123,6 +123,8 @@
rstto_navigator_entry_set_scale (RsttoNavigatorEntry *entry, gdouble);
void
rstto_navigator_entry_set_rotation (RsttoNavigatorEntry *entry, GdkPixbufRotation rotation);
+gint
+rstto_navigator_entry_get_position(RsttoNavigatorEntry *entry);
GdkPixbufRotation
rstto_navigator_entry_get_rotation (RsttoNavigatorEntry *entry);
Modified: ristretto/trunk/src/thumbnail_bar.c
===================================================================
--- ristretto/trunk/src/thumbnail_bar.c 2007-12-21 20:18:09 UTC (rev 3732)
+++ ristretto/trunk/src/thumbnail_bar.c 2007-12-22 06:37:21 UTC (rev 3733)
@@ -76,6 +76,9 @@
static void
cb_rstto_thumbnail_bar_thumbnail_toggled (RsttoThumbnail *thumb, RsttoThumbnailBar *bar);
+static gint
+cb_rstto_thumbnail_bar_compare (RsttoThumbnail *a, RsttoThumbnail *b);
+
GType
rstto_thumbnail_bar_get_type ()
{
@@ -301,7 +304,7 @@
gtk_widget_set_parent(child, GTK_WIDGET(container));
- bar->priv->thumbs = g_slist_append(bar->priv->thumbs, child);
+ bar->priv->thumbs = g_slist_insert_sorted(bar->priv->thumbs, child, (GCompareFunc)cb_rstto_thumbnail_bar_compare);
}
static void
@@ -414,3 +417,19 @@
rstto_navigator_entry_select (rstto_thumbnail_get_entry(thumb));
}
}
+
+static gint
+cb_rstto_thumbnail_bar_compare (RsttoThumbnail *a, RsttoThumbnail *b)
+{
+ RsttoNavigatorEntry *_a = rstto_thumbnail_get_entry(a);
+ RsttoNavigatorEntry *_b = rstto_thumbnail_get_entry(b);
+
+ if (rstto_navigator_entry_get_position(_a) < rstto_navigator_entry_get_position(_b))
+ {
+ return -1;
+ }
+ else
+ {
+ return 1;
+ }
+}
More information about the Goodies-commits
mailing list