Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRicardo Markiewicz <rmarkie@fi.uba.ar>2006-01-23 23:39:58 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2006-01-23 23:39:58 (GMT)
commite0fee7de0f54717eb4cdd2e4abd28dedebaed89e (patch)
treeddb96f94ec15072fb0632a14be1103e431ea66e5
parentbc5d9019a3129c81157acdce37f8631c8f461fe5 (diff)
Add keybindings for percision-scrolling of display area. Fix for the bug
2006-01-24 Ricardo Markiewicz <rmarkie@fi.uba.ar> * shell/ev-view.c: (add_scroll_binding_keypad), (ev_view_binding_activated), (ev_view_class_init): Add keybindings for percision-scrolling of display area. Fix for the bug #314072.
-rw-r--r--ChangeLog13
-rw-r--r--shell/ev-view.c24
2 files changed, 31 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d0864e..0020ea3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2006-01-24 Ricardo Markiewicz <rmarkie@fi.uba.ar>
+
+ * shell/ev-view.c: (add_scroll_binding_keypad),
+ (ev_view_binding_activated), (ev_view_class_init):
+
+ Add keybindings for percision-scrolling of display area.
+ Fix for the bug #314072.
+
+2006-01-24 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+
+ * shell/ev-view.c: (add_scroll_binding_keypad),
+ (ev_view_binding_activated), (ev_view_class_init):
+
2006-01-21 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
* data/evince.desktop.in.in:
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 311504b..bf44153 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -113,6 +113,7 @@ static void ev_view_set_scroll_adjustments (EvView
GtkAdjustment *vadjustment);
static void add_scroll_binding_keypad (GtkBindingSet *binding_set,
guint keyval,
+ GdkModifierType modifiers,
GtkScrollType scroll,
gboolean horizontal);
static void ev_view_binding_activated (EvView *view,
@@ -541,16 +542,17 @@ ev_view_set_scroll_adjustments (EvView *view,
static void
add_scroll_binding_keypad (GtkBindingSet *binding_set,
guint keyval,
+ GdkModifierType modifiers,
GtkScrollType scroll,
gboolean horizontal)
{
guint keypad_keyval = keyval - GDK_Left + GDK_KP_Left;
- gtk_binding_entry_add_signal (binding_set, keyval, 0,
+ gtk_binding_entry_add_signal (binding_set, keyval, modifiers,
"binding_activated", 2,
GTK_TYPE_SCROLL_TYPE, scroll,
G_TYPE_BOOLEAN, horizontal);
- gtk_binding_entry_add_signal (binding_set, keypad_keyval, 0,
+ gtk_binding_entry_add_signal (binding_set, keypad_keyval, modifiers,
"binding_activated", 2,
GTK_TYPE_SCROLL_TYPE, scroll,
G_TYPE_BOOLEAN, horizontal);
@@ -647,6 +649,12 @@ ev_view_binding_activated (EvView *view,
case GTK_SCROLL_STEP_FORWARD:
value += adjustment->step_increment;
break;
+ case GTK_SCROLL_STEP_DOWN:
+ value -= adjustment->step_increment/10;
+ break;
+ case GTK_SCROLL_STEP_UP:
+ value += adjustment->step_increment/10;
+ break;
default:
break;
}
@@ -2544,10 +2552,14 @@ ev_view_class_init (EvViewClass *class)
binding_set = gtk_binding_set_by_class (class);
- add_scroll_binding_keypad (binding_set, GDK_Left, GTK_SCROLL_STEP_BACKWARD, TRUE);
- add_scroll_binding_keypad (binding_set, GDK_Right, GTK_SCROLL_STEP_FORWARD, TRUE);
- add_scroll_binding_keypad (binding_set, GDK_Up, GTK_SCROLL_STEP_BACKWARD, FALSE);
- add_scroll_binding_keypad (binding_set, GDK_Down, GTK_SCROLL_STEP_FORWARD, FALSE);
+ add_scroll_binding_keypad (binding_set, GDK_Left, 0, GTK_SCROLL_STEP_BACKWARD, TRUE);
+ add_scroll_binding_keypad (binding_set, GDK_Right, 0, GTK_SCROLL_STEP_FORWARD, TRUE);
+ add_scroll_binding_keypad (binding_set, GDK_Left, GDK_MOD1_MASK, GTK_SCROLL_STEP_DOWN, TRUE);
+ add_scroll_binding_keypad (binding_set, GDK_Right, GDK_MOD1_MASK, GTK_SCROLL_STEP_UP, TRUE);
+ add_scroll_binding_keypad (binding_set, GDK_Up, 0, GTK_SCROLL_STEP_BACKWARD, FALSE);
+ add_scroll_binding_keypad (binding_set, GDK_Down, 0, GTK_SCROLL_STEP_FORWARD, FALSE);
+ add_scroll_binding_keypad (binding_set, GDK_Up, GDK_MOD1_MASK, GTK_SCROLL_STEP_DOWN, FALSE);
+ add_scroll_binding_keypad (binding_set, GDK_Down, GDK_MOD1_MASK, GTK_SCROLL_STEP_UP, FALSE);
}
static void