]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-thumbnails.c
Release 0.1.8
[evince.git] / shell / ev-sidebar-thumbnails.c
index 382a5a96930867859e3e41d68af486186489e534..b4622f6ebb9523d0975cfedf98226f87346bc3f0 100644 (file)
@@ -35,7 +35,8 @@
 #include "ev-window.h"
 #include "ev-utils.h"
 
-#define THUMBNAIL_WIDTH 75
+#define THUMBNAIL_WIDTH 100
+
 /* Amount of time we devote to each iteration of the idle, in microseconds */
 #define IDLE_WORK_LENGTH 5000
 
@@ -110,7 +111,7 @@ adjustment_changed_cb (GtkAdjustment       *adjustment,
        if (!path)
                return;
 
-       page = gtk_tree_path_get_indices (path)[0];
+       page = gtk_tree_path_get_indices (path)[0] + 1;
        if (page == priv->current_page)
                return;
        gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->list_store),
@@ -118,7 +119,7 @@ adjustment_changed_cb (GtkAdjustment       *adjustment,
        gtk_tree_model_get (GTK_TREE_MODEL (priv->list_store), &iter,
                            COLUMN_THUMBNAIL_SET, &thumbnail_set,
                            -1);
-       if (! thumbnail_set) {
+       if (!thumbnail_set) {
                priv->current_page = page;
                priv->current_page_iter = iter;
                
@@ -222,12 +223,14 @@ do_one_iteration (EvSidebarThumbnails *ev_sidebar_thumbnails)
                            COLUMN_THUMBNAIL_SET, &thumbnail_set,
                            -1);
        if (!thumbnail_set) {
-               pixbuf = ev_document_thumbnails_get_thumbnail (EV_DOCUMENT_THUMBNAILS (priv->document),
-                                                              priv->current_page, THUMBNAIL_WIDTH);
+               pixbuf = ev_document_thumbnails_get_thumbnail
+                               (EV_DOCUMENT_THUMBNAILS (priv->document),
+                                priv->current_page, THUMBNAIL_WIDTH, TRUE);
 
                gtk_list_store_set (priv->list_store,
                                    &(priv->current_page_iter),
                                    COLUMN_PIXBUF, pixbuf,
+                                   COLUMN_THUMBNAIL_SET, TRUE,
                                    -1);
 
                g_object_unref (pixbuf);
@@ -236,8 +239,8 @@ do_one_iteration (EvSidebarThumbnails *ev_sidebar_thumbnails)
 
        priv->current_page++;
 
-       if (priv->current_page == priv->n_pages) {
-               priv->current_page = 0;
+       if (priv->current_page > priv->n_pages) {
+               priv->current_page = 1;
                gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->list_store),
                                               &(priv->current_page_iter));
        } else {
@@ -359,6 +362,8 @@ ev_sidebar_thumbnails_set_document (EvSidebarThumbnails *sidebar_thumbnails,
                                               1, THUMBNAIL_WIDTH, &width, &height);
        loading_icon = ev_document_misc_get_thumbnail_frame (width, height, NULL);
 
+       gtk_list_store_clear (priv->list_store);
+
        for (i = 1; i <= n_pages; i++) {
                page = g_strdup_printf ("<i>%d</i>", i);
                gtk_list_store_append (priv->list_store, &iter);
@@ -373,7 +378,7 @@ ev_sidebar_thumbnails_set_document (EvSidebarThumbnails *sidebar_thumbnails,
        g_object_unref (loading_icon);
        gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->list_store),
                                       &(priv->current_page_iter));
-       priv->current_page = 0;
+       priv->current_page = 1;
        priv->pages_done = 0;
 }