diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-11-01 13:50:57 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-11-01 13:50:57 +0000 |
| commit | 0b6b395ee6f16e42bf36e691c91af83fa95d97e1 (patch) | |
| tree | d403165773ed5adf708e11c794bdf80cc5ad3a22 /src/verbs.cpp | |
| parent | Dutch translation update (diff) | |
| download | inkscape-0b6b395ee6f16e42bf36e691c91af83fa95d97e1.tar.gz inkscape-0b6b395ee6f16e42bf36e691c91af83fa95d97e1.zip | |
Improve clip LPE
Fixes:
https://gitlab.com/inkscape/inbox/issues/868
https://gitlab.com/inkscape/inbox/issues/867
https://gitlab.com/inkscape/inbox/issues/866
Diffstat (limited to 'src/verbs.cpp')
| -rw-r--r-- | src/verbs.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp index 2c10cb6cf..49ee61aab 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -1551,7 +1551,6 @@ void ObjectVerb::perform( SPAction *action, void *data) center = *sel->center(); else center = bbox->midpoint(); - switch (reinterpret_cast<std::size_t>(data)) { case SP_VERB_OBJECT_ROTATE_90_CW: sel->rotate90(false); @@ -1586,13 +1585,17 @@ void ObjectVerb::perform( SPAction *action, void *data) break; case SP_VERB_OBJECT_SET_INVERSE_MASK: sel->setMask(false, false); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false); Inkscape::LivePathEffect::sp_inverse_powermask(sp_action_get_selection(action)); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true); break; case SP_VERB_OBJECT_EDIT_MASK: sel->editMask(false); break; case SP_VERB_OBJECT_UNSET_MASK: + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false); Inkscape::LivePathEffect::sp_remove_powermask(sp_action_get_selection(action)); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true); sel->unsetMask(false); break; case SP_VERB_OBJECT_SET_CLIPPATH: @@ -1600,7 +1603,9 @@ void ObjectVerb::perform( SPAction *action, void *data) break; case SP_VERB_OBJECT_SET_INVERSE_CLIPPATH: sel->setMask(true, false); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false); Inkscape::LivePathEffect::sp_inverse_powerclip(sp_action_get_selection(action)); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true); break; case SP_VERB_OBJECT_CREATE_CLIP_GROUP: sel->setClipGroup(); @@ -1609,7 +1614,9 @@ void ObjectVerb::perform( SPAction *action, void *data) sel->editMask(true); break; case SP_VERB_OBJECT_UNSET_CLIPPATH: + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), false); Inkscape::LivePathEffect::sp_remove_powerclip(sp_action_get_selection(action)); + Inkscape::DocumentUndo::setUndoSensitive(dt->getDocument(), true); sel->unsetMask(true); break; default: |
