]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-thumbnails.c
Updated German translation.
[evince.git] / shell / ev-sidebar-thumbnails.c
index 217c862fbdcb249d6b42fabc45b028b5aec208b4..382a5a96930867859e3e41d68af486186489e534 100644 (file)
@@ -57,8 +57,6 @@ enum {
        NUM_COLUMNS
 };
 
-static GtkVBoxClass *parent_class;
-
 G_DEFINE_TYPE (EvSidebarThumbnails, ev_sidebar_thumbnails, GTK_TYPE_VBOX);
 
 #define EV_SIDEBAR_THUMBNAILS_GET_PRIVATE(object) \
@@ -76,7 +74,7 @@ ev_sidebar_thumbnails_destroy (GtkObject *object)
                priv->idle_id = 0;
        }
 
-       GTK_OBJECT_CLASS (parent_class)->destroy (object);
+       GTK_OBJECT_CLASS (ev_sidebar_thumbnails_parent_class)->destroy (object);
 }
 
 static void
@@ -88,8 +86,6 @@ ev_sidebar_thumbnails_class_init (EvSidebarThumbnailsClass *ev_sidebar_thumbnail
        g_object_class = G_OBJECT_CLASS (ev_sidebar_thumbnails_class);
        gtk_object_class = GTK_OBJECT_CLASS (ev_sidebar_thumbnails_class);
 
-       parent_class = g_type_class_peek_parent (ev_sidebar_thumbnails_class);
-
        gtk_object_class->destroy = ev_sidebar_thumbnails_destroy;
 
        g_type_class_add_private (g_object_class, sizeof (EvSidebarThumbnailsPrivate));
@@ -316,12 +312,18 @@ ev_sidebar_thumbnails_select_page (EvSidebarThumbnails *sidebar,
        GtkTreePath *path;
        GtkTreeSelection *selection;
 
+       /* if the EvSidebar's document can't provide thumbnails */
+       if (sidebar->priv->document == NULL) 
+               return;
+
        path = gtk_tree_path_new_from_indices (page - 1, -1);
        selection = gtk_tree_view_get_selection
                        (GTK_TREE_VIEW (sidebar->priv->tree_view));
 
        if (path) {
                gtk_tree_selection_select_path (selection, path);
+               gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (sidebar->priv->tree_view),
+                                             path, NULL, FALSE, 0.0, 0.0);
                gtk_tree_path_free (path);      
        }
 }
@@ -354,11 +356,11 @@ ev_sidebar_thumbnails_set_document (EvSidebarThumbnails *sidebar_thumbnails,
        /* We get the dimensions of the first doc so that we can make a blank
         * icon.  */
        ev_document_thumbnails_get_dimensions (EV_DOCUMENT_THUMBNAILS (priv->document),
-                                              0, THUMBNAIL_WIDTH, &width, &height);
+                                              1, THUMBNAIL_WIDTH, &width, &height);
        loading_icon = ev_document_misc_get_thumbnail_frame (width, height, NULL);
 
-       for (i = 0; i < n_pages; i++) {
-               page = g_strdup_printf ("<i>%d</i>", i + 1);
+       for (i = 1; i <= n_pages; i++) {
+               page = g_strdup_printf ("<i>%d</i>", i);
                gtk_list_store_append (priv->list_store, &iter);
                gtk_list_store_set (priv->list_store, &iter,
                                    COLUMN_PAGE_STRING, page,