summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/multi-path-manipulator.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-03-02 23:22:31 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-03-02 23:22:31 +0000
commit669ba0151fefdfd7ed0d5dd54978698587b1e309 (patch)
treed08c8be955de4b0834dc61b4cdd163e96cebcbb9 /src/ui/tool/multi-path-manipulator.cpp
parentUse Boost unordeed containers instead of TR1 to minimize pain (diff)
downloadinkscape-669ba0151fefdfd7ed0d5dd54978698587b1e309.tar.gz
inkscape-669ba0151fefdfd7ed0d5dd54978698587b1e309.zip
Implement a preference that determines whether deleting nodes
preserves the shape (bzr r9130)
Diffstat (limited to 'src/ui/tool/multi-path-manipulator.cpp')
-rw-r--r--src/ui/tool/multi-path-manipulator.cpp10
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: