]> www.fi.muni.cz Git - evince.git/commitdiff
Rotate also the window icon when document is rotated. Fixes bug #474681.
authorMartin Schanzenbach <mschanzenbach@gmail.com>
Wed, 10 Oct 2007 09:07:34 +0000 (09:07 +0000)
committerCarlos Garcia Campos <carlosgc@src.gnome.org>
Wed, 10 Oct 2007 09:07:34 +0000 (09:07 +0000)
2007-10-10  Martin Schanzenbach  <mschanzenbach@gmail.com>
* shell/ev-window.c: (ev_window_refresh_window_thumbnail),
(ev_window_setup_document), (ev_window_rotation_changed_cb):
Rotate also the window icon when document is rotated. Fixes bug
#474681.

svn path=/trunk/; revision=2696

ChangeLog
shell/ev-window.c

index 0cac52171fbdadd98e095af630d024c1d1fc302e..25e69fafa23dd001c8aeff4dc78461b71ad0bde3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-10-10  Martin Schanzenbach  <mschanzenbach@gmail.com>
+
+       * shell/ev-window.c: (ev_window_refresh_window_thumbnail),
+       (ev_window_setup_document), (ev_window_rotation_changed_cb):
+
+       Rotate also the window icon when document is rotated. Fixes bug
+       #474681.
+       
 2007-10-04  Carlos Garcia Campos  <carlosgc@gnome.org>
 
        * backend/pdf/ev-poppler.cc: (ev_form_field_from_poppler_field),
index ca4ab5853f1774bf4815bf1d713ecba06794fd8d..117ce944dadd4643aeeb13a6fb138b7eb6055184 100644 (file)
@@ -1063,6 +1063,36 @@ ev_window_set_icon_from_thumbnail (EvJobThumbnail *job,
        ev_window_clear_thumbnail_job (ev_window);
 }
 
+static void
+ev_window_refresh_window_thumbnail (EvWindow *ev_window, int rotation)
+{
+       
+       EvRenderContext *rc;
+       gint page_width, page_height;
+       gdouble scale;
+       EvDocument *document = ev_window->priv->document;
+       
+       if (!EV_IS_DOCUMENT_THUMBNAILS (document)) {
+               return;
+       }
+       
+       ev_window_clear_thumbnail_job (ev_window);
+       
+       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 (rotation, 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);
+}
+
 static gboolean
 ev_window_setup_document (EvWindow *ev_window)
 {
@@ -1077,27 +1107,8 @@ ev_window_setup_document (EvWindow *ev_window)
                                         G_CALLBACK (find_changed_cb),  
                                         ev_window, 0);
        }
-
-       if (EV_IS_DOCUMENT_THUMBNAILS (document)) {
-               EvRenderContext *rc;
-               gint page_width, page_height;
-               gdouble scale;
-
-               ev_window_clear_thumbnail_job (ev_window);
-               
-               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_window_refresh_window_thumbnail (ev_window, 0);
 
        ev_window_set_page_mode (ev_window, PAGE_MODE_DOCUMENT);
        ev_window_title_set_document (ev_window->priv->title, document);
@@ -3626,6 +3637,7 @@ ev_window_rotation_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *window
 
        ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (window->priv->sidebar_thumbs),
                                       rotation);
+       ev_window_refresh_window_thumbnail (window, rotation);
 }
 
 static void