summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dbus/select_elements.py2
-rw-r--r--lib/extensions/select_elements.py8
-rw-r--r--templates/select_elements.xml10
3 files changed, 17 insertions, 3 deletions
diff --git a/dbus/select_elements.py b/dbus/select_elements.py
index 2b663aed..ad016751 100644
--- a/dbus/select_elements.py
+++ b/dbus/select_elements.py
@@ -49,7 +49,7 @@ class DBusActions:
# start dbus
dbus = DBusActions()
# give it some time to start
-sleep(0.2)
+sleep(0.5)
# clear previous selection
dbus.run_action('select-clear', None)
# select with the list of ids
diff --git a/lib/extensions/select_elements.py b/lib/extensions/select_elements.py
index 8fa9ca9d..896e04b0 100644
--- a/lib/extensions/select_elements.py
+++ b/lib/extensions/select_elements.py
@@ -21,6 +21,7 @@ class SelectElements(InkstitchExtension):
pars.add_argument("--info", type=str, dest="info")
pars.add_argument("--select-running-stitch", type=Boolean, dest="running", default=False)
+ pars.add_argument("--running-stitch-condition", type=str, dest="running_stitch_condition", default="all")
pars.add_argument("--select-ripples", type=Boolean, dest="ripples", default=False)
pars.add_argument("--select-zigzag", type=Boolean, dest="zigzag", default=False)
pars.add_argument("--select-manual", type=Boolean, dest="manual", default=False)
@@ -101,7 +102,7 @@ class SelectElements(InkstitchExtension):
def _select_stroke(self, element):
select = False
method = element.stroke_method
- if self.options.running and method == 'running_stitch':
+ if self.options.running and method == 'running_stitch' and self._running_condition(element):
select = True
if self.options.ripples and method == 'ripple_stitch':
select = True
@@ -130,6 +131,11 @@ class SelectElements(InkstitchExtension):
select = True
return select
+ def _running_condition(self, element):
+ element_id = element.node.get_id() or ''
+ conditions = {'all': True, 'autorun-top': element_id.startswith('autorun'), 'autorun-underpath': element_id.startswith('underpath')}
+ return conditions[self.options.running_stitch_condition]
+
def _select_fill_underlay(self, element):
underlay = {'all': True, 'no': not element.fill_underlay, 'yes': element.fill_underlay}
return underlay[self.options.fill_underlay]
diff --git a/templates/select_elements.xml b/templates/select_elements.xml
index fee1f467..a4ed148a 100644
--- a/templates/select_elements.xml
+++ b/templates/select_elements.xml
@@ -8,7 +8,15 @@
<page name="stitch-type" gui-text="Select options">
<label appearance="header">Select Stitch Type</label>
<label>Stroke type</label>
+ <hbox>
<param indent="1" name="select-running-stitch" type="boolean" gui-text="Running Stitch">false</param>
+ <param indent="1" name="running-stitch-condition" type="optiongroup" appearance="combo" gui-text="Select"
+ gui-description="Only select specific running stitches">
+ <option value="all">All</option>
+ <option value="autorun-top">Auto-Run Top Stitching</option>
+ <option value="autorun-underpath">Auto-Run Underpath</option>
+ </param>
+ </hbox>
<param indent="1" name="select-ripples" type="boolean" gui-text="Ripples">false</param>
<param indent="1" name="select-zigzag" type="boolean" gui-text="ZigZag Stitch">false</param>
<param indent="1" name="select-manual" type="boolean" gui-text="Manual Stitch">false</param>
@@ -53,7 +61,7 @@
<label>If this isn't working for you, you may need to insert your path to a python executable manualy.</label>
<spacer />
<label>* Windows: Open the "Command Prompt" and type "where python". Copy the path and paste it here.</label>
- <label>* Linux: Open the command line and type "which python". Copy the path and paste it here.</label>
+ <label>* Linux: Open the command line and type "which python3". Copy the path and paste it here.</label>
<label>* macOS: doesn't work, sorry</label>
<param name="python-path" type="string" gui-text="Python Path"></param>
</page>