[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