summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/path-manipulator.cpp
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2010-01-20 15:31:22 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2010-01-20 15:31:22 +0000
commitef88d874ff89882a9222234591b328584a172799 (patch)
tree0f747a5f540b32c5edf333a6c388af0f97c352cd /src/ui/tool/path-manipulator.cpp
parentSelect the first node of the path when Tab is pressed and nothing is selected. (diff)
downloadinkscape-ef88d874ff89882a9222234591b328584a172799.tar.gz
inkscape-ef88d874ff89882a9222234591b328584a172799.zip
Fix path reverse action (Shift+R) in the node tool.
(bzr r9003)
Diffstat (limited to 'src/ui/tool/path-manipulator.cpp')
-rw-r--r--src/ui/tool/path-manipulator.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/ui/tool/path-manipulator.cpp b/src/ui/tool/path-manipulator.cpp
index 3be332b80..e15349e06 100644
--- a/src/ui/tool/path-manipulator.cpp
+++ b/src/ui/tool/path-manipulator.cpp
@@ -100,7 +100,6 @@ PathManipulator::PathManipulator(MultiPathManipulator &mpm, SPPath *path,
, _show_outline(false)
, _lpe_key(lpe_key)
{
- /* Because curve drag point is always created first, it does not cover nodes */
if (_lpe_key.empty()) {
_i2d_transform = sp_item_i2d_affine(SP_ITEM(path));
} else {
@@ -651,14 +650,18 @@ void PathManipulator::deleteSegments()
}
/** Reverse the subpaths that have anything selected. */
-void PathManipulator::reverseSubpaths()
+void PathManipulator::reverseSubpaths(bool selected_only)
{
for (SubpathList::iterator i = _subpaths.begin(); i != _subpaths.end(); ++i) {
- for (NodeList::iterator j = (*i)->begin(); j != (*i)->end(); ++j) {
- if (j->selected()) {
- (*i)->reverse();
- break; // continue with the next subpath
+ if (selected_only) {
+ for (NodeList::iterator j = (*i)->begin(); j != (*i)->end(); ++j) {
+ if (j->selected()) {
+ (*i)->reverse();
+ break; // continue with the next subpath
+ }
}
+ } else {
+ (*i)->reverse();
}
}
}