diff --git a/.gitignore b/.gitignore index 09f99873b..74fe71f47 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ locales/ /debug.svg /.idea /VERSION +src/ diff --git a/lib/extensions/base.py b/lib/extensions/base.py index 70ca47011..8d5cccad9 100644 --- a/lib/extensions/base.py +++ b/lib/extensions/base.py @@ -117,15 +117,17 @@ class InkstitchExtension(inkex.Effect): if g.get(INKSCAPE_GROUPMODE) == "layer": g.set("style", "display:none") - def ensure_current_layer(self): + def get_current_layer(self): # if no layer is selected, inkex defaults to the root, which isn't # particularly useful - if self.svg.get_current_layer() is self.document.getroot(): + current_layer = self.svg.get_current_layer() + if current_layer is self.document.getroot(): try: - self.current_layer = self.document.xpath(".//svg:g[@inkscape:groupmode='layer']", namespaces=inkex.NSS)[0] + current_layer = self.document.xpath(".//svg:g[@inkscape:groupmode='layer']", namespaces=inkex.NSS)[0] except IndexError: # No layers at all?? Fine, we'll stick with the default. pass + return current_layer def no_elements_error(self): if self.svg.selected: @@ -134,7 +136,7 @@ class InkstitchExtension(inkex.Effect): else: inkex.errormsg(_("There are no objects in the entire document that Ink/Stitch knows how to work with.") + "\n") - inkex.errormsg(_("Tip: Select some objects and use Path -> Object to Path to convert them to paths.") + "\n") + inkex.errormsg(_("Tip: Run Extensions > Ink/Stitch > Troubleshoot > Troubleshoot Objects") + "\n") def descendants(self, node, selected=False, troubleshoot=False): # noqa: C901 nodes = [] diff --git a/lib/extensions/lettering.py b/lib/extensions/lettering.py index e55365c66..7ee162eab 100644 --- a/lib/extensions/lettering.py +++ b/lib/extensions/lettering.py @@ -414,10 +414,9 @@ class Lettering(CommandsExtension): else: return list(groups)[0] else: - self.ensure_current_layer() - return etree.SubElement(self.svg.get_current_layer(), SVG_GROUP_TAG, { + return etree.SubElement(self.get_current_layer(), SVG_GROUP_TAG, { INKSCAPE_LABEL: _("Ink/Stitch Lettering"), - "transform": get_correction_transform(self.svg.get_current_layer(), child=True) + "transform": get_correction_transform(self.get_current_layer(), child=True) }) def effect(self):