summaryrefslogtreecommitdiff
path: root/lib/extensions/transfer_params.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/extensions/transfer_params.py')
-rw-r--r--lib/extensions/transfer_params.py49
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/extensions/transfer_params.py b/lib/extensions/transfer_params.py
deleted file mode 100644
index c10393e2..00000000
--- a/lib/extensions/transfer_params.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Authors: see git history
-#
-# Copyright (c) 2021 Authors
-# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
-
-import inkex
-
-from ..i18n import _
-from ..svg.tags import EMBROIDERABLE_TAGS, SVG_GROUP_TAG
-from .base import InkstitchExtension
-
-
-class TransferParams(InkstitchExtension):
- # Transfer inkstitch namespaced attributes from the first selected element to the rest of selection
-
- def effect(self):
- objects = self.get_selected_in_order()
- if len(objects) < 2:
- inkex.errormsg(_("This function transfers Ink/Stitch parameters from the first selected element to the rest of the selection. "
- "Please select at least two elements."))
- return
-
- copy_from = objects[0]
- copy_from_attribs = self.get_inkstitch_attributes(copy_from)
-
- copy_to_selection = objects[1:]
- self.copy_to = []
-
- # extract copy_to group elements
- for element in copy_to_selection:
- if element.tag == SVG_GROUP_TAG:
- for descendant in element.iterdescendants(EMBROIDERABLE_TAGS):
- self.copy_to.append(descendant)
- elif element.tag in EMBROIDERABLE_TAGS:
- self.copy_to.append(element)
-
- # remove inkstitch params from copy_to elements
- for element in self.copy_to:
- copy_to_attribs = self.get_inkstitch_attributes(element)
- for attrib in copy_to_attribs:
- element.pop(attrib)
-
- # paste inkstitch params from copy_from element to copy_to elements
- for attrib in copy_from_attribs:
- for element in self.copy_to:
- element.attrib[attrib] = copy_from_attribs[attrib]
-
- def get_inkstitch_attributes(self, node):
- return {k: v for k, v in node.attrib.iteritems() if inkex.NSS['inkstitch'] in k}