add options to remove specific params only (#2774)

pull/2805/head
Kaalleen 2024-03-29 11:09:17 +01:00 zatwierdzone przez GitHub
rodzic 2439adafa8
commit 697b6c64f8
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 142 dodań i 23 usunięć

Wyświetl plik

@ -13,14 +13,15 @@ from .base import InkstitchExtension
class RemoveEmbroiderySettings(InkstitchExtension):
def __init__(self, *args, **kwargs):
InkstitchExtension.__init__(self, *args, **kwargs)
self.arg_parser.add_argument("-p", "--del_params", dest="del_params", type=Boolean, default=True)
self.arg_parser.add_argument("--tabs")
self.arg_parser.add_argument("-p", "--del_params", dest="del_params", type=str, default=True)
self.arg_parser.add_argument("-c", "--del_commands", dest="del_commands", type=str, default="none")
self.arg_parser.add_argument("-d", "--del_print", dest="del_print", type=Boolean, default=False)
def effect(self):
self.svg = self.document.getroot()
if self.options.del_params:
if self.options.del_params != 'none':
self.remove_params()
if self.options.del_commands != 'none':
self.remove_commands()
@ -103,7 +104,9 @@ class RemoveEmbroiderySettings(InkstitchExtension):
element.getparent().remove(element)
def remove_inkstitch_attributes(self, elements):
param_to_remove = self.options.del_params
for element in elements:
for attrib in element.attrib:
if attrib.startswith(NSS['inkstitch'], 1):
del element.attrib[attrib]
if param_to_remove == 'all' or attrib.endswith(param_to_remove):
del element.attrib[attrib]

Wyświetl plik

@ -38,7 +38,7 @@
<param name="tolerance" type="float" indent="1" gui-text="Running stitch tolerance (mm)">2.0</param>
</page>
<page name="info" gui-text="Help">
<label appearance="header">This extension converts jump stithes to running stitches.</label>
<label appearance="header">This extension converts jump stitches to running stitches.</label>
<label>Get more information on our website</label>
<label appearance="url">https://inkstitch.org/docs/stroke-tools/#jump-to-stroke</label>
</page>

Wyświetl plik

@ -2,26 +2,142 @@
<inkscape-extension translationdomain="inkstitch" xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>Remove embroidery settings</name>
<id>org.{{ id_inkstitch }}.remove_embroidery_settings</id>
<label>Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document.</label>
<param name="del_params" type="boolean" gui-text="Remove Params"
gui-description="Removes params from selected objects or all objects if nothing is selected.">true</param>
<param name="del_commands" type="optiongroup" gui-text="Remove Commands"
gui-description="Removes visual commands from selected objects or all objects if nothing is selected."
appearance="combo">
<option value="none">None</option>
<option value="all">All</option>
{%- for command, description in object_commands -%}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
{% for command, description in layer_commands %}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
{% for command, description in global_commands %}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
</param>
<param name="del_print" type="boolean" gui-text="Remove Print Settings from SVG metadata">false</param>
<param name="extension" type="string" gui-hidden="true">remove_embroidery_settings</param>
<param name="tabs" type="notebook">
<page name="options" gui-text="Options">
<param name="del_params" type="optiongroup" gui-text="Remove Params"
gui-description="Removes params from selected objects or all objects if nothing is selected."
appearance="combo">
<option value="none">None</option>
<option value="all">All</option>
<option value="angle">angle</option>
<option value="auto_fill">auto_fill</option>
<option value="avoid_self_crossing">avoid_self_crossing</option>
<option value="bean_stitch_repeats">bean_stitch_repeats</option>
<option value="center_walk_underlay">center_walk_underlay</option>
<option value="center_walk_underlay_position">center_walk_underlay_position</option>
<option value="center_walk_underlay_repeats">center_walk_underlay_repeats</option>
<option value="center_walk_underlay_stitch_length_mm">center_walk_underlay_stitch_length_mm</option>
<option value="clip">clip</option>
<option value="clockwise">clockwise</option>
<option value="clone">clone</option>
<option value="contour_strategy">contour_strategy</option>
<option value="contour_underlay">contour_underlay</option>
<option value="contour_underlay_inset_mm">contour_underlay_inset_mm</option>
<option value="contour_underlay_inset_percent">contour_underlay_inset_percent</option>
<option value="contour_underlay_stitch_length_mm">contour_underlay_stitch_length_mm</option>
<option value="cutwork_needle">cutwork_needle</option>
<option value="end_row_spacing_mm">end_row_spacing_mm</option>
<option value="e_stitch">e_stitch</option>
<option value="expand_mm">expand_mm</option>
<option value="exponent">exponent</option>
<option value="fill_method">fill_method</option>
<option value="fill_underlay_angle">fill_underlay_angle</option>
<option value="fill_underlay">fill_underlay</option>
<option value="fill_underlay_inset_mm">fill_underlay_inset_mm</option>
<option value="fill_underlay_max_stitch_length_mm">fill_underlay_max_stitch_length_mm</option>
<option value="fill_underlay_row_spacing_mm">fill_underlay_row_spacing_mm</option>
<option value="fill_underlay_skip_last">fill_underlay_skip_last</option>
<option value="flip_angle">flip_angle</option>
<option value="flip_exponent">flip_exponent</option>
<option value="flip">flip</option>
<option value="force_lock_stitches">force_lock_stitches</option>
<option value="grid_size_mm">grid_size_mm</option>
<option value="guided_fill_strategy">guided_fill_strategy</option>
<option value="invisible_layers">invisible_layers</option>
<option value="join_style">join_style</option>
<option value="layer_visibility">layer_visibility</option>
<option value="line_count">line_count</option>
<option value="lock_custom_end">lock_custom_end</option>
<option value="lock_custom_start">lock_custom_start</option>
<option value="lock_end">lock_end</option>
<option value="lock_end_scale_mm">lock_end_scale_mm</option>
<option value="lock_end_scale_percent">lock_end_scale_percent</option>
<option value="lock_start">lock_start</option>
<option value="lock_start_scale_mm">lock_start_scale_mm</option>
<option value="lock_start_scale_percent">lock_start_scale_percent</option>
<option value="manual_stitch">manual_stitch</option>
<option value="max_stitch_length_mm">max_stitch_length_mm</option>
<option value="meander_angle">meander_angle</option>
<option value="meander_pattern">meander_pattern</option>
<option value="meander_scale_percent">meander_scale_percent</option>
<option value="min_line_dist_mm">min_line_dist_mm</option>
<option value="min_random_split_length_mm">min_random_split_length_mm</option>
<option value="polyline">polyline</option>
<option value="pull_compensation_mm">pull_compensation_mm</option>
<option value="pull_compensation_percent">pull_compensation_percent</option>
<option value="random_seed">random_seed</option>
<option value="random_split_jitter_percent">random_split_jitter_percent</option>
<option value="random_split_phase">random_split_phase</option>
<option value="random_width_decrease_percent">random_width_decrease_percent</option>
<option value="random_width_increase_percent">random_width_increase_percent</option>
<option value="random_zigzag_spacing_percent">random_zigzag_spacing_percent</option>
<option value="repeats">repeats</option>
<option value="reverse_rails">reverse_rails</option>
<option value="reverse">reverse</option>
<option value="rotate_ripples">rotate_ripples</option>
<option value="row_spacing_mm">row_spacing_mm</option>
<option value="running_stitch_length_mm">running_stitch_length_mm</option>
<option value="running_stitch_tolerance_mm">running_stitch_tolerance_mm</option>
<option value="satin_column">satin_column</option>
<option value="satin_method">satin_method</option>
<option value="scale_axis">scale_axis</option>
<option value="scale_end">scale_end</option>
<option value="scale_start">scale_start</option>
<option value="short_stitch_distance_mm">short_stitch_distance_mm</option>
<option value="short_stitch_inset">short_stitch_inset</option>
<option value="skip_end">skip_end</option>
<option value="skip_last">skip_last</option>
<option value="skip_start">skip_start</option>
<option value="smoothness_mm">smoothness_mm</option>
<option value="split_method">split_method</option>
<option value="split_staggers">split_staggers</option>
<option value="staggers">staggers</option>
<option value="stop_after">stop_after</option>
<option value="stop_at_ending_point">stop_at_ending_point</option>
<option value="stroke_first">stroke_first</option>
<option value="stroke_method">stroke_method</option>
<option value="swap_satin_rails">swap_satin_rails</option>
<option value="ties">ties</option>
<option value="trim_after">trim_after</option>
<option value="underlay_underpath">underlay_underpath</option>
<option value="underpath">underpath</option>
<option value="zigzag_spacing_mm">zigzag_spacing_mm</option>
<option value="zigzag_underlay_inset_mm">zigzag_underlay_inset_mm</option>
<option value="zigzag_underlay_inset_percent">zigzag_underlay_inset_percent</option>
<option value="zigzag_underlay_max_stitch_length_mm">zigzag_underlay_max_stitch_length_mm</option>
<option value="zigzag_underlay_spacing_mm">zigzag_underlay_spacing_mm</option>
<option value="zigzag_underlay">zigzag_underlay</option>
<option value="zigzag_width_mm">zigzag_width_mm</option>
</param>
<param name="del_commands" type="optiongroup" gui-text="Remove Commands"
gui-description="Removes visual commands from selected objects or all objects if nothing is selected."
appearance="combo">
<option value="none">None</option>
<option value="all">All</option>
{%- for command, description in object_commands -%}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
{% for command, description in layer_commands %}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
{% for command, description in global_commands %}
<option value="{{ command }}">{{ description }}</option>
{% endfor %}
</param>
<param name="del_print" type="boolean" gui-text="Remove Print Settings from SVG metadata">false</param>
</page>
<page name="info" gui-text="Help">
<label>Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document.</label>
<spacer />
<label>Get more information on our website</label>
<label appearance="url">https://inkstitch.org/docs/troubleshoot/#remove-embroidery-settings</label>
</page>
</param>
<effect>
<object-type>all</object-type>
<effects-menu>