diff options
author | Carlos Garcia Campos <[email protected]> | 2013-06-19 12:10:56 +0200 |
---|---|---|
committer | raveit65 <[email protected]> | 2017-09-06 18:25:34 +0200 |
commit | 6740baaa2eb9ee0b5dec91cded20f95ca88af3a9 (patch) | |
tree | 33748bb60e939898ad82a31277c0014b12554bbf /libview/ev-view-private.h | |
parent | aa755794bed2475801a2e2cc00e759cf243f6101 (diff) | |
download | atril-6740baaa2eb9ee0b5dec91cded20f95ca88af3a9.tar.bz2 atril-6740baaa2eb9ee0b5dec91cded20f95ca88af3a9.tar.xz |
libview: Use GtkBindings for caret navigation
This allows themes to override the key bindings and API users to move
the caret cursor programmatically using g_signal_emit_by_name.
origin commit:
https://git.gnome.org/browse/evince/commit/?h=gnome-3-10&id=1206ff1
Diffstat (limited to 'libview/ev-view-private.h')
-rw-r--r-- | libview/ev-view-private.h | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/libview/ev-view-private.h b/libview/ev-view-private.h index 14221175..696a043f 100644 --- a/libview/ev-view-private.h +++ b/libview/ev-view-private.h @@ -178,6 +178,9 @@ struct _EvView { /* Common for button press handling */ int pressed_button; + /* Key bindings propagation */ + gboolean key_binding_handled; + /* Information for middle clicking and dragging around. */ DragInfo drag_info; @@ -236,23 +239,26 @@ struct _EvView { struct _EvViewClass { GtkContainerClass parent_class; - void (*scroll) (EvView *view, - GtkScrollType scroll, - GtkOrientation orientation); - void (*handle_link) (EvView *view, - EvLink *link); - void (*external_link) (EvView *view, - EvLinkAction *action); - void (*popup_menu) (EvView *view, - GList *items); - void (*selection_changed) (EvView *view); - void (*sync_source) (EvView *view, - EvSourceLink *link); - void (*annot_added) (EvView *view, - EvAnnotation *annot); - void (*annot_removed) (EvView *view, - EvAnnotation *annot); - void (*layers_changed) (EvView *view); + void (*scroll) (EvView *view, + GtkScrollType scroll, + GtkOrientation orientation); + void (*handle_link) (EvView *view, + EvLink *link); + void (*external_link) (EvView *view, + EvLinkAction *action); + void (*popup_menu) (EvView *view, + GList *items); + void (*selection_changed) (EvView *view); + void (*sync_source) (EvView *view, + EvSourceLink *link); + void (*annot_added) (EvView *view, + EvAnnotation *annot); + void (*annot_removed) (EvView *view, + EvAnnotation *annot); + void (*layers_changed) (EvView *view); + gboolean (*move_cursor) (EvView *view, + GtkMovementStep step, + gint count); }; void _get_page_size_for_scale_and_rotation (EvDocument *document, |