]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-thumbnails.c
Fix compile warnings.
[evince.git] / shell / ev-sidebar-thumbnails.c
index d6a8af51e8127248cde6077e3ac752792d02242b..192aa6f3d70e5af1cb9cd087742b18ee28f45c08 100644 (file)
@@ -333,12 +333,22 @@ adjustment_changed_cb (EvSidebarThumbnails *sidebar_thumbnails)
                if (! GTK_WIDGET_REALIZED (priv->tree_view))
                        return;
 
+#if GTK_CHECK_VERSION (2, 11, 3)
+               gtk_tree_view_convert_widget_to_bin_window_coords (GTK_TREE_VIEW (priv->tree_view),
+                                                                  0, (int) priv->vadjustment->value,
+                                                                  NULL, &wy1);
+               gtk_tree_view_convert_widget_to_bin_window_coords (GTK_TREE_VIEW (priv->tree_view),
+                                                                  0, (int) (priv->vadjustment->value + priv->vadjustment->page_size),
+                                                                  NULL, &wy2);
+#else
                gtk_tree_view_tree_to_widget_coords (GTK_TREE_VIEW (priv->tree_view),
                                                     0, (int) priv->vadjustment->value,
                                                     NULL, &wy1);
                gtk_tree_view_tree_to_widget_coords (GTK_TREE_VIEW (priv->tree_view),
                                                     0, (int) (priv->vadjustment->value + priv->vadjustment->page_size),
                                                     NULL, &wy2);
+#endif /* GTK_CHECK_VERSION (2, 11, 3) */
+               
                gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (priv->tree_view),
                                               1, wy1 + 1, &path,
                                               NULL, NULL, NULL);
@@ -393,26 +403,21 @@ ev_sidebar_thumbnails_fill_model (EvSidebarThumbnails *sidebar_thumbnails)
 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);
@@ -562,8 +567,12 @@ ev_sidebar_thumbnails_init (EvSidebarThumbnails *ev_sidebar_thumbnails)
                                               EV_TYPE_JOB_THUMBNAIL);
 
        priv->swindow = gtk_scrolled_window_new (NULL, NULL);
+       
+       /* We actually don't want GTK_POLICY_AUTOMATIC for horizontal scrollbar here
+        * it's just a workaround for bug #449462
+        */
        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->swindow),
-                                       GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+                                       GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
        gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->swindow),
                                             GTK_SHADOW_IN);
        priv->vadjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->swindow));