diff options
41 files changed, 389 insertions, 189 deletions
diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py index 7fe2869a..a714ad38 100644 --- a/lib/elements/satin_column.py +++ b/lib/elements/satin_column.py @@ -368,7 +368,6 @@ class SatinColumn(EmbroideryElement): 'All stitches must be within this distance from the path. ' 'A lower tolerance means stitches will be closer together. ' 'A higher tolerance means sharp corners may be rounded. ' - 'Defaults to stitch length.' ), unit='mm', group=_('Contour Underlay'), diff --git a/lib/extensions/auto_satin.py b/lib/extensions/auto_satin.py index badc9d55..495ee989 100644 --- a/lib/extensions/auto_satin.py +++ b/lib/extensions/auto_satin.py @@ -18,7 +18,7 @@ class AutoSatin(CommandsExtension): def __init__(self, *args, **kwargs): CommandsExtension.__init__(self, *args, **kwargs) - + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-p", "--preserve_order", dest="preserve_order", type=inkex.Boolean, default=False) def get_starting_point(self): diff --git a/lib/extensions/break_apart.py b/lib/extensions/break_apart.py index b5104dc7..3412f64d 100644 --- a/lib/extensions/break_apart.py +++ b/lib/extensions/break_apart.py @@ -22,6 +22,7 @@ class BreakApart(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-m", "--method", type=int, default=1, dest="method") self.minimum_size = 5 diff --git a/lib/extensions/cleanup.py b/lib/extensions/cleanup.py index 307b489a..d5816b5f 100644 --- a/lib/extensions/cleanup.py +++ b/lib/extensions/cleanup.py @@ -14,6 +14,7 @@ from .base import InkstitchExtension class Cleanup(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-f", "--rm_fill", dest="rm_fill", type=Boolean, default=True) self.arg_parser.add_argument("-s", "--rm_stroke", dest="rm_stroke", type=Boolean, default=True) self.arg_parser.add_argument("-a", "--fill_threshold", dest="fill_threshold", type=int, default=20) @@ -67,10 +68,13 @@ class Cleanup(InkstitchExtension): errormsg(f" - { group.label }: {group.get_id()}") def _remove(self): - errormsg(_("%s elements removed" % len(self.elements_to_remove))) + num_elements_removed = len(self.elements_to_remove) + num_groups_removed = len(self.groups_to_remove) + + errormsg(_("{num_elements_removed} elements removed").format(num_elements_removed=num_elements_removed)) for element in self.elements_to_remove: element.getparent().remove(element) - errormsg(_("%s groups/layers removed" % len(self.groups_to_remove))) + errormsg(_("{num_groups_removed} groups/layers removed").format(num_groups_removed=num_groups_removed)) for group in self.groups_to_remove: group.getparent().remove(group) diff --git a/lib/extensions/convert_to_stroke.py b/lib/extensions/convert_to_stroke.py index ea732f1c..d5b1bec0 100644 --- a/lib/extensions/convert_to_stroke.py +++ b/lib/extensions/convert_to_stroke.py @@ -16,6 +16,7 @@ class ConvertToStroke(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-k", "--keep_satin", type=inkex.Boolean, default=False, dest="keep_satin") def effect(self): diff --git a/lib/extensions/cutwork_segmentation.py b/lib/extensions/cutwork_segmentation.py index 6e9e17a3..bea14472 100644 --- a/lib/extensions/cutwork_segmentation.py +++ b/lib/extensions/cutwork_segmentation.py @@ -23,8 +23,7 @@ class CutworkSegmentation(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) - self.arg_parser.add_argument("-o", "--options", type=str, default=None, dest="page_1") - self.arg_parser.add_argument("-i", "--info", type=str, default=None, dest="page_2") + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-as", "--a_start", type=int, default=112, dest="a_start") self.arg_parser.add_argument("-ae", "--a_end", type=int, default=157, dest="a_end") self.arg_parser.add_argument("-ac", "--a_color", type=inkex.Color, default=inkex.Color(0x990000ff), dest="a_color") diff --git a/lib/extensions/density_map.py b/lib/extensions/density_map.py index e4963bf9..13906861 100644 --- a/lib/extensions/density_map.py +++ b/lib/extensions/density_map.py @@ -20,6 +20,7 @@ from .base import InkstitchExtension class DensityMap(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-v", "--layer-visibility", type=int, default=0, dest="layer_visibility") self.arg_parser.add_argument("-l", "--num-neighbors-red", type=int, default=6, dest="num_neighbors_red") self.arg_parser.add_argument("-r", "--density-radius-red", type=float, default=0.5, dest="radius_red") diff --git a/lib/extensions/display_stacking_order.py b/lib/extensions/display_stacking_order.py index 2906c2f8..a5ce70f2 100644 --- a/lib/extensions/display_stacking_order.py +++ b/lib/extensions/display_stacking_order.py @@ -14,6 +14,7 @@ from .base import InkstitchExtension class DisplayStackingOrder(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-s", "--font_size", type=int, default=4, dest="font_size") def effect(self): diff --git a/lib/extensions/install_custom_palette.py b/lib/extensions/install_custom_palette.py index da546cad..1636d1fd 100644 --- a/lib/extensions/install_custom_palette.py +++ b/lib/extensions/install_custom_palette.py @@ -16,6 +16,7 @@ from .base import InkstitchExtension class InstallCustomPalette(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-f", "--filepath", type=str, default="", dest="filepath") def effect(self): @@ -35,7 +36,10 @@ class InstallCustomPalette(InkstitchExtension): if not os.path.isdir(palette_path): inkex.errormsg(_("Ink/Stitch cannot find your palette folder automatically. Please install your palette manually.")) dest = os.path.join(palette_path, palette_name) - shutil.copyfile(gpl, dest) + try: + shutil.copyfile(gpl, dest) + except shutil.SameFileError: + pass if not os.path.isfile(dest): inkex.errormsg("Something wwent wrong. Ink/Stitch wasn't able to copy your palette " diff --git a/lib/extensions/lettering_along_path.py b/lib/extensions/lettering_along_path.py index 07142081..c7b950b1 100644 --- a/lib/extensions/lettering_along_path.py +++ b/lib/extensions/lettering_along_path.py @@ -24,8 +24,7 @@ class LetteringAlongPath(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) - self.arg_parser.add_argument("-o", "--options", type=str, default=None, dest="page_1") - self.arg_parser.add_argument("-i", "--info", type=str, default=None, dest="page_2") + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-s", "--stretch-spaces", type=Boolean, default=False, dest="stretch_spaces") def effect(self): diff --git a/lib/extensions/lettering_custom_font_dir.py b/lib/extensions/lettering_custom_font_dir.py index b73d23a6..1568e391 100644 --- a/lib/extensions/lettering_custom_font_dir.py +++ b/lib/extensions/lettering_custom_font_dir.py @@ -19,6 +19,7 @@ class LetteringCustomFontDir(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-d", "--path", type=str, default="", dest="path") def effect(self): diff --git a/lib/extensions/lettering_force_lock_stitches.py b/lib/extensions/lettering_force_lock_stitches.py index 17033ce9..c835bc72 100644 --- a/lib/extensions/lettering_force_lock_stitches.py +++ b/lib/extensions/lettering_force_lock_stitches.py @@ -20,6 +20,7 @@ class LetteringForceLockStitches(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-s", "--satin_only", type=inkex.Boolean, dest="satin_only") self.arg_parser.add_argument("-a", "--max_distance", type=float, default=3, dest="max_distance") self.arg_parser.add_argument("-i", "--min_distance", type=float, default=1, dest="min_distance") diff --git a/lib/extensions/lettering_generate_json.py b/lib/extensions/lettering_generate_json.py index a884ccac..5ff64c41 100644 --- a/lib/extensions/lettering_generate_json.py +++ b/lib/extensions/lettering_generate_json.py @@ -21,10 +21,7 @@ class LetteringGenerateJson(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) - self.arg_parser.add_argument("--options") - self.arg_parser.add_argument("--general") - self.arg_parser.add_argument("--settings") - self.arg_parser.add_argument("--kerning") + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-n", "--font-name", type=str, default="Font", dest="font_name") self.arg_parser.add_argument("-d", "--font-description", type=str, default="Description", dest="font_description") diff --git a/lib/extensions/lettering_remove_kerning.py b/lib/extensions/lettering_remove_kerning.py index 21a8eda3..7507c024 100644 --- a/lib/extensions/lettering_remove_kerning.py +++ b/lib/extensions/lettering_remove_kerning.py @@ -17,6 +17,7 @@ class LetteringRemoveKerning(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-p", "--font-files", type=str, default="", dest="paths") def effect(self): diff --git a/lib/extensions/lettering_update_json_glyphlist.py b/lib/extensions/lettering_update_json_glyphlist.py index 4dea6d51..d80ef9ea 100644 --- a/lib/extensions/lettering_update_json_glyphlist.py +++ b/lib/extensions/lettering_update_json_glyphlist.py @@ -18,6 +18,7 @@ class LetteringUpdateJsonGlyphlist(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-f", "--font-file", type=str, default="", dest="font_file") self.arg_parser.add_argument("-j", "--json-file", type=str, default="", dest="json_file") diff --git a/lib/extensions/letters_to_font.py b/lib/extensions/letters_to_font.py index e779b5d1..8345af75 100644 --- a/lib/extensions/letters_to_font.py +++ b/lib/extensions/letters_to_font.py @@ -24,6 +24,7 @@ class LettersToFont(InkstitchExtension): ''' def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-d", "--font-dir", type=str, default="", dest="font_dir") self.arg_parser.add_argument("-f", "--file-format", type=str, default="", dest="file_format") self.arg_parser.add_argument("-c", "--import-commands", type=str, default="params", dest="import_commands") diff --git a/lib/extensions/outline.py b/lib/extensions/outline.py index a4026017..45292f64 100644 --- a/lib/extensions/outline.py +++ b/lib/extensions/outline.py @@ -18,6 +18,7 @@ from .base import InkstitchExtension class Outline(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-k", "--keep-original", type=Boolean, default=False, dest="keep_original") self.arg_parser.add_argument("-b", "--buffer", type=float, default=0.001, dest="buffer") self.arg_parser.add_argument("-s", "--smoothness", type=float, default=0.3, dest="smoothness") diff --git a/lib/extensions/select_elements.py b/lib/extensions/select_elements.py index 59e3d06d..2c2de242 100644 --- a/lib/extensions/select_elements.py +++ b/lib/extensions/select_elements.py @@ -17,7 +17,7 @@ from .base import InkstitchExtension class SelectElements(InkstitchExtension): def add_arguments(self, pars): - self.arg_parser.add_argument("--options", type=str, dest="notebook") + self.arg_parser.add_argument("--notebook", type=str, dest="notebook") pars.add_argument("--stitch-type", type=str, dest="stitch_type") pars.add_argument("--info", type=str, dest="info") diff --git a/lib/extensions/stitch_plan_preview.py b/lib/extensions/stitch_plan_preview.py index 75b8e497..42fa37d4 100644 --- a/lib/extensions/stitch_plan_preview.py +++ b/lib/extensions/stitch_plan_preview.py @@ -25,6 +25,7 @@ from .utils.inkex_command import inkscape class StitchPlanPreview(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") 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=str, default="unchanged", dest="layer_visibility") self.arg_parser.add_argument("-n", "--needle-points", type=Boolean, default=False, dest="needle_points") diff --git a/lib/extensions/troubleshoot.py b/lib/extensions/troubleshoot.py index 01629069..51a33abf 100644 --- a/lib/extensions/troubleshoot.py +++ b/lib/extensions/troubleshoot.py @@ -21,6 +21,7 @@ class Troubleshoot(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-p", "--pointer-size", type=float, default=5, dest="pointer_size_mm") self.arg_parser.add_argument("-f", "--font-size", type=float, default=2, dest="font_size_mm") diff --git a/lib/extensions/unlink_clone.py b/lib/extensions/unlink_clone.py index e361da14..0c187808 100644 --- a/lib/extensions/unlink_clone.py +++ b/lib/extensions/unlink_clone.py @@ -15,6 +15,7 @@ from typing import List, Tuple class UnlinkClone(InkstitchExtension): def __init__(self, *args, **kwargs): InkstitchExtension.__init__(self, *args, **kwargs) + self.arg_parser.add_argument("--notebook") self.arg_parser.add_argument("-r", "--recursive", dest="recursive", type=Boolean, default=True) def effect(self): diff --git a/templates/auto_satin.xml b/templates/auto_satin.xml index e7cf9a7a..41909623 100644 --- a/templates/auto_satin.xml +++ b/templates/auto_satin.xml @@ -2,9 +2,21 @@ <inkscape-extension translationdomain="inkstitch" xmlns="http://www.inkscape.org/namespace/inkscape/extension"> <name>Auto-Route Satin Columns</name> <id>org.{{ id_inkstitch }}.auto_satin</id> - <param name="trim" type="boolean" gui-text="Trim jump stitches">true</param> - <param name="preserve_order" type="boolean" gui-text="Preserve order of satin columns">false</param> - <param name="extension" type="string" gui-hidden="true">auto_satin</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="trim" type="boolean" gui-text="Trim jump stitches">true</param> + <param name="preserve_order" type="boolean" gui-text="Preserve order of satin columns">false</param> + <param name="extension" type="string" gui-hidden="true">auto_satin</param> + </page> + <page name="info" gui-text="Help"> + <label>This extension tries to create a single stitch path through all selected satin columns.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/satin-tools/#auto-route-satin-columns</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -13,6 +25,7 @@ </submenu> </effects-menu> </effect> + <script> {{ command_tag | safe }} </script> diff --git a/templates/break_apart.xml b/templates/break_apart.xml index 1557032e..f65abb58 100644 --- a/templates/break_apart.xml +++ b/templates/break_apart.xml @@ -3,6 +3,25 @@ <name>Break Apart Fill Objects</name> <id>org.{{ id_inkstitch }}.break_apart</id> <param name="extension" type="string" gui-hidden="true">break_apart</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="method" type="optiongroup" gui-text="Method"> + <option value="0">Simple</option> + <option value="1">Complex</option> + </param> + </page> + <page name="info" gui-text="Help"> + <label> + This extension will try to repair fill shapes and break them apart if necessary. + Holes will be retained. Use on simple or overlapping shapes. + </label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/fill-tools/#break-apart-fill-objects</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -11,13 +30,7 @@ </submenu> </effects-menu> </effect> - <label> - This extension will try to repair fill shapes and break them apart if necessary. Holes will be retained. Use on simple or overlapping shapes. - </label> - <param name="method" type="optiongroup" gui-text="Method"> - <option value="0">Simple</option> - <option value="1">Complex</option> - </param> + <script> {{ command_tag | safe }} </script> diff --git a/templates/cleanup.xml b/templates/cleanup.xml index e42dec12..8ccddb40 100644 --- a/templates/cleanup.xml +++ b/templates/cleanup.xml @@ -2,20 +2,31 @@ <inkscape-extension translationdomain="inkstitch" xmlns="http://www.inkscape.org/namespace/inkscape/extension"> <name>Cleanup Document</name> <id>org.{{ id_inkstitch }}.cleanup</id> - <label>Use this extension to remove small objects from the document.</label> - <param name="rm_fill" type="boolean" gui-text="Remove Small Fill Areas" - gui-description="Removes areas smaller than defined by threshold.">true</param> - <param name="fill_threshold" type="int" gui-text="Fill area threshold (px²)" min="1" max="800">20</param> - <param name="rm_stroke" type="boolean" gui-text="Remove Small strokes" - gui-description="Removes small strokes shorter than defined by threshold.">true</param> - <param name="stroke_threshold" type="int" gui-text="Stroke threshold (px)" min="2" max="800">5</param> - <param name="rm_groups" type="boolean" gui-text="Remove empty layers and groups">true</param> - <spacer /> - <separator /> - <spacer /> - <param name="dry_run" type="boolean" gui-text="Test run" - gui-description="Only display labels and ids of affected elements and groups without removing them.">true</param> <param name="extension" type="string" gui-hidden="true">cleanup</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="rm_fill" type="boolean" gui-text="Remove Small Fill Areas" + gui-description="Removes areas smaller than defined by threshold.">true</param> + <param name="fill_threshold" type="int" gui-text="Fill area threshold (px²)" min="1" max="800">20</param> + <param name="rm_stroke" type="boolean" gui-text="Remove Small strokes" + gui-description="Removes small strokes shorter than defined by threshold.">true</param> + <param name="stroke_threshold" type="int" gui-text="Stroke threshold (px)" min="2" max="800">5</param> + <param name="rm_groups" type="boolean" gui-text="Remove empty layers and groups">true</param> + <spacer /> + <separator /> + <spacer /> + <param name="dry_run" type="boolean" gui-text="Test run" + gui-description="Only display labels and ids of affected elements and groups without removing them.">true</param> + </page> + <page name="info" gui-text="Help"> + <label>Use this extension to remove small objects from the document.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/troubleshoot/#cleanup-document</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> diff --git a/templates/convert_to_stroke.xml b/templates/convert_to_stroke.xml index 89ff04fe..51ee39fe 100644 --- a/templates/convert_to_stroke.xml +++ b/templates/convert_to_stroke.xml @@ -3,9 +3,20 @@ <name>Convert Satin to Stroke</name> <id>org.{{ id_inkstitch }}.convert_to_stroke</id> <param name="extension" type="string" gui-hidden="true">convert_to_stroke</param> - <label>Converts a satin column into a running stitch.</label> - <param name="keep_satin" type="boolean" gui-text="Keep satin column" - gui-description="Do not delete original satin column.">false</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="keep_satin" type="boolean" gui-text="Keep satin column" + gui-description="Do not delete original satin column.">false</param> + </page> + <page name="info" gui-text="Help"> + <label>Converts a satin column into a running stitch.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/stroke-tools/#convert-satin-to-stroke</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -14,6 +25,7 @@ </submenu> </effects-menu> </effect> + <script> {{ command_tag | safe }} </script> diff --git a/templates/cutwork_segmentation.xml b/templates/cutwork_segmentation.xml index adc744e5..671d2c26 100644 --- a/templates/cutwork_segmentation.xml +++ b/templates/cutwork_segmentation.xml @@ -9,7 +9,7 @@ <submenu name="{{ menu_inkstitch }}" translatable="no" /> </effects-menu> </effect> - <param name="options" type="notebook"> + <param name="notebook" type="notebook"> <page name="options" gui-text="Cutwork Options"> <hbox> <label>#1</label><spacer /> diff --git a/templates/density_map.xml b/templates/density_map.xml index 7fee175c..e62ecaf7 100644 --- a/templates/density_map.xml +++ b/templates/density_map.xml @@ -3,6 +3,34 @@ <name>Density Map</name> <id>org.{{ id_inkstitch }}.density_map</id> <param name="extension" type="string" gui-hidden="true">density_map</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <label appearance="header">Red markers</label> + <param name="num-neighbors-red" gui-text="Number of stitches" gui-description="0 = no density info" type="int" min="0" max="99" indents="1">6</param> + <param name="density-radius-red" gui-text="within a radius (mm) of" type="float" min="0" max="50" indents="1">0.5</param> + <spacer /> + <label appearance="header">Yellow markers</label> + <param name="num-neighbors-yellow" gui-text="Number of stitches" gui-description="0 = no density info" type="int" min="0" max="99" indents="1">3</param> + <param name="density-radius-yellow" gui-text="within a radius (mm) of" type="float" min="0" max="50">0.5</param> + <spacer /> + <param name="layer-visibility" type="optiongroup" appearance="combo" gui-text="Design layer visibility" indents="1"> + <option value="0">Unchanged</option> + <option value="1">Hidden</option> + <option value="2">Lower opacity</option> + </param> + <spacer /> + <param name="indicator-size" type="float" min="0" max="50" indent="1" gui-text="Indicator size" + precision="2">0.5</param> + </page> + <page name="info" gui-text="Help"> + <label>This extension helps you to determine the stitch density.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/visualize/#density-map</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -11,22 +39,7 @@ </submenu> </effects-menu> </effect> - <label appearance="header">Red markers</label> - <param name="num-neighbors-red" gui-text="Number of stitches" gui-description="0 = no density info" type="int" min="0" max="99" indents="1">6</param> - <param name="density-radius-red" gui-text="within a radius (mm) of" type="float" min="0" max="50" indents="1">0.5</param> - <spacer /> - <label appearance="header">Yellow markers</label> - <param name="num-neighbors-yellow" gui-text="Number of stitches" gui-description="0 = no density info" type="int" min="0" max="99" indents="1">3</param> - <param name="density-radius-yellow" gui-text="within a radius (mm) of" type="float" min="0" max="50">0.5</param> - <spacer /> - <param name="layer-visibility" type="optiongroup" appearance="combo" gui-text="Design layer visibility" indents="1"> - <option value="0">Unchanged</option> - <option value="1">Hidden</option> - <option value="2">Lower opacity</option> - </param> - <spacer /> - <param name="indicator-size" type="float" min="0" max="50" indent="1" gui-text="Indicator size" - precision="2">0.5</param> + <script> {{ command_tag | safe }} </script> diff --git a/templates/display_stacking_order.xml b/templates/display_stacking_order.xml index be8539f2..9ff55380 100644 --- a/templates/display_stacking_order.xml +++ b/templates/display_stacking_order.xml @@ -3,6 +3,19 @@ <name>Display stacking order</name> <id>org.{{ id_inkstitch }}.display_stacking_order</id> <param name="extension" type="string" gui-hidden="true">display_stacking_order</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="font_size" type="int" min="0" max="100" gui-text="Font size">4</param> + </page> + <page name="info" gui-text="Help"> + <label>This extension inserts numbered labels for selected elements into the document to visualize the stitch order.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/visualize/#display-stacking-order</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -11,7 +24,7 @@ </submenu> </effects-menu> </effect> - <param name="font_size" type="int" min="0" max="100" gui-text="Font size">4</param> + <script> {{ command_tag | safe }} </script> diff --git a/templates/install_custom_palette.xml b/templates/install_custom_palette.xml index fa037e7b..19270331 100644 --- a/templates/install_custom_palette.xml +++ b/templates/install_custom_palette.xml @@ -3,9 +3,22 @@ <name>Install custom palette</name> <id>org.{{ id_inkstitch }}.install_custom_palette</id> <param name="extension" type="string" gui-hidden="true">install_custom_palette</param> - <label indent="1">Choose a .gpl color palette file to install into Inkscape.</label> - <label indent="1">Restart Inkscape to use.</label> - <param indent="1" name="filepath" type="path" gui-text="Choose file" mode="file" filetypes="gpl"/> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <label indent="1">Choose a .gpl color palette file to install into Inkscape.</label> + <label indent="1">Restart Inkscape to use.</label> + <spacer /> + <param indent="1" name="filepath" type="path" gui-text="Choose file" mode="file" filetypes="gpl"/> + </page> + <page name="info" gui-text="Help"> + <label>This extension installs a custom thread palette into Inkscape.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/thread-color/#install-custom-palette</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> diff --git a/templates/lettering_along_path.xml b/templates/lettering_along_path.xml index bc2b248e..06dac977 100644 --- a/templates/lettering_along_path.xml +++ b/templates/lettering_along_path.xml @@ -9,7 +9,7 @@ <submenu name="{{ menu_inkstitch }}" translatable="no" /> </effects-menu> </effect> - <param name="options" type="notebook"> + <param name="notebook" type="notebook"> <page name="options" gui-text="Options"> <param name="stretch-spaces" type="bool" gui-text="Stretch" gui-description="Expand glyph and word spacing to stretch lettering over the entire path">false</param> @@ -23,6 +23,9 @@ <label indent="1">* The text should not be too large for the given path</label> <spacer /> <label>The stretch option defines whether the spaces between glyphs should be expanded so that the text stretches over the entire path.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/lettering/#lettering-along-path</label> </page> </param> <script> diff --git a/templates/lettering_custom_font_dir.xml b/templates/lettering_custom_font_dir.xml index cb97eb52..9e07c58c 100644 --- a/templates/lettering_custom_font_dir.xml +++ b/templates/lettering_custom_font_dir.xml @@ -3,6 +3,21 @@ <name>Custom font directory</name> <id>org.{{ id_inkstitch }}.lettering_custom_font_dir</id> <param name="extension" type="string" gui-hidden="true">lettering_custom_font_dir</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="path" type="path" mode="folder" gui-text="Custom font directory"></param> + </page> + <page name="info" gui-text="Help"> + <label>Set a custom directory for additional fonts to be used with the lettering tool.</label> + <spacer /> + <label>The custom font directory must contain a subdirectory for each font.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#custom-font-directory</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> @@ -11,15 +26,6 @@ </submenu> </effects-menu> </effect> - <label indent="1" > - Set a custom directory for additional fonts to be used with the lettering tool. - </label> - <spacer /> - <param name="path" type="path" mode="folder" gui-text="Custom font directory" indent="1"></param> - <spacer /> - <label indent="1" > - Usage: The custom font directory must contain a subdirectory for each font. - </label> <script> {{ command_tag | safe }} </script> diff --git a/templates/lettering_force_lock_stitches.xml b/templates/lettering_force_lock_stitches.xml index a0273d99..9922fb5f 100644 --- a/templates/lettering_force_lock_stitches.xml +++ b/templates/lettering_force_lock_stitches.xml @@ -3,6 +3,32 @@ <name>Force lock stitches</name> <id>org.{{ id_inkstitch }}.force_lock_stitches</id> <param name="extension" type="string" gui-hidden="true">lettering_force_lock_stitches</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="satin_only" type="boolean" gui-text="Restrict to Satin">false</param> + <separator /> + <param name="min_distance" type="float" gui-text="Minimum distance (mm)" min="0" max="20">1</param> + <param name="max_distance" type="float" gui-text="Maximum distance (mm)" min="1" max="20">3</param> + <separator /> + <param name="last_element" type="boolean" gui-text="Add force lock stitches attribute to the last element of each glyph">false</param> + </page> + <page name="info" gui-text="Help"> + <label > + Small fonts will sometimes unravel if threads are cut after the embroidery machine has finished the work. + Therefore it is important that also diacritics with a smaller distance to the font body than defined by the collapse length value (default: 3mm) have lock stitches. + This can be achieved by adding a forced lock stitch attribute to them. + </label> + <separator /> + <label> + This extension has been build to help font authors to define "force lock stitches"-attributes automatically if they are placed in a predefined distance to the next object. + </label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#force-lock-stitches</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> @@ -11,23 +37,7 @@ </submenu> </effects-menu> </effect> - <label indent="1" > - Small fonts will sometimes unravel if threads are cut after the embroidery machine has finished the work. - Therefore it is important that also diacritics with a smaller distance to the font body than defined by the collapse length value (default: 3mm) have lock stitches. - This can be achieved by adding a forced lock stitch attribute to them. - </label> - <separator /> - <label indent="1"> - This extension has been build to help font authors to define "force lock stitches"-attributes automatically if they are placed in a predefined distance to the next object. - </label> - <spacer /> - <separator /> - <spacer /> - <param indent="1" name="satin_only" type="boolean" gui-text="Restrict to Satin">false</param> - <param indent="1" name="min_distance" type="float" gui-text="Minimum distance (mm)" min="0" max="20">1</param> - <param indent="1" name="max_distance" type="float" gui-text="Maximum distance (mm)" min="1" max="20">3</param> - <separator /> - <param indent="1" name="last_element" type="boolean" gui-text="Add force lock stitches attribute to the last element of each glyph">false</param> + <script> {{ command_tag | safe }} </script> diff --git a/templates/lettering_generate_json.xml b/templates/lettering_generate_json.xml index b3fd8077..e80a707f 100644 --- a/templates/lettering_generate_json.xml +++ b/templates/lettering_generate_json.xml @@ -12,18 +12,9 @@ </effects-menu> </effect> - <param name="options" type="notebook"> + <param name="notebook" type="notebook"> <page name="general" gui-text="Font info"> - <label appearance="header" indent="1" > - Generates font.json which can be used by the lettering tool. - </label> - <label indent="1" >The generated file can be viewed and updated with a standard text editor tool.</label> - - <spacer /> - <separator indent="1"/> - <spacer /> - <param type="string" name="font-name" gui-text="Name" indent="1" /> <param type="string" name="font-description" gui-text="Description" indent="1" /> @@ -102,9 +93,16 @@ </hbox> <spacer /> - <separator indent="1"/> + <separator indent="1"/> </page> + <page name="info" gui-text="Help"> + <label appearance="header">Generates font.json which can be used by the lettering tool.</label> + <label>The generated file can be viewed and updated with a standard text editor tool.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#generate-json</label> + </page> </param> <script> diff --git a/templates/lettering_remove_kerning.xml b/templates/lettering_remove_kerning.xml index e8f19bd0..9a0d84ce 100644 --- a/templates/lettering_remove_kerning.xml +++ b/templates/lettering_remove_kerning.xml @@ -3,6 +3,27 @@ <name>Remove Kerning</name> <id>org.{{ id_inkstitch }}.lettering_remove_kerning</id> <param name="extension" type="string" gui-hidden="true">lettering_remove_kerning</param> + + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param type="path" name="font-files" gui-text="Select Font Files" mode="files" filetypes="svg"/> + </page> + <page name="info" gui-text="Help"> + + <label appearance="header">Removes Kerning information from given SVG files</label> + <separator /> + <label> + ⚠ Make sure you keep a copy of the original file. + After running this extension kerning information will be lost unrevertably from these files. + </label> + <separator /> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#remove-kerning</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> @@ -11,17 +32,6 @@ </submenu> </effects-menu> </effect> - <label appearance="header" indent="1" > - Removes Kerning information from given SVG files - </label> - <separator /> - <label indent="1" > - ⚠ Make sure you keep a copy of the original file. After running this extension kerning information will be lost unrevertably from these files. - </label> - <separator /> - <spacer /> - <param type="path" name="font-files" gui-text="Select Font Files" indent="1" mode="files" filetypes="svg"/> - <spacer /> <script> {{ command_tag | safe }} </script> diff --git a/templates/lettering_update_json_glyphlist.xml b/templates/lettering_update_json_glyphlist.xml index d5a528e8..bc15b3ed 100644 --- a/templates/lettering_update_json_glyphlist.xml +++ b/templates/lettering_update_json_glyphlist.xml @@ -3,6 +3,20 @@ <name>Update Glyphlist</name> <id>org.{{ id_inkstitch }}.lettering_update_json_glyphlist</id> <param name="extension" type="string" gui-hidden="true">lettering_update_json_glyphlist</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param type="path" name="font-file" gui-text="SVG Font File" mode="file" filetypes="svg"/> + <param type="path" name="json-file" gui-text="JSON File" mode="file" filetypes="json"/> + </page> + <page name="info" gui-text="Help"> + <label appearance="header">Updates the glyphlist in the json file.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#update-glyph-list</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> @@ -11,11 +25,7 @@ </submenu> </effects-menu> </effect> - <label appearance="header" indent="1" > - Updates the glyphlist in the json file. - </label> - <param type="path" name="font-file" gui-text="SVG Font File" indent="1" mode="file" filetypes="svg"/> - <param type="path" name="json-file" gui-text="JSON File" indent="1" mode="file" filetypes="json"/> + <script> {{ command_tag | safe }} </script> diff --git a/templates/letters_to_font.xml b/templates/letters_to_font.xml index 2909500b..e6c7ceff 100644 --- a/templates/letters_to_font.xml +++ b/templates/letters_to_font.xml @@ -3,6 +3,42 @@ <name>Letters to font</name> <id>org.{{ id_inkstitch }}.letters_to_font</id> <param name="extension" type="string" gui-hidden="true">letters_to_font</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="file-format" type="optiongroup" appearance="combo" gui-text="File format"> + {% for format, description, mimetype, category in formats %} + <option value="*.{{ format | upper }}" translatable="no">{{ format | upper }}</option> + {% endfor %} + </param> + <param type="path" name="font-dir" gui-text="Font directory" mode="folder" filetypes="svg"/> + <spacer /> + <param name="import-commands" type="optiongroup" appearance="combo" gui-text="Import commands"> + <option value="params">As param</option> + <option value="symbols">As symbol</option> + <option value="none">No</option> + </param> + </page> + <page name="info" gui-text="Help"> + <label appearance="header"> + Includes all letters of a predigitized embroidery font (one file for each letter) into the document in order to make it available for the Ink/Stitch lettering system. + </label> + <label> + Embroidery files need to have the name of the letter right before the file extension. E.g. A.dst or Example_Font_A.dst will be recognized as the letter A. + </label> + <spacer /> + <separator /> + <label> + ⚠ After running this function, drag the baseline into the desired position and place the letters accordingly. + Save your font in a separate folder. Then generate the json file (with "Autoroute Satin" unchecked). + </label> + <separator /> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/font-tools/#letters-to-font</label> + </page> + </param> + <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> @@ -11,33 +47,6 @@ </submenu> </effects-menu> </effect> - <label appearance="header" indent="1" > - Includes all letters of a predigitized embroidery font (one file for each letter) into the document in order to make it available for the Ink/Stitch lettering system. - </label> - <label indent="1" > - Embroidery files need to have the name of the letter right before the file extension. E.g. A.dst or Example_Font_A.dst will be recognized as the letter A. - </label> - <separator /> - <spacer /> - <param name="file-format" type="optiongroup" appearance="combo" gui-text="File format" indent="1"> - {% for format, description, mimetype, category in formats %} - <option value="*.{{ format | upper }}" translatable="no">{{ format | upper }}</option> - {% endfor %} - </param> - <param type="path" name="font-dir" gui-text="Font directory" indent="1" mode="folder" filetypes="svg"/> - <spacer /> - <param name="import-commands" type="optiongroup" appearance="combo" gui-text="Import commands" indent="1"> - <option value="params">As param</option> - <option value="symbols">As symbol</option> - <option value="none">No</option> - </param> - <spacer /> - <separator /> - <label indent="1" > - ⚠ After running this function, drag the baseline into the desired position and place the letters accordingly. - Save your font in a separate folder. Then generate the json file (with "Autoroute Satin" unchecked). - </label> - <separator /> <script> {{ command_tag | safe }} </script> diff --git a/templates/outline.xml b/templates/outline.xml index 06997c2d..2317153d 100644 --- a/templates/outline.xml +++ b/templates/outline.xml @@ -3,6 +3,33 @@ <name>Outline</name> <id>org.{{ id_inkstitch }}.outline</id> <param name="extension" type="string" gui-hidden="true">outline</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="keep-original" type="boolean" gui-text="Keep original element(s)">false</param> + <spacer /> + <separator /> + <spacer /> + <param name="threshold" type="float" appearance="full" precision="2" min="0" max="100" + gui-text="Threshold (mm²)" gui-description="Removes smaller shape areas than that">10</param> + <param name="buffer" type="float" appearance="full" precision="3" min="0.001" max="1" + gui-text="Buffer (mm)" gui-description="Enlarge strokes by this amount">0.001</param> + <param name="smoothness" type="float" appearance="full" precision="2" min="0.01" max="5" + gui-text="Smoothness (mm)" gui-description="Smooth path by this amount">0.3</param> + <spacer /> + <separator /> + <spacer /> + <param name="inset" type="float" appearance="full" precision="3" min="0" max="5" + gui-text="Inset (mm)" gui-description="Counteract the buffer effect">0</param> + </page> + <page name="info" gui-text="Help"> + <label>This extension helps reconstruct an original object from a stitch file.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/stroke-tools/#outline</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -11,21 +38,7 @@ </submenu> </effects-menu> </effect> - <param name="keep-original" type="boolean" gui-text="Keep original element(s)">false</param> - <spacer /> - <separator /> - <spacer /> - <param name="threshold" type="float" appearance="full" precision="2" min="0" max="100" - gui-text="Threshold (mm²)" gui-description="Removes smaller shape areas than that">10</param> - <param name="buffer" type="float" appearance="full" precision="3" min="0.001" max="1" - gui-text="Buffer (mm)" gui-description="Enlarge strokes by this amount">0.001</param> - <param name="smoothness" type="float" appearance="full" precision="2" min="0.01" max="5" - gui-text="Smoothness (mm)" gui-description="Smooth path by this amount">0.3</param> - <spacer /> - <separator /> - <spacer /> - <param name="inset" type="float" appearance="full" precision="3" min="0" max="5" - gui-text="Inset (mm)" gui-description="Counteract the buffer effect">0</param> + <script> {{ command_tag | safe }} </script> diff --git a/templates/select_elements.xml b/templates/select_elements.xml index 8ade3c67..1f99391c 100644 --- a/templates/select_elements.xml +++ b/templates/select_elements.xml @@ -4,7 +4,7 @@ <id>org.{{ id_inkstitch }}.select_elements</id> <param name="extension" type="string" gui-hidden="true">select_elements</param> - <param name="options" type="notebook"> + <param name="notebook" type="notebook"> <page name="stitch-type" gui-text="Select options"> <label appearance="header">Select Stitch Type</label> <hbox> @@ -83,6 +83,9 @@ <label>Selects specific embroidery elements by stitch type.</label> <label>If there is already an active selection, non matching elements will be deselected.</label> <spacer /> + <label>More info on our website</label> + <label appearance="url">https://inkstitch.org/docs/edit/#select-embroidery-elements/</label> + <spacer /> <separator /> <spacer /> <label appearance="header">Troubleshoot</label> diff --git a/templates/stitch_plan_preview.xml b/templates/stitch_plan_preview.xml index 2791e4e0..92507b27 100644 --- a/templates/stitch_plan_preview.xml +++ b/templates/stitch_plan_preview.xml @@ -3,6 +3,45 @@ <name>Stitch Plan Preview</name> <id>org.{{ id_inkstitch }}.stitch_plan_preview</id> <param name="extension" type="string" gui-hidden="true">stitch_plan_preview</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="layer-visibility" type="optiongroup" appearance="combo" gui-text="Design layer visibility"> + <option value="unchanged">Unchanged</option> + <option value="hidden">Hidden</option> + <option value="lower_opacity">Lower opacity</option> + </param> + <param name="render-mode" type="optiongroup" appearance="combo" gui-text="Render Mode" + gui-description="Realistic modes will render to a raster image for performance reasons. Realistic Vector may cause Inkscape to slow down for complex designs."> + <option value="simple">Simple</option> + <option value="realistic-8">Realistic</option> + <option value="realistic-16">Realistic High Quality</option> + <option value="realistic-vector">Realistic Vector (slow)</option> + </param> + <spacer /> + <separator /> + <spacer /> + <param name="move-to-side" type="boolean" gui-text="Move stitch plan beside the canvas">true</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> + <param name="visual-commands" type="boolean" gui-text="Display command symbols">false</param> + <param name="render-jumps" type="boolean" gui-text="Render jump stitches">true</param> + <spacer /> + <separator /> + <spacer /> + <param name="ignore-layer" type="boolean" gui-text="Add ignore layer command">true</param> + <param name="overwrite" type="boolean" gui-text="Override last stitch plan">true</param> + <spacer /> + </page> + <page name="info" gui-text="Help"> + <label>Use this extension to render the stitch plan into the canvas.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/visualize/#stitch-plan-preview</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> @@ -11,33 +50,7 @@ </submenu> </effects-menu> </effect> - <param name="layer-visibility" type="optiongroup" appearance="combo" gui-text="Design layer visibility"> - <option value="unchanged">Unchanged</option> - <option value="hidden">Hidden</option> - <option value="lower_opacity">Lower opacity</option> - </param> - <param name="render-mode" type="optiongroup" appearance="combo" gui-text="Render Mode" - gui-description="Realistic modes will render to a raster image for performance reasons. Realistic Vector may cause Inkscape to slow down for complex designs."> - <option value="simple">Simple</option> - <option value="realistic-8">Realistic</option> - <option value="realistic-16">Realistic High Quality</option> - <option value="realistic-vector">Realistic Vector (slow)</option> - </param> - <spacer /> - <separator /> - <spacer /> - <param name="move-to-side" type="boolean" gui-text="Move stitch plan beside the canvas">true</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> - <param name="visual-commands" type="boolean" gui-text="Display command symbols">false</param> - <param name="render-jumps" type="boolean" gui-text="Render jump stitches">true</param> - <spacer /> - <separator /> - <spacer /> - <param name="ignore-layer" type="boolean" gui-text="Add ignore layer command">true</param> - <param name="overwrite" type="boolean" gui-text="Override last stitch plan">true</param> - <spacer /> + <script> {{ command_tag | safe }} </script> diff --git a/templates/troubleshoot.xml b/templates/troubleshoot.xml index b97971aa..4f2d9af0 100644 --- a/templates/troubleshoot.xml +++ b/templates/troubleshoot.xml @@ -3,8 +3,20 @@ <name>Troubleshoot Objects</name> <id>org.{{ id_inkstitch }}.troubleshoot</id> <param name="extension" type="string" gui-hidden="true">troubleshoot</param> - <param name="pointer-size" type="float" gui-text="Pointer size (mm)" min="1" max="800" precision="2">5</param> - <param name="font-size" type="float" gui-text="Font size (mm)" min="1" max="800" precision="2">2</param> + + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="pointer-size" type="float" gui-text="Pointer size (mm)" min="1" max="800" precision="2">5</param> + <param name="font-size" type="float" gui-text="Font size (mm)" min="1" max="800" precision="2">2</param> + </page> + <page name="info" gui-text="Help"> + <label>This extension points on problematic or possibly problematic spots in the document or selection.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/troubleshoot/#troubleshoot-objects</label> + </page> + </param> + <effect> <object-type>all</object-type> <effects-menu> diff --git a/templates/unlink_clone.xml b/templates/unlink_clone.xml index cd1caa00..cf7c0caf 100644 --- a/templates/unlink_clone.xml +++ b/templates/unlink_clone.xml @@ -2,8 +2,18 @@ <inkscape-extension translationdomain="inkstitch" xmlns="http://www.inkscape.org/namespace/inkscape/extension"> <name>Unlink Clone</name> <id>org.{{ id_inkstitch }}.unlink_clone</id> - <param name="extension" type="string" gui-hidden="true">unlink_clone</param> - <param name="recursive" type="boolean" gui-text="Recursive">true</param> + <param name="notebook" type="notebook"> + <page name="options" gui-text="Options"> + <param name="extension" type="string" gui-hidden="true">unlink_clone</param> + <param name="recursive" type="boolean" gui-text="Recursive">true</param> + </page> + <page name="info" gui-text="Help"> + <label>Unlink clones and apply the fill stitch angle.</label> + <spacer /> + <label>More information on our website</label> + <label appearance="url">https://inkstitch.org/docs/edit/#unlink-clone/</label> + </page> + </param> <effect needs-live-preview="false"> <object-type>all</object-type> <effects-menu> |
