kopia lustrzana https://github.com/inkstitch/inkstitch
add 'Add Commands' extension
rodzic
7f9208ae2a
commit
53f92df056
|
|
@ -31,11 +31,12 @@ COMMANDS = {
|
||||||
N_("origin"): N_("Origin for exported embroidery files"),
|
N_("origin"): N_("Origin for exported embroidery files"),
|
||||||
|
|
||||||
# L10N command that affects entire document
|
# L10N command that affects entire document
|
||||||
N_("stop_point"): N_("Jump destination for Stop commands (a.k.a. \"Frame Out position\")."),
|
N_("stop_position"): N_("Jump destination for Stop commands (a.k.a. \"Frame Out position\")."),
|
||||||
}
|
}
|
||||||
|
|
||||||
OBJECT_COMMANDS = ["fill_start", "fill_end", "stop", "trim", "ignore_object"]
|
OBJECT_COMMANDS = ["fill_start", "fill_end", "stop", "trim", "ignore_object"]
|
||||||
LAYER_COMMANDS = ["ignore_layer"]
|
LAYER_COMMANDS = ["ignore_layer"]
|
||||||
|
GLOBAL_COMMANDS = ["origin", "stop_position"]
|
||||||
|
|
||||||
|
|
||||||
class CommandParseError(Exception):
|
class CommandParseError(Exception):
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ from zip import Zip
|
||||||
from flip import Flip
|
from flip import Flip
|
||||||
from object_commands import ObjectCommands
|
from object_commands import ObjectCommands
|
||||||
from layer_commands import LayerCommands
|
from layer_commands import LayerCommands
|
||||||
|
from global_commands import GlobalCommands
|
||||||
from convert_to_satin import ConvertToSatin
|
from convert_to_satin import ConvertToSatin
|
||||||
|
|
||||||
__all__ = extensions = [Embroider,
|
__all__ = extensions = [Embroider,
|
||||||
|
|
@ -22,4 +23,5 @@ __all__ = extensions = [Embroider,
|
||||||
Flip,
|
Flip,
|
||||||
ObjectCommands,
|
ObjectCommands,
|
||||||
LayerCommands,
|
LayerCommands,
|
||||||
|
GlobalCommands,
|
||||||
ConvertToSatin]
|
ConvertToSatin]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
import inkex
|
||||||
|
|
||||||
|
from .layer_commands import LayerCommands
|
||||||
|
from ..commands import GLOBAL_COMMANDS
|
||||||
|
|
||||||
|
|
||||||
|
# It's a bit weird subclassing this from LayerCommands, but global commands
|
||||||
|
# must still be placed in a layer. That means the two extensions
|
||||||
|
# do the same thing and the code is the same. We keep this as separate
|
||||||
|
# extensions because we want the user to understand that global commands
|
||||||
|
# affect the entire document, not just the current layer.
|
||||||
|
|
||||||
|
class GlobalCommands(LayerCommands):
|
||||||
|
COMMANDS = GLOBAL_COMMANDS
|
||||||
|
|
@ -3,7 +3,7 @@ import pyembroidery
|
||||||
from .utils import build_environment, write_inx_file
|
from .utils import build_environment, write_inx_file
|
||||||
from .outputs import pyembroidery_output_formats
|
from .outputs import pyembroidery_output_formats
|
||||||
from ..extensions import extensions, Input, Output
|
from ..extensions import extensions, Input, Output
|
||||||
from ..commands import LAYER_COMMANDS, OBJECT_COMMANDS, COMMANDS
|
from ..commands import LAYER_COMMANDS, OBJECT_COMMANDS, GLOBAL_COMMANDS, COMMANDS
|
||||||
|
|
||||||
|
|
||||||
def layer_commands():
|
def layer_commands():
|
||||||
|
|
@ -13,6 +13,10 @@ def layer_commands():
|
||||||
return [(command, COMMANDS[command]) for command in LAYER_COMMANDS]
|
return [(command, COMMANDS[command]) for command in LAYER_COMMANDS]
|
||||||
|
|
||||||
|
|
||||||
|
def global_commands():
|
||||||
|
return [(command, COMMANDS[command]) for command in GLOBAL_COMMANDS]
|
||||||
|
|
||||||
|
|
||||||
def object_commands():
|
def object_commands():
|
||||||
return [(command, COMMANDS[command]) for command in OBJECT_COMMANDS]
|
return [(command, COMMANDS[command]) for command in OBJECT_COMMANDS]
|
||||||
|
|
||||||
|
|
@ -35,4 +39,5 @@ def generate_extension_inx_files():
|
||||||
write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
|
write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
|
||||||
debug_formats=pyembroidery_debug_formats(),
|
debug_formats=pyembroidery_debug_formats(),
|
||||||
layer_commands=layer_commands(),
|
layer_commands=layer_commands(),
|
||||||
object_commands=object_commands()))
|
object_commands=object_commands(),
|
||||||
|
global_commands=global_commands()))
|
||||||
|
|
|
||||||
29
messages.po
29
messages.po
|
|
@ -82,14 +82,14 @@ msgstr ""
|
||||||
|
|
||||||
#. command that affects entire document
|
#. command that affects entire document
|
||||||
#: lib/commands.py:34
|
#: lib/commands.py:34
|
||||||
msgid "stop_point"
|
msgid "stop_position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/commands.py:34
|
#: lib/commands.py:34
|
||||||
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
|
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/commands.py:189
|
#: lib/commands.py:190
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Error: there is more than one %(command)s command in the document, but "
|
"Error: there is more than one %(command)s command in the document, but "
|
||||||
|
|
@ -101,7 +101,7 @@ msgstr ""
|
||||||
#. command name to them. Contents of %(description)s are in a separate
|
#. command name to them. Contents of %(description)s are in a separate
|
||||||
#. translation
|
#. translation
|
||||||
#. string.
|
#. string.
|
||||||
#: lib/commands.py:196
|
#: lib/commands.py:197
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(command)s: %(description)s"
|
msgid "%(command)s: %(description)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -1176,9 +1176,10 @@ msgstr ""
|
||||||
#. to your language's word for its language, e.g. "Español" for the spanish
|
#. to your language's word for its language, e.g. "Español" for the spanish
|
||||||
#. translation.
|
#. translation.
|
||||||
#: templates/convert_to_satin.inx:12 templates/embroider.inx:24
|
#: templates/convert_to_satin.inx:12 templates/embroider.inx:24
|
||||||
#: templates/flip.inx:12 templates/install.inx:12
|
#: templates/flip.inx:12 templates/global_commands.inx:16
|
||||||
#: templates/layer_commands.inx:16 templates/object_commands.inx:15
|
#: templates/install.inx:12 templates/layer_commands.inx:16
|
||||||
#: templates/params.inx:12 templates/print.inx:12 templates/simulate.inx:12
|
#: templates/object_commands.inx:15 templates/params.inx:12
|
||||||
|
#: templates/print.inx:12 templates/simulate.inx:12
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1224,6 +1225,20 @@ msgstr ""
|
||||||
msgid "Flip Satin Columns"
|
msgid "Flip Satin Columns"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/global_commands.inx:3
|
||||||
|
msgid "Add Commands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/global_commands.inx:7
|
||||||
|
msgid "These commands affect the entire embroidery design."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Inkscape submenu under Extensions -> Ink/Stitch
|
||||||
|
#: templates/global_commands.inx:18 templates/layer_commands.inx:17
|
||||||
|
#: templates/object_commands.inx:16
|
||||||
|
msgid "Commands"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/input.inx:11
|
#: templates/input.inx:11
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
|
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
|
||||||
|
|
@ -1242,7 +1257,7 @@ msgid "Commands will be added to the currently-selected layer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/object_commands.inx:3
|
#: templates/object_commands.inx:3
|
||||||
msgid "Attach Commands"
|
msgid "Attach Commands to Selected Objects"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/output.inx:11
|
#: templates/output.inx:11
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
||||||
|
<name>{% trans %}Add Commands{% endtrans %}</name>
|
||||||
|
<id>org.inkstitch.global_commands.{{ locale }}</id>
|
||||||
|
<dependency type="executable" location="extensions">inkstitch.py</dependency>
|
||||||
|
<dependency type="executable" location="extensions">inkex.py</dependency>
|
||||||
|
<param name="description" type="description">{% trans %}These commands affect the entire embroidery design.{% endtrans %}</param>
|
||||||
|
{% for command, description in global_commands %}
|
||||||
|
<param name="{{ command }}" type="boolean" _gui-text="{{ _(description) }}">false</param>
|
||||||
|
{% endfor %}
|
||||||
|
<param name="extension" type="string" gui-hidden="true">global_commands</param>
|
||||||
|
<effect>
|
||||||
|
<object-type>all</object-type>
|
||||||
|
<effects-menu>
|
||||||
|
<submenu name="Ink/Stitch">
|
||||||
|
<submenu name="{% trans %}English{% endtrans %}">
|
||||||
|
{# L10N Inkscape submenu under Extensions -> Ink/Stitch #}
|
||||||
|
<submenu name="{% trans %}Commands{% endtrans %}" />
|
||||||
|
</submenu>
|
||||||
|
</submenu>
|
||||||
|
</effects-menu>
|
||||||
|
</effect>
|
||||||
|
<script>
|
||||||
|
<command reldir="extensions" interpreter="python">inkstitch.py</command>
|
||||||
|
</script>
|
||||||
|
</inkscape-extension>
|
||||||
|
|
@ -13,7 +13,9 @@
|
||||||
<object-type>all</object-type>
|
<object-type>all</object-type>
|
||||||
<effects-menu>
|
<effects-menu>
|
||||||
<submenu name="Ink/Stitch">
|
<submenu name="Ink/Stitch">
|
||||||
<submenu name="{% trans %}English{% endtrans %}" />
|
<submenu name="{% trans %}English{% endtrans %}">
|
||||||
|
<submenu name="{% trans %}Commands{% endtrans %}" />
|
||||||
|
</submenu>
|
||||||
</submenu>
|
</submenu>
|
||||||
</effects-menu>
|
</effects-menu>
|
||||||
</effect>
|
</effect>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
||||||
<name>{% trans %}Attach Commands{% endtrans %}</name>
|
<name>{% trans %}Attach Commands to Selected Objects{% endtrans %}</name>
|
||||||
<id>org.inkstitch.commands.{{ locale }}</id>
|
<id>org.inkstitch.commands.{{ locale }}</id>
|
||||||
<dependency type="executable" location="extensions">inkstitch.py</dependency>
|
<dependency type="executable" location="extensions">inkstitch.py</dependency>
|
||||||
<dependency type="executable" location="extensions">inkex.py</dependency>
|
<dependency type="executable" location="extensions">inkex.py</dependency>
|
||||||
|
|
@ -12,7 +12,9 @@
|
||||||
<object-type>all</object-type>
|
<object-type>all</object-type>
|
||||||
<effects-menu>
|
<effects-menu>
|
||||||
<submenu name="Ink/Stitch">
|
<submenu name="Ink/Stitch">
|
||||||
<submenu name="{% trans %}English{% endtrans %}" />
|
<submenu name="{% trans %}English{% endtrans %}">
|
||||||
|
<submenu name="{% trans %}Commands{% endtrans %}" />
|
||||||
|
</submenu>
|
||||||
</submenu>
|
</submenu>
|
||||||
</effects-menu>
|
</effects-menu>
|
||||||
</effect>
|
</effect>
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue