summaryrefslogtreecommitdiffstats
path: root/src/path-chemistry.cpp
diff options
context:
space:
mode:
authorJabiertxo Arraiza Cenoz <jtx@jtx-desktop.markerlab.es>2017-12-07 10:02:44 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-12-14 22:11:54 +0000
commite6fb3530bee1ba272d7399f26634b27a335798cb (patch)
treeac5670f627c3aaa9a69d88c600a959979755b746 /src/path-chemistry.cpp
parentMinor header cleanup. Add a few class names. (diff)
downloadinkscape-e6fb3530bee1ba272d7399f26634b27a335798cb.tar.gz
inkscape-e6fb3530bee1ba272d7399f26634b27a335798cb.zip
This commit:
*Allow boolops operation with non paths converting them to path first *Allow convert to stroke non paths converting previously to paths *Allow combine with use elements converting it to paths first *Allow convert to curves use/clone elements converting to curves
Diffstat (limited to 'src/path-chemistry.cpp')
-rw-r--r--src/path-chemistry.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/path-chemistry.cpp b/src/path-chemistry.cpp
index b824d15c7..9ad6c8c76 100644
--- a/src/path-chemistry.cpp
+++ b/src/path-chemistry.cpp
@@ -55,7 +55,7 @@ ObjectSet::combine(bool skip_undo)
{
//Inkscape::Selection *selection = desktop->getSelection();
SPDocument *doc = document();
-
+ unlinkRecursive(true);
std::vector<SPItem*> items_copy(items().begin(), items().end());
if (items_copy.size() < 1) {
@@ -299,14 +299,14 @@ void ObjectSet::toCurves(bool skip_undo)
desktop()->getMessageStack()->flash(Inkscape::WARNING_MESSAGE, _("Select <b>object(s)</b> to convert to path."));
return;
}
-
+
bool did = false;
if (desktop()) {
desktop()->messageStack()->flash(Inkscape::IMMEDIATE_MESSAGE, _("Converting objects to paths..."));
// set "busy" cursor
desktop()->setWaitingCursor();
}
-
+ unlinkRecursive(true);
std::vector<SPItem*> selected(items().begin(), items().end());
std::vector<Inkscape::XML::Node*> to_select;
clear();
@@ -337,7 +337,7 @@ void ObjectSet::toLPEItems()
if (isEmpty()) {
return;
}
-
+ unlinkRecursive(true);
std::vector<SPItem*> selected(items().begin(), items().end());
std::vector<Inkscape::XML::Node*> to_select;
clear();
@@ -366,12 +366,7 @@ sp_item_list_to_curves(const std::vector<SPItem*> &items, std::vector<SPItem*>&
{
continue;
}
- //TODO: decide if we want to unlink clones or not, for now keep previous functionality retaining clones as is
- SPUse *use = dynamic_cast<SPUse *>(item);
- if (use) {
- continue;
- }
-
+
SPPath *path = dynamic_cast<SPPath *>(item);
if (path && !path->_curve_before_lpe) {
// remove connector attributes