From 669ba0151fefdfd7ed0d5dd54978698587b1e309 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Wed, 3 Mar 2010 00:22:31 +0100 Subject: Implement a preference that determines whether deleting nodes preserves the shape (bzr r9130) --- src/ui/tool/multi-path-manipulator.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/ui/tool/multi-path-manipulator.cpp') 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: -- cgit v1.2.3