diff options
| author | Lex Neva <github@lexneva.name> | 2016-02-25 17:17:41 -0500 |
|---|---|---|
| committer | Lex Neva <github@lexneva.name> | 2016-02-25 17:17:41 -0500 |
| commit | 3c3591c78b379d2fbf09f69012bf800b6b2e37ad (patch) | |
| tree | afcd552179bafee5f92b1a087f26c7e9bf6dad03 /embroider.py | |
| parent | 8f3b03ff6d8ec78a915742289f72fea12c0880a9 (diff) | |
embroider everything if nothing is selected
Diffstat (limited to 'embroider.py')
| -rw-r--r-- | embroider.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/embroider.py b/embroider.py index 856faf6e..757776dc 100644 --- a/embroider.py +++ b/embroider.py @@ -864,11 +864,10 @@ class Embroider(inkex.Effect): return runs def handle_node(self, node): - if (node.tag == inkex.addNS('g', 'svg')): - #dbg.write("%s\n"%str((id, etree.tostring(node, pretty_print=True)))) - #dbg.write("not a path; recursing:\n") - for child in node.iter(self.svgpath): - self.handle_node(child) + for child in node: + self.handle_node(child) + + if node.tag != self.svgpath: return #dbg.write("Node: %s\n"%str((id, etree.tostring(node, pretty_print=True)))) @@ -945,13 +944,20 @@ class Embroider(inkex.Effect): dbg.write("starting nodes: %s" % time.time()) dbg.flush() - for node in self.selected.itervalues(): - self.handle_node(node) + if self.selected: + for node in self.selected.itervalues(): + self.handle_node(node) + else: + self.handle_node(self.document.getroot()) dbg.write("finished nodes: %s" % time.time()) dbg.flush() if not self.patchList: - inkex.errormsg("No paths selected.") + if self.selected: + inkex.errormsg("No embroiderable paths selected.") + else: + inkex.errormsg("No embroiderable paths found in document.") + inkex.errormsg("Tip: use Path -> Object to Path to convert non-paths before embroidering.") return dbg.write("starting tsp: %s" % time.time()) |
