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

Stephan Arts stephan at xfce.org
Fri Aug 24 00:37:27 CEST 2007


Author: stephan
Date: 2007-08-23 22:37:27 +0000 (Thu, 23 Aug 2007)
New Revision: 3057

Modified:
   ristretto/trunk/src/navigator.c
   ristretto/trunk/src/thumbnail_viewer.c
Log:
improve thumbailer performance

Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c	2007-08-23 21:45:16 UTC (rev 3056)
+++ ristretto/trunk/src/navigator.c	2007-08-23 22:37:27 UTC (rev 3057)
@@ -159,7 +159,7 @@
 
     if(navigator->file_list)
     {
-        g_list_foreach(navigator->file_list, (GFunc)thunar_vfs_info_unref, NULL);
+        g_list_foreach(navigator->file_list, (GFunc)rstto_navigator_entry_free, NULL);
         navigator->file_list = NULL;
     }
 }

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-23 21:45:16 UTC (rev 3056)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-23 22:37:27 UTC (rev 3057)
@@ -503,6 +503,7 @@
         
         if (viewer->priv->auto_center == TRUE)
         {
+            gint old_offset = viewer->priv->offset = 0;
             switch (viewer->priv->orientation)
             {
                 case GTK_ORIENTATION_HORIZONTAL:
@@ -520,14 +521,29 @@
             {
                 viewer->priv->offset = 0;
                 viewer->priv->begin = 0;
+                viewer->priv->end = widget->allocation.width / viewer->priv->dimension;
+            }
+            if (viewer->priv->end >= rstto_navigator_get_n_files(nav))
+            {
                 viewer->priv->end = rstto_navigator_get_n_files(nav) - 1;
             }
+            if (viewer->priv->offset == old_offset)
+            {
+                rstto_thumbnail_viewer_paint_entry(viewer, rstto_navigator_get_old_position(viewer->priv->navigator), FALSE);
+                RsttoNavigatorEntry *s_entry = rstto_navigator_get_file(nav);
+                if (s_entry == entry)
+                {
+                    rstto_thumbnail_viewer_paint_entry(viewer, nr, TRUE);
+                }
+                else
+                {
+                    rstto_thumbnail_viewer_paint_entry(viewer, nr, FALSE);
+                }
+            }
             else
             {
-                if (viewer->priv->end > rstto_navigator_get_n_files(nav))
-                    viewer->priv->end = rstto_navigator_get_n_files(nav) - 1;
+                rstto_thumbnail_viewer_paint(viewer);
             }
-            rstto_thumbnail_viewer_paint(viewer);
         }
         else
         {




More information about the Goodies-commits mailing list