summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libview/ev-document-model.c10
-rw-r--r--libview/ev-view.c9
-rw-r--r--shell/ev-window.c13
3 files changed, 10 insertions, 22 deletions
diff --git a/libview/ev-document-model.c b/libview/ev-document-model.c
index 572f5526..856ee36e 100644
--- a/libview/ev-document-model.c
+++ b/libview/ev-document-model.c
@@ -559,11 +559,6 @@ ev_document_model_set_dual_page (EvDocumentModel *model,
model->dual_page = dual_page;
g_object_notify (G_OBJECT (model), "dual-page");
-
- if (dual_page && model->dual_page_odd_left) {
- model->dual_page_odd_left = FALSE;
- g_object_notify (G_OBJECT (model), "dual-odd-left");
- }
}
gboolean
@@ -588,11 +583,6 @@ ev_document_model_set_dual_page_odd_pages_left (EvDocumentModel *model,
model->dual_page_odd_left = odd_left;
g_object_notify (G_OBJECT (model), "dual-odd-left");
-
- if (odd_left && model->dual_page) {
- model->dual_page = FALSE;
- g_object_notify (G_OBJECT (model), "dual-page");
- }
}
gboolean
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 80f1df48..72abcb86 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -5708,9 +5708,7 @@ ev_view_dual_page_changed_cb (EvDocumentModel *model,
GParamSpec *pspec,
EvView *view)
{
- gboolean dual_page = ev_document_model_get_dual_page (model);
-
- view->dual_page = dual_page || ev_document_model_get_dual_page_odd_pages_left (model);
+ view->dual_page = ev_document_model_get_dual_page (model);
view->pending_scroll = SCROLL_TO_PAGE_POSITION;
/* FIXME: if we're keeping the pixbuf cache around, we should extend the
* preload_cache_size to be 2 if dual_page is set.
@@ -5723,10 +5721,7 @@ ev_view_dual_odd_left_changed_cb (EvDocumentModel *model,
GParamSpec *pspec,
EvView *view)
{
- gboolean dual_odd_left = ev_document_model_get_dual_page_odd_pages_left (model);
-
- view->dual_page = dual_odd_left || ev_document_model_get_dual_page (model);
- view->dual_even_left = !dual_odd_left;
+ view->dual_even_left = !ev_document_model_get_dual_page_odd_pages_left (model);
view->pending_scroll = SCROLL_TO_PAGE_POSITION;
gtk_widget_queue_resize (GTK_WIDGET (view));
diff --git a/shell/ev-window.c b/shell/ev-window.c
index b33637bd..d91344f2 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -525,11 +525,13 @@ ev_window_update_actions (EvWindow *ev_window)
gboolean presentation_mode;
gboolean can_find_in_page = FALSE;
EvSizingMode sizing_mode;
+ gboolean dual_mode = FALSE;
if (ev_window->priv->document) {
page = ev_document_model_get_page (ev_window->priv->model);
n_pages = ev_document_get_n_pages (ev_window->priv->document);
has_pages = n_pages > 0;
+ dual_mode = ev_document_model_get_dual_page (ev_window->priv->model);
}
#if ENABLE_EPUB
if (ev_window->priv->document && ev_window->priv->document->iswebdocument == TRUE ) {
@@ -576,6 +578,8 @@ ev_window_update_actions (EvWindow *ev_window)
has_pages &&
ev_view_can_zoom_out (view) &&
!presentation_mode);
+ ev_window_set_action_sensitive (ev_window, "ViewDualOddLeft",
+ dual_mode);
}
/* Go menu */
if (has_pages) {
@@ -3953,7 +3957,6 @@ ev_window_cmd_dual_odd_pages_left (GtkAction *action, EvWindow *ev_window)
{
gboolean dual_page_odd_left;
- ev_window_stop_presentation (ev_window, TRUE);
dual_page_odd_left = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
ev_document_model_set_dual_page_odd_pages_left (ev_window->priv->model,
dual_page_odd_left);
@@ -6307,11 +6310,11 @@ static const GtkToggleActionEntry toggle_entries[] = {
{ "ViewContinuous", EV_STOCK_VIEW_CONTINUOUS, N_("_Continuous"), NULL,
N_("Show the entire document"),
G_CALLBACK (ev_window_cmd_continuous), TRUE },
- { "ViewDual", EV_STOCK_VIEW_DUAL, N_("_Dual (Even pages left)"), NULL,
- N_("Show two pages at once with even pages on the left"),
+ { "ViewDual", EV_STOCK_VIEW_DUAL, N_("_Dual"), NULL,
+ N_("Show two pages at once"),
G_CALLBACK (ev_window_cmd_dual), FALSE },
- { "ViewDualOddLeft", EV_STOCK_VIEW_DUAL, N_("Dual (_Odd pages left)"), NULL,
- N_("Show two pages at once with odd pages on the left"),
+ { "ViewDualOddLeft", NULL, N_("_Odd pages left"), NULL,
+ N_("Show odd pages on the left in dual mode"),
G_CALLBACK (ev_window_cmd_dual_odd_pages_left), FALSE },
{ "ViewFullscreen", GTK_STOCK_FULLSCREEN, N_("_Fullscreen"), "F11",
N_("Expand the window to fill the screen"),