return;
}
- if (path == NULL)
- path = gtk_tree_path_new_first ();
- if (path2 == NULL)
- path2 = gtk_tree_path_new_from_indices (priv->n_pages,
- -1);
- update_visible_range (sidebar_thumbnails,
- gtk_tree_path_get_indices (path)[0],
- gtk_tree_path_get_indices (path2)[0]);
+ if (path && path2) {
+ update_visible_range (sidebar_thumbnails,
+ gtk_tree_path_get_indices (path)[0],
+ gtk_tree_path_get_indices (path2)[0]);
+ }
gtk_tree_path_free (path);
gtk_tree_path_free (path2);
static void
ev_sidebar_thumbnails_set_loading_icon (EvSidebarThumbnails *sidebar_thumbnails)
{
- gint width = THUMBNAIL_WIDTH;
- gint height = THUMBNAIL_WIDTH;
-
if (sidebar_thumbnails->priv->loading_icon)
g_object_unref (sidebar_thumbnails->priv->loading_icon);
if (sidebar_thumbnails->priv->document) {
- EvRenderContext *rc;
-
- rc = ev_render_context_new (sidebar_thumbnails->priv->rotation, 0,
- get_scale_for_page (sidebar_thumbnails, 0));
+ gint width = THUMBNAIL_WIDTH;
+ gint height;
+ gint page_width, page_height;
- /* We get the dimensions of the first doc so that we can make a blank
+ /* We get the dimensions of the first page so that we can make a blank
* icon. */
- ev_document_doc_mutex_lock ();
- ev_document_thumbnails_get_dimensions (EV_DOCUMENT_THUMBNAILS (sidebar_thumbnails->priv->document),
- rc, &width, &height);
- ev_document_doc_mutex_unlock ();
-
- g_object_unref (rc);
+ ev_page_cache_get_size (sidebar_thumbnails->priv->page_cache, 0,
+ sidebar_thumbnails->priv->rotation,
+ 1.0, &page_width, &page_height);
+
+ height = (gint) (page_height * ((gdouble)width / page_width));
sidebar_thumbnails->priv->loading_icon =
ev_document_misc_get_thumbnail_frame (width, height, NULL);
g_signal_connect (priv->page_cache, "page-changed", G_CALLBACK (page_changed_cb), sidebar_thumbnails);
sidebar_thumbnails->priv->start_page = 0;
sidebar_thumbnails->priv->end_page = 0;
+ page_changed_cb (priv->page_cache,
+ ev_page_cache_get_current_page (priv->page_cache),
+ sidebar_thumbnails);
adjustment_changed_cb (sidebar_thumbnails);
}