X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-window.c;h=30f2c20c4f3a7cdf2fce209bf13f9d9e296e71a6;hb=7f37457cb7300977777fa712e0f1562e90be2aa2;hp=10e2a5cce97cfe7dccedccbf9896cc599ce74c4a;hpb=ec95cd00fbffdb58196e0adadd664e07f5c343a1;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 10e2a5cc..30f2c20c 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -1053,8 +1053,10 @@ ev_window_setup_document (EvWindow *ev_window) document = ev_window->priv->document; ev_window->priv->page_cache = ev_page_cache_get (ev_window->priv->document); - g_signal_connect (ev_window->priv->page_cache, "page-changed", G_CALLBACK (page_changed_cb), ev_window); - g_signal_connect (ev_window->priv->page_cache, "history-changed", G_CALLBACK (history_changed_cb), ev_window); + g_signal_connect (ev_window->priv->page_cache, "page-changed", + G_CALLBACK (page_changed_cb), ev_window); + g_signal_connect (ev_window->priv->page_cache, "history-changed", + G_CALLBACK (history_changed_cb), ev_window); if (EV_IS_DOCUMENT_FIND (document)) { g_signal_connect_object (G_OBJECT (document), @@ -1064,12 +1066,24 @@ ev_window_setup_document (EvWindow *ev_window) } if (EV_IS_DOCUMENT_THUMBNAILS (document)) { + EvRenderContext *rc; + gint page_width, page_height; + gdouble scale; + ev_window_clear_thumbnail_job (ev_window); - ev_window->priv->thumbnail_job = ev_job_thumbnail_new (document, 0, 0, 100); + + ev_page_cache_get_size (ev_window->priv->page_cache, + 0, 0, 1.0, + &page_width, &page_height); + scale = (gdouble)128 / (gdouble)page_width; + + rc = ev_render_context_new (0, 0, scale); + ev_window->priv->thumbnail_job = ev_job_thumbnail_new (document, rc); g_signal_connect (ev_window->priv->thumbnail_job, "finished", G_CALLBACK (ev_window_set_icon_from_thumbnail), ev_window); ev_job_queue_add_job (EV_JOB (ev_window->priv->thumbnail_job), EV_JOB_PRIORITY_LOW); + g_object_unref (rc); } ev_sidebar_set_document (sidebar, document); @@ -1157,7 +1171,7 @@ ev_window_popup_password_dialog (EvWindow *ev_window) gtk_window_set_transient_for (GTK_WINDOW (ev_window->priv->password_dialog), GTK_WINDOW (ev_window)); g_object_add_weak_pointer (G_OBJECT (ev_window->priv->password_dialog), - (gpointer *) &(ev_window->priv->password_dialog)); + (gpointer) &(ev_window->priv->password_dialog)); g_signal_connect (ev_window->priv->password_dialog, "response", G_CALLBACK (password_dialog_response), @@ -2372,7 +2386,7 @@ ev_window_cmd_file_properties (GtkAction *action, EvWindow *ev_window) ev_properties_dialog_set_document (EV_PROPERTIES_DIALOG (ev_window->priv->properties), ev_window->priv->document); g_object_add_weak_pointer (G_OBJECT (ev_window->priv->properties), - (gpointer *) &(ev_window->priv->properties)); + (gpointer) &(ev_window->priv->properties)); gtk_window_set_transient_for (GTK_WINDOW (ev_window->priv->properties), GTK_WINDOW (ev_window)); }