Add lock stitch plan option (#2020)

pull/2033/head
Kaalleen 2023-01-28 14:55:10 +01:00 zatwierdzone przez GitHub
rodzic a5c085f390
commit dbded7c9b1
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -3,14 +3,14 @@
# Copyright (c) 2010 Authors # Copyright (c) 2010 Authors
# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. # Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
from lxml import etree
from inkex import Boolean, Style from inkex import Boolean, Style
from lxml import etree
from ..stitch_plan import stitch_groups_to_stitch_plan from ..stitch_plan import stitch_groups_to_stitch_plan
from ..svg import render_stitch_plan from ..svg import render_stitch_plan
from ..svg.tags import (INKSCAPE_GROUPMODE, INKSTITCH_ATTRIBS, SVG_DEFS_TAG, from ..svg.tags import (INKSCAPE_GROUPMODE, INKSTITCH_ATTRIBS,
SVG_GROUP_TAG, SVG_PATH_TAG) SODIPODI_INSENSITIVE, SVG_DEFS_TAG, SVG_GROUP_TAG,
SVG_PATH_TAG)
from .base import InkstitchExtension from .base import InkstitchExtension
from .stitch_plan_preview_undo import reset_stitch_plan from .stitch_plan_preview_undo import reset_stitch_plan
@ -21,6 +21,7 @@ class StitchPlanPreview(InkstitchExtension):
self.arg_parser.add_argument("-s", "--move-to-side", type=Boolean, default=True, dest="move_to_side") self.arg_parser.add_argument("-s", "--move-to-side", type=Boolean, default=True, dest="move_to_side")
self.arg_parser.add_argument("-v", "--layer-visibility", type=int, default=0, dest="layer_visibility") self.arg_parser.add_argument("-v", "--layer-visibility", type=int, default=0, dest="layer_visibility")
self.arg_parser.add_argument("-n", "--needle-points", type=Boolean, default=False, dest="needle_points") self.arg_parser.add_argument("-n", "--needle-points", type=Boolean, default=False, dest="needle_points")
self.arg_parser.add_argument("-i", "--insensitive", type=Boolean, default=False, dest="insensitive")
def effect(self): def effect(self):
# delete old stitch plan # delete old stitch plan
@ -58,6 +59,11 @@ class StitchPlanPreview(InkstitchExtension):
float(style.get('opacity', 1)) > 0.4 and not style.get('display', 'inline') == 'none'): float(style.get('opacity', 1)) > 0.4 and not style.get('display', 'inline') == 'none'):
g.style['opacity'] = 0.4 g.style['opacity'] = 0.4
if self.options.insensitive is True:
layer.set(SODIPODI_INSENSITIVE, True)
else:
layer.set(SODIPODI_INSENSITIVE, False)
# translate stitch plan to the right side of the canvas # translate stitch plan to the right side of the canvas
if self.options.move_to_side: if self.options.move_to_side:
layer.set('transform', 'translate(%s)' % svg.get('viewBox', '0 0 800 0').split(' ')[2]) layer.set('transform', 'translate(%s)' % svg.get('viewBox', '0 0 800 0').split(' ')[2])

Wyświetl plik

@ -40,6 +40,7 @@ XLINK_HREF = inkex.addNS('href', 'xlink')
SODIPODI_NAMEDVIEW = inkex.addNS('namedview', 'sodipodi') SODIPODI_NAMEDVIEW = inkex.addNS('namedview', 'sodipodi')
SODIPODI_GUIDE = inkex.addNS('guide', 'sodipodi') SODIPODI_GUIDE = inkex.addNS('guide', 'sodipodi')
SODIPODI_ROLE = inkex.addNS('role', 'sodipodi') SODIPODI_ROLE = inkex.addNS('role', 'sodipodi')
SODIPODI_INSENSITIVE = inkex.addNS('insensitive', 'sodipodi')
INKSTITCH_LETTERING = inkex.addNS('lettering', 'inkstitch') INKSTITCH_LETTERING = inkex.addNS('lettering', 'inkstitch')

Wyświetl plik

@ -18,6 +18,8 @@
<option value="2">Lower opacity</option> <option value="2">Lower opacity</option>
</param> </param>
<param name="needle-points" type="boolean" gui-text="Needle points">false</param> <param name="needle-points" type="boolean" gui-text="Needle points">false</param>
<param name="insensitive" type="boolean" gui-text="Lock"
gui-description="Make stitch plan insensitive to mouse interactions">false</param>
<spacer /> <spacer />
<script> <script>
{{ command_tag | safe }} {{ command_tag | safe }}