Blame SOURCES/evince-3.14.2-previous-next-page-buttons-sensitivity.patch

d6c6b3
From a671eb08a98dd8e4637567949af281ce4b7c5496 Mon Sep 17 00:00:00 2001
d6c6b3
From: Robert Roth <robert.roth.off@gmail.com>
d6c6b3
Date: Sun, 15 Mar 2015 20:39:25 +0200
d6c6b3
Subject: previewer: Enable/disable page navigation based on current page
d6c6b3
d6c6b3
https://bugzilla.gnome.org/show_bug.cgi?id=745840
d6c6b3
---
d6c6b3
 previewer/ev-previewer-window.c | 20 ++++++++++++++++++++
d6c6b3
 1 file changed, 20 insertions(+)
d6c6b3
d6c6b3
diff --git a/previewer/ev-previewer-window.c b/previewer/ev-previewer-window.c
d6c6b3
index dd34f25..ff2c42c 100644
d6c6b3
--- a/previewer/ev-previewer-window.c
d6c6b3
+++ b/previewer/ev-previewer-window.c
d6c6b3
@@ -334,6 +334,22 @@ view_focus_changed (GtkWidget         *widget,
d6c6b3
 }
d6c6b3
 
d6c6b3
 static void
d6c6b3
+model_page_changed (EvDocumentModel* model,
d6c6b3
+		    gint old_page,
d6c6b3
+		    gint new_page,
d6c6b3
+		    EvPreviewerWindow *window)
d6c6b3
+{
d6c6b3
+	GtkAction *action;
d6c6b3
+	gint       n_pages = ev_document_get_n_pages (ev_document_model_get_document (window->model));
d6c6b3
+
d6c6b3
+	action = gtk_action_group_get_action (window->action_group, "GoPreviousPage");
d6c6b3
+	gtk_action_set_sensitive (GTK_ACTION (action), new_page > 0 );
d6c6b3
+
d6c6b3
+	action = gtk_action_group_get_action (window->action_group, "GoNextPage");
d6c6b3
+	gtk_action_set_sensitive (GTK_ACTION (action), new_page < n_pages - 1);
d6c6b3
+}
d6c6b3
+
d6c6b3
+static void
d6c6b3
 view_sizing_mode_changed (EvDocumentModel   *model,
d6c6b3
 			  GParamSpec        *pspec,
d6c6b3
 			  EvPreviewerWindow *window)
d6c6b3
@@ -599,6 +615,10 @@ ev_previewer_window_constructor (GType                  type,
d6c6b3
 	ev_view_set_model (window->view, window->model);
d6c6b3
 	ev_document_model_set_continuous (window->model, FALSE);
d6c6b3
 
d6c6b3
+	g_signal_connect_object (window->model, "page-changed",
d6c6b3
+				 G_CALLBACK (model_page_changed),
d6c6b3
+				 window, 0);
d6c6b3
+
d6c6b3
 	gtk_container_add (GTK_CONTAINER (window->swindow), GTK_WIDGET (window->view));
d6c6b3
 	gtk_widget_show (GTK_WIDGET (window->view));
d6c6b3
 
d6c6b3
-- 
d6c6b3
cgit v0.12
d6c6b3