diff options
author | Jonathan Blandford <jrb@redhat.com> | 2005-08-25 06:34:20 (GMT) |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2005-08-25 06:34:20 (GMT) |
commit | 9a1a3b315f05568f6e28f64f685338dc120d5491 (patch) | |
tree | af6de51724acab978387377c9d7c724ba1323867 /shell/ev-window.c | |
parent | ebe3e0a897cc51ccfb4f35619c600962900d709e (diff) |
Redo rotation (again). prepare for 0.4.0
Thu Aug 25 02:32:32 2005 Jonathan Blandford <jrb@redhat.com>
* backend/ev-document-misc.c:
(ev_document_misc_get_thumbnail_frame):
* backend/ev-document-misc.h:
* configure.ac:
* pdf/ev-poppler.cc:
* shell/Makefile.am:
* shell/ev-sidebar-thumbnails.c: (add_range),
(ev_sidebar_thumbnails_set_loading_icon),
(ev_sidebar_thumbnails_refresh),
(ev_sidebar_thumbnails_set_document):
* shell/ev-sidebar-thumbnails.h:
* shell/ev-view.c: (ev_view_motion_notify_event),
(ev_view_set_property), (ev_view_get_property),
(ev_view_class_init), (ev_view_set_rotation):
* shell/ev-window.c: (ev_window_cmd_edit_rotate_left),
(ev_window_cmd_edit_rotate_right), (ev_window_rotation_changed_cb),
(ev_window_init):
* tiff/tiff-document.c: (tiff_document_thumbnails_get_thumbnail):
Redo rotation (again). prepare for 0.4.0
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r-- | shell/ev-window.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index d860d74..0c8139a 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2060,35 +2060,16 @@ ev_window_cmd_edit_toolbar_cb (GtkDialog *dialog, gint response, gpointer data) gtk_widget_destroy (GTK_WIDGET (dialog)); } -/* should these be hooked up to properties?? */ -static void -save_rotation_to_file (EvWindow *window) -{ - int rotation; - - if (window->priv->uri) { - rotation = ev_view_get_rotation (EV_VIEW (window->priv->view)); - ev_metadata_manager_set_int (window->priv->uri, "rotation", - rotation); - } - - -} - static void ev_window_cmd_edit_rotate_left (GtkAction *action, EvWindow *ev_window) { ev_view_rotate_left (EV_VIEW (ev_window->priv->view)); - ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (ev_window->priv->sidebar_thumbs)); - save_rotation_to_file (ev_window); } static void ev_window_cmd_edit_rotate_right (GtkAction *action, EvWindow *ev_window) { ev_view_rotate_right (EV_VIEW (ev_window->priv->view)); - ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (ev_window->priv->sidebar_thumbs)); - save_rotation_to_file (ev_window); } static void @@ -2421,6 +2402,22 @@ ev_window_continuous_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *ev_w } static void +ev_window_rotation_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *window) +{ + int rotation; + + rotation = ev_view_get_rotation (EV_VIEW (window->priv->view)); + + if (window->priv->uri) { + ev_metadata_manager_set_int (window->priv->uri, "rotation", + rotation); + } + + ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (window->priv->sidebar_thumbs), + rotation); +} + +static void ev_window_dual_mode_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *ev_window) { ev_window_update_dual_page_action (ev_window); @@ -3513,6 +3510,10 @@ ev_window_init (EvWindow *ev_window) "notify::continuous", G_CALLBACK (ev_window_continuous_changed_cb), ev_window); + g_signal_connect (ev_window->priv->view, + "notify::rotation", + G_CALLBACK (ev_window_rotation_changed_cb), + ev_window); ev_window->priv->statusbar = ev_statusbar_new (); gtk_box_pack_end (GTK_BOX (ev_window->priv->main_box), |