inkscape:cherry-pick-95f17f34

Last commit made on 2020-01-24
Get this branch:
git clone -b cherry-pick-95f17f34 https://git.launchpad.net/inkscape

Branch merges

Branch information

Name:
cherry-pick-95f17f34
Repository:
lp:inkscape

Recent commits

817023b... by Iskren Ivov Chernev

Fix text+shape_inside duplicate/copy

Text can be flown into shapes (via the shape-inside style property), and
these need special attention during duplicate/copy. These shapes need to
be duplicated/copied in addition to the text, in case they are not
included in the dupe/copy selection already.

For duplication -- if a text object references shapes via
shape-inside/shape-subtract they are added to the duplicate selection
(if not present).

For layer duplication -- if a text in the duplicated layer references
shapes outside of its layer, these shapes are duplicated and brought
into the new layer.

For copy -- if a text object references shapes they are added to the
generated clipboard document (if not selected already). After the
clipboard is pasted, some ids might need change (to prevent clashes), so
the existing id clash prevention logic is augmented to mind text shapes
as well.

Rough edges (not directly related to copy/duplicate):
- explicit shape-inside is not well handled in the UI
  - shape might end up on top of text
  - Select & Transform tool changes the relative position of the text
    and its shapes
  - during paste shift logic (so pasted stuff is not on top of
    original), the transformation on text object causes it to jump
    outside of the shape (and it might be too far off / not visible) --
    bad UX.
  - shape and text being on separate layers doesn't fire update
    text layout when shape is changed, but somehow snaps text into shape
    when a text transform is applied
- shape-subtract handling is not implemented at all
- basic-shapes are not handled in shape-inside

(cherry picked from commit 95f17f34521466fb2f329c07c3289eaa20348605)

ed7f83c... by Sergei Izmailov

Fix setAttribute overloads (!1263)

- Revisit `Inkscape::XML::Node::setAttribute` and `SPObject::setAttribute`
- New `Inkscape::Util::const_char_ptr` absorbs all diversity of strings zoo
- New `setAttributeOrRemoveIfEmpty` method
- New `removeAttribute` method
- Simplification of call sites of `setAttribute`

bac9fcc... by Martin Owens

Fix #581, seperate shall_write logic and style attr loop when writing xml node.

(cherry picked from commit 7bff0c85a8608bacfd8c2458fda42fc16668fa05)

a570bc0... by Thomas Holder <email address hidden>

fix #732 XML Editor clean model reconnection

- reconnect signals when replacing document
- clean up all node observers

17cd143... by Thomas Holder <email address hidden>

fix #634 crash while extending curves

ed4cbdd... by Thomas Holder <email address hidden>

spellcheck dialog: don't auto-start

Closes inbox#1482

86e9fd8... by Thomas Holder <email address hidden>

fix inbox#1296 boolean LPE infinite recursion

0b0ed59... by Nathan Lee <email address hidden>

Fix inbox#1101: show toolbar comboboxes in drop-down menu

Partial revert of e2f4af7eb9 (removes unused widgets from pen tool)

(cherry picked from commit 2d498dd83b1ef2fda765c35c4f5c542614913329)

07f6da3... by Martin Owens

Remove checked causing nodes to not be refreshed fixing issue #671

(cherry picked from commit 2a677bdfc062f90d76f65d8f15a30a990d510a59)

969f793... by Jabiertxof <email address hidden>

Fix offset LPE half size

(cherry picked from commit 9b3d3790f8dc2e0bd271c7ecf3226a4e5eeaf29f)