Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-page-action.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ev-page-action.c')
-rw-r--r--shell/ev-page-action.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/shell/ev-page-action.c b/shell/ev-page-action.c
index a13d61e..29bae4e 100644
--- a/shell/ev-page-action.c
+++ b/shell/ev-page-action.c
@@ -84,7 +84,7 @@ update_spin (GtkAction *action, gpointer dummy, GtkWidget *proxy)
value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (spin));
- if (value != page->priv->current_page)
+ if (value != page->priv->current_page )
{
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin),
page->priv->current_page);
@@ -101,6 +101,14 @@ value_changed_cb (GtkWidget *spin, GtkAction *action)
g_signal_emit (action, signals[GOTO_PAGE_SIGNAL], 0, value);
}
+static void
+total_pages_changed_cb (EvPageAction *action, GParamSpec *pspec,
+ GtkSpinButton *spin)
+{
+ gtk_spin_button_set_range (GTK_SPIN_BUTTON (spin), 1,
+ action->priv->total_pages);
+}
+
static GtkWidget *
create_tool_item (GtkAction *action)
{
@@ -118,6 +126,9 @@ create_tool_item (GtkAction *action)
g_object_set_data (G_OBJECT (item), "spin", spin);
gtk_widget_show (spin);
+ g_signal_connect (action, "notify::total-pages",
+ G_CALLBACK (total_pages_changed_cb),
+ spin);
g_signal_connect (spin, "value_changed",
G_CALLBACK (value_changed_cb),
action);