Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ev-view.c')
-rw-r--r--shell/ev-view.c59
1 files changed, 30 insertions, 29 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c
index b9dda6a..1fdf5d5 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -455,40 +455,41 @@ add_scroll_binding (GtkBindingSet *binding_set,
static void
ev_view_scroll_view (EvView *view,
- GtkScrollType scroll,
- gboolean horizontal)
+ GtkScrollType scroll,
+ gboolean horizontal)
{
- GtkAdjustment *adjustment;
- double value;
-
- if (horizontal) {
- adjustment = view->hadjustment;
+ if (scroll == GTK_SCROLL_PAGE_BACKWARD) {
+ ev_view_set_page (view, ev_view_get_page (view) - 1);
+ } else if (scroll == GTK_SCROLL_PAGE_FORWARD) {
+ ev_view_set_page (view, ev_view_get_page (view) + 1);
} else {
- adjustment = view->vadjustment;
- }
+ GtkAdjustment *adjustment;
+ double value;
- value = adjustment->value;
-
- switch (scroll) {
- case GTK_SCROLL_STEP_BACKWARD:
- value -= adjustment->step_increment;
- break;
- case GTK_SCROLL_STEP_FORWARD:
- value += adjustment->step_increment;
- break;
- case GTK_SCROLL_PAGE_BACKWARD:
- value -= adjustment->page_increment;
- break;
- case GTK_SCROLL_PAGE_FORWARD:
- value += adjustment->page_increment;
- break;
- default:
- break;
- }
+ if (horizontal) {
+ adjustment = view->hadjustment;
+ } else {
+ adjustment = view->vadjustment;
+ }
- value = CLAMP (value, adjustment->lower, adjustment->upper - adjustment->page_size);
+ value = adjustment->value;
+
+ switch (scroll) {
+ case GTK_SCROLL_STEP_BACKWARD:
+ value -= adjustment->step_increment;
+ break;
+ case GTK_SCROLL_STEP_FORWARD:
+ value += adjustment->step_increment;
+ break;
+ default:
+ break;
+ }
- gtk_adjustment_set_value (adjustment, value);
+ value = CLAMP (value, adjustment->lower,
+ adjustment->upper - adjustment->page_size);
+
+ gtk_adjustment_set_value (adjustment, value);
+ }
}
static void