diff options
Diffstat (limited to 'src/ui/tool/multi-path-manipulator.cpp')
| -rw-r--r-- | src/ui/tool/multi-path-manipulator.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/tool/multi-path-manipulator.cpp b/src/ui/tool/multi-path-manipulator.cpp index f5646ac36..3b0852e6e 100644 --- a/src/ui/tool/multi-path-manipulator.cpp +++ b/src/ui/tool/multi-path-manipulator.cpp @@ -466,9 +466,13 @@ bool MultiPathManipulator::event(GdkEvent *event) // Alt+Delete - delete segments deleteSegments(); } else { - // Control+Delete - delete nodes - // Delete - delete nodes preserving shape - deleteNodes(!held_control(event->key)); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool del_preserves_shape = prefs->getBool("/tools/nodes/delete_preserves_shape", true); + // pass keep_shape = true when: + // a) del preserves shape, and control is not pressed + // b) ctrl+del preserves shape (del_preserves_shape is false), and control is pressed + // Hence xor + deleteNodes(del_preserves_shape ^ held_control(event->key)); } return true; case GDK_c: |
