[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