[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