[Goodies-commits] r3084 - ristretto/trunk/src

Stephan Arts stephan at xfce.org
Mon Aug 27 01:17:54 CEST 2007


Author: stephan
Date: 2007-08-26 23:17:54 +0000 (Sun, 26 Aug 2007)
New Revision: 3084

Modified:
   ristretto/trunk/src/picture_viewer.c
   ristretto/trunk/src/thumbnail_viewer.c
Log:
add scrolling with mouse-wheel

Modified: ristretto/trunk/src/picture_viewer.c
===================================================================
--- ristretto/trunk/src/picture_viewer.c	2007-08-26 23:05:32 UTC (rev 3083)
+++ ristretto/trunk/src/picture_viewer.c	2007-08-26 23:17:54 UTC (rev 3084)
@@ -65,6 +65,8 @@
 
 static void
 cb_rstto_picture_viewer_value_changed(GtkAdjustment *adjustment, RsttoPictureViewer *viewer);
+static void
+cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll *event);
 
 
 static GtkWidgetClass *parent_class = NULL;
@@ -108,6 +110,8 @@
     viewer->priv->scale = 1;
     viewer->priv->scale_fts = FALSE;
     viewer->priv->show_border = TRUE;
+
+    g_signal_connect(G_OBJECT(viewer), "scroll_event", G_CALLBACK(cb_rstto_picture_viewer_scroll_event), NULL);
 }
 
 static void
@@ -589,3 +593,20 @@
         gdk_cursor_unref(cursor);
     }
 }
+
+static void
+cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll *event)
+{
+    switch(event->direction)
+    {
+        case GDK_SCROLL_UP:
+        case GDK_SCROLL_LEFT:
+            rstto_picture_viewer_set_scale(viewer, viewer->priv->scale / 1.2);
+            break;
+        case GDK_SCROLL_DOWN:
+        case GDK_SCROLL_RIGHT:
+            rstto_picture_viewer_set_scale(viewer, viewer->priv->scale * 1.2);
+            break;
+    }
+
+}

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-26 23:05:32 UTC (rev 3083)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-26 23:17:54 UTC (rev 3084)
@@ -232,6 +232,12 @@
 
     if (GTK_WIDGET_REALIZED (viewer))
     {
+        viewer->priv->begin = viewer->priv->offset / viewer->priv->dimension;
+        if (viewer->priv->orientation == GTK_ORIENTATION_VERTICAL)
+            viewer->priv->end = widget->allocation.height / viewer->priv->dimension + viewer->priv->begin;
+        else 
+            viewer->priv->end = widget->allocation.width / viewer->priv->dimension + viewer->priv->begin;
+
         rstto_thumbnail_viewer_paint(viewer);
     }
 




More information about the Goodies-commits mailing list