X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-sidebar-thumbnails.c;h=382a5a96930867859e3e41d68af486186489e534;hb=d58fdf40717bb64e9967670918a4f3f909bd304f;hp=217c862fbdcb249d6b42fabc45b028b5aec208b4;hpb=a601c252dae06def4379c838ed176955903b34c9;p=evince.git diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c index 217c862f..382a5a96 100644 --- a/shell/ev-sidebar-thumbnails.c +++ b/shell/ev-sidebar-thumbnails.c @@ -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 ("%d", i + 1); + for (i = 1; i <= n_pages; i++) { + page = g_strdup_printf ("%d", i); gtk_list_store_append (priv->list_store, &iter); gtk_list_store_set (priv->list_store, &iter, COLUMN_PAGE_STRING, page,