diff options
| author | Eduard Braun <eduard.braun2@gmx.de> | 2018-09-11 19:27:52 +0000 |
|---|---|---|
| committer | Eduard Braun <eduard.braun2@gmx.de> | 2018-09-11 20:00:27 +0000 |
| commit | 414e974ae35c3649db8426147efec31215a5c45a (patch) | |
| tree | afa07279df47d7c81ee3aac9520fab42f8513473 /src/ui/previewholder.cpp | |
| parent | Support smooth scrolling (part 1) (diff) | |
| download | inkscape-414e974ae35c3649db8426147efec31215a5c45a.tar.gz inkscape-414e974ae35c3649db8426147efec31215a5c45a.zip | |
Support smooth scrolling (part 2)
Fix scrolling when smooth scrolling is enabled /
allow to scroll smoothly for:
- canvas palette
- node selection in path tool
- selection cycling in select tool while holding Alt key
- spraying in spray tool with mouse wheel
- adjusting color by scrolling in lower left stroke/fill fields
Diffstat (limited to 'src/ui/previewholder.cpp')
| -rw-r--r-- | src/ui/previewholder.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/ui/previewholder.cpp b/src/ui/previewholder.cpp index ae6907cc7..a39eb7ca6 100644 --- a/src/ui/previewholder.cpp +++ b/src/ui/previewholder.cpp @@ -76,7 +76,18 @@ bool PreviewHolder::on_scroll_event(GdkEventScroll *event) return FALSE; } - int move = (event->direction == GDK_SCROLL_DOWN) ? adj->get_page_size() : -adj->get_page_size(); + int move; + switch (event->direction) { + case GDK_SCROLL_UP: + move = -adj->get_page_size(); + break; + case GDK_SCROLL_DOWN: + move = adj->get_page_size(); + break; + case GDK_SCROLL_SMOOTH: + move = event->delta_y > 0 ? adj->get_page_size() : -adj->get_page_size(); + break; + } double value = std::min(adj->get_upper() - move, adj->get_value() + move ); |
