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

Stephan Arts stephan at xfce.org
Mon Aug 13 13:13:31 CEST 2007


Author: stephan
Date: 2007-08-13 11:13:31 +0000 (Mon, 13 Aug 2007)
New Revision: 2993

Modified:
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/navigator.h
   ristretto/trunk/src/thumbnail_viewer.c
Log:
Add autocenter to thumbnailer



Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/navigator.c	2007-08-13 11:13:31 UTC (rev 2993)
@@ -510,12 +510,22 @@
 rstto_navigator_get_file (RsttoNavigator *navigator)
 {
     if(navigator->file_iter)
+    {
         return (RsttoNavigatorEntry *)(navigator->file_iter->data);
+    }
     else
+    {
         return NULL;
+    }
 }
 
 gint
+rstto_navigator_get_position(RsttoNavigator *navigator)
+{
+    return g_list_position(navigator->file_list, navigator->file_iter);
+}
+
+gint
 rstto_navigator_get_n_files (RsttoNavigator *navigator)
 {
     return g_list_length(navigator->file_list);

Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h	2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/navigator.h	2007-08-13 11:13:31 UTC (rev 2993)
@@ -79,6 +79,8 @@
 
 RsttoNavigatorEntry *
 rstto_navigator_get_file (RsttoNavigator *navigator);
+gint
+rstto_navigator_get_position(RsttoNavigator *navigator);
 
 gint
 rstto_navigator_get_n_files (RsttoNavigator *navigator);

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-13 07:44:49 UTC (rev 2992)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-13 11:13:31 UTC (rev 2993)
@@ -50,6 +50,7 @@
     RsttoNavigator *navigator;
     gint dimension;
     gint offset;
+    gboolean auto_center;
     RsttoThumbnailViewerCache *cache;
 };
 
@@ -116,6 +117,8 @@
     viewer->priv->cache->begin = -1;
     viewer->priv->cache->end   = -1;
 
+    viewer->priv->auto_center = TRUE;
+
     gtk_widget_set_redraw_on_allocate(GTK_WIDGET(viewer), TRUE);
     gtk_widget_set_events (GTK_WIDGET(viewer),
                            GDK_BUTTON_PRESS_MASK);
@@ -445,8 +448,16 @@
 static void
 cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer)
 {
+    GtkWidget *widget = GTK_WIDGET(viewer);
 	if (GTK_WIDGET_REALIZED (viewer))
 	{
+        if(viewer->priv->auto_center)
+        {
+            gint nr = rstto_navigator_get_position(nav);
+            viewer->priv->offset = nr * viewer->priv->dimension - widget->allocation.width / 2 +viewer->priv->dimension / 2;
+            if (viewer->priv->offset < 0)
+                viewer->priv->offset = 0;
+        }
         rstto_thumbnail_viewer_paint(viewer);   
 
     }




More information about the Goodies-commits mailing list