[Goodies-commits] r3794 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Sat Jan 12 00:20:58 CET 2008
Author: stephan
Date: 2008-01-11 23:20:58 +0000 (Fri, 11 Jan 2008)
New Revision: 3794
Modified:
ristretto/trunk/src/navigator.c
ristretto/trunk/src/thumbnail_bar.c
Log:
Add scrolling support to thumbnail_bar
Add function to return the size of a pixbuf (in bytes) to the navigator
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2008-01-11 15:16:36 UTC (rev 3793)
+++ ristretto/trunk/src/navigator.c 2008-01-11 23:20:58 UTC (rev 3794)
@@ -912,6 +912,16 @@
return entry->src_pixbuf;
}
+gdouble
+rstto_navigator_entry_get_size (RsttoNavigatorEntry *entry)
+{
+ if (entry->src_pixbuf)
+ {
+ return (gdouble)(gdk_pixbuf_get_width(entry->src_pixbuf) * gdk_pixbuf_get_height(entry->src_pixbuf) * gdk_pixbuf_get_bits_per_sample(entry->src_pixbuf));
+ }
+ return 0;
+}
+
gboolean
rstto_navigator_entry_load_image (RsttoNavigatorEntry *entry, gboolean empty_cache)
{
Modified: ristretto/trunk/src/thumbnail_bar.c
===================================================================
--- ristretto/trunk/src/thumbnail_bar.c 2008-01-11 15:16:36 UTC (rev 3793)
+++ ristretto/trunk/src/thumbnail_bar.c 2008-01-11 23:20:58 UTC (rev 3794)
@@ -65,6 +65,10 @@
cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (RsttoThumbnail *thumb,
GdkEventMotion *event,
gpointer user_data);
+static gboolean
+cb_rstto_thumbnail_bar_thumbnail_scroll_event (RsttoThumbnail *thumb,
+ GdkEventScroll *event,
+ gpointer *user_data);
static void
rstto_thumbnail_bar_add(GtkContainer *container, GtkWidget *child);
@@ -526,6 +530,7 @@
g_signal_connect(G_OBJECT(thumb), "button_press_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_press_event), NULL);
g_signal_connect(G_OBJECT(thumb), "button_release_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_release_event), NULL);
g_signal_connect(G_OBJECT(thumb), "motion_notify_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_motion_notify_event), NULL);
+ g_signal_connect(G_OBJECT(thumb), "scroll_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_scroll_event), NULL);
gtk_container_add(GTK_CONTAINER(bar), thumb);
gtk_widget_show(thumb);
}
@@ -669,3 +674,24 @@
}
return FALSE;
}
+
+static gboolean
+cb_rstto_thumbnail_bar_thumbnail_scroll_event (RsttoThumbnail *thumb,
+ GdkEventScroll *event,
+ gpointer *user_data)
+{
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(gtk_widget_get_parent(GTK_WIDGET(thumb)));
+ switch(event->direction)
+ {
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_LEFT:
+ rstto_navigator_jump_back(bar->priv->navigator);
+ break;
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_RIGHT:
+ rstto_navigator_jump_forward(bar->priv->navigator);
+ break;
+ }
+ return FALSE;
+
+}
More information about the Goodies-commits
mailing list