Current layer issue (#1279)

feature_tangential_fill
Kaalleen 2021-07-21 17:15:46 +02:00 zatwierdzone przez GitHub
rodzic 4e3ddecfd3
commit fbc90faa87
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 9 dodań i 7 usunięć

1
.gitignore vendored
Wyświetl plik

@ -16,3 +16,4 @@ locales/
/debug.svg
/.idea
/VERSION
src/

Wyświetl plik

@ -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 = []

Wyświetl plik

@ -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):