[Goodies-commits] r2988 - in ristretto/trunk: po src

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


Author: stephan
Date: 2007-08-12 22:31:31 +0000 (Sun, 12 Aug 2007)
New Revision: 2988

Modified:
   ristretto/trunk/po/fr.po
   ristretto/trunk/po/nl.po
   ristretto/trunk/po/ristretto.pot
   ristretto/trunk/src/thumbnail_viewer.c
Log:
Implemented cache cleanup



Modified: ristretto/trunk/po/fr.po
===================================================================
--- ristretto/trunk/po/fr.po	2007-08-11 23:04:31 UTC (rev 2987)
+++ ristretto/trunk/po/fr.po	2007-08-12 22:31:31 UTC (rev 2988)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ristretto\n"
 "Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-08 19:11+0200\n"
+"POT-Creation-Date: 2007-08-12 01:07+0200\n"
 "PO-Revision-Date: 2007-07-03 00:59:21+0200\n"
 "Last-Translator: Mike Massonnet <mmassonnet at xfce.org>\n"
 "Language-Team: French\n"

Modified: ristretto/trunk/po/nl.po
===================================================================
--- ristretto/trunk/po/nl.po	2007-08-11 23:04:31 UTC (rev 2987)
+++ ristretto/trunk/po/nl.po	2007-08-12 22:31:31 UTC (rev 2988)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ristretto 0.0.1-svn-r02537\n"
 "Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-08 19:11+0200\n"
+"POT-Creation-Date: 2007-08-12 01:07+0200\n"
 "PO-Revision-Date: 2007-07-13 00:48+0200\n"
 "Last-Translator: Stephan Arts <stephan at xfce.org>\n"
 "Language-Team: Dutch\n"
@@ -89,8 +89,8 @@
 "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
 "environment."
 msgstr ""
-"Ristretto is een snelle en lichtgewicht afbeeldingsweergave-programma "
-"voor de Xfce-desktop omgeving"
+"Ristretto is een snelle en lichtgewicht afbeeldingsweergave-programma voor "
+"de Xfce-desktop omgeving"
 
 #: ../src/main.c:417
 msgid "translator-credits"

Modified: ristretto/trunk/po/ristretto.pot
===================================================================
--- ristretto/trunk/po/ristretto.pot	2007-08-11 23:04:31 UTC (rev 2987)
+++ ristretto/trunk/po/ristretto.pot	2007-08-12 22:31:31 UTC (rev 2988)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-08 19:11+0200\n"
+"POT-Creation-Date: 2007-08-12 01:07+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"

Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c	2007-08-11 23:04:31 UTC (rev 2987)
+++ ristretto/trunk/src/thumbnail_viewer.c	2007-08-12 22:31:31 UTC (rev 2988)
@@ -73,6 +73,7 @@
 rstto_thumbnail_viewer_paint(RsttoThumbnailViewer *viewer);
 
 static GtkWidgetClass *parent_class = NULL;
+static gint cache_size = 10;
 
 static void
 cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer);
@@ -121,8 +122,6 @@
     g_signal_connect(G_OBJECT(viewer), "button_press_event", G_CALLBACK(cb_rstto_thumbnailer_button_press_event), NULL);
     viewer->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
 
-    if (0)
-        rstto_thumbnail_viewer_cache_remove(NULL, 0);
 }
 
 static void
@@ -257,14 +256,17 @@
     gint begin = viewer->priv->offset / viewer->priv->dimension;
     gint end = widget->allocation.width / viewer->priv->dimension + begin;
     GdkPixmap *pixmap = NULL;
-/*
-    g_debug("cache_size: %d: %d:%d|%d:%d", 
-            g_slist_length(viewer->priv->cache->pixmaps), 
-            begin,
-            viewer->priv->cache->begin,
-            end,
-            viewer->priv->cache->end);
-*/
+
+    /* Cleanup_cache */
+    for (i = viewer->priv->cache->begin; i < begin-cache_size; i++)
+    {
+        rstto_thumbnail_viewer_cache_remove(viewer->priv->cache, i);
+    }
+    for (i = end + cache_size; i < viewer->priv->cache->end; i++)
+    {
+        rstto_thumbnail_viewer_cache_remove(viewer->priv->cache, i);
+    }
+
     for(i = begin; i <= end; ++i)
     { 
         RsttoNavigatorEntry *entry = rstto_navigator_get_nth_file(viewer->priv->navigator, i);
@@ -550,7 +552,17 @@
 static gboolean
 rstto_thumbnail_viewer_cache_remove (RsttoThumbnailViewerCache *cache, gint nr)
 {
-    
+    if ((nr == cache->begin) || (nr == cache->end))
+    {
+        GdkPixbuf *pixbuf = g_slist_nth_data(cache->pixmaps, nr - cache->begin);
+        g_object_unref(pixbuf);
+        cache->pixmaps = g_slist_remove(cache->pixmaps, pixbuf);
+        if (nr == cache->begin)
+            cache->begin++;
+        else
+            cache->end--;
+    }
+    return TRUE;   
 }
 
 static GdkPixbuf *




More information about the Goodies-commits mailing list