summaryrefslogtreecommitdiffstats
path: root/src/ui/tool
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/tool
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/tool')
-rw-r--r--src/ui/tool/control-point.cpp2
-rw-r--r--src/ui/tool/node.cpp6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/ui/tool/control-point.cpp b/src/ui/tool/control-point.cpp
index 85475d2d5..54fc4718f 100644
--- a/src/ui/tool/control-point.cpp
+++ b/src/ui/tool/control-point.cpp
@@ -52,7 +52,7 @@ Geom::Point ControlPoint::_drag_origin(Geom::infinity(), Geom::infinity());
int const ControlPoint::_grab_event_mask = (GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_KEY_PRESS_MASK |
- GDK_KEY_RELEASE_MASK);
+ GDK_KEY_RELEASE_MASK | GDK_SCROLL_MASK | GDK_SMOOTH_SCROLL_MASK);
bool ControlPoint::_drag_initiated = false;
bool ControlPoint::_event_grab = false;
diff --git a/src/ui/tool/node.cpp b/src/ui/tool/node.cpp
index 9223b44de..49ee0cb1d 100644
--- a/src/ui/tool/node.cpp
+++ b/src/ui/tool/node.cpp
@@ -980,7 +980,11 @@ bool Node::_eventHandler(Inkscape::UI::Tools::ToolBase *event_context, GdkEvent
dir = 1;
} else if (event->scroll.direction == GDK_SCROLL_DOWN) {
dir = -1;
- } else break;
+ } else if (event->scroll.direction == GDK_SCROLL_SMOOTH) {
+ dir = event->scroll.delta_y > 0 ? -1 : 1;
+ } else {
+ break;
+ }
if (held_control(event->scroll)) {
_linearGrow(dir);
} else {