summaryrefslogtreecommitdiffstats
path: root/src/ui/previewholder.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2018-09-11 19:27:52 +0000
committerEduard Braun <eduard.braun2@gmx.de>2018-09-11 20:00:27 +0000
commit414e974ae35c3649db8426147efec31215a5c45a (patch)
treeafa07279df47d7c81ee3aac9520fab42f8513473 /src/ui/previewholder.cpp
parentSupport smooth scrolling (part 1) (diff)
downloadinkscape-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.cpp13
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 );