Skip to content

Commit

Permalink
On PathJob creation pre-select the currently selected object.
Browse files Browse the repository at this point in the history
  • Loading branch information
mlampert authored and wwmayer committed Nov 2, 2016
1 parent 351c605 commit 1fb504e
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 8 deletions.
14 changes: 9 additions & 5 deletions src/Mod/Path/PathScripts/PathJob.py
Expand Up @@ -233,6 +233,7 @@ def __init__(self, obj):
if hasattr(o, "Shape"):
self.form.cboBaseObject.addItem(o.Name)


self.postProcessorDefaultTooltip = self.form.cboPostProcessor.toolTip()
self.postProcessorArgsDefaultTooltip = self.form.cboPostProcessorArgs.toolTip()

Expand Down Expand Up @@ -308,13 +309,16 @@ def setFields(self):
for child in self.obj.Group:
self.form.PathsList.addItem(child.Name)

baseindex = -1
if self.obj.Base is not None:
baseindex = self.form.cboBaseObject.findText(self.obj.Base.Name, QtCore.Qt.MatchFixedString)
print baseindex
if baseindex >= 0:
self.form.cboBaseObject.blockSignals(True)
self.form.cboBaseObject.setCurrentIndex(baseindex)
self.form.cboBaseObject.blockSignals(False)
for o in FreeCADGui.Selection.getCompleteSelection():
baseindex = self.form.cboBaseObject.findText(o.Name, QtCore.Qt.MatchFixedString)
print baseindex
if baseindex >= 0:
self.form.cboBaseObject.blockSignals(True)
self.form.cboBaseObject.setCurrentIndex(baseindex)
self.form.cboBaseObject.blockSignals(False)


def open(self):
Expand Down
26 changes: 23 additions & 3 deletions src/Mod/Path/PathScripts/PathPreferencesPathJob.py
Expand Up @@ -58,25 +58,45 @@ def selectComboEntry(self, widget, text):
widget.setCurrentIndex(index)
widget.blockSignals(False)

def loadSettings(self):
def verifyAndUpdateDefaultPostProcessorWith(self, processor):
defaultIsValid = False
self.form.defaultPostProcessor.blockSignals(True)
self.form.defaultPostProcessor.clear()
self.form.defaultPostProcessor.addItem("")
for i in range(0, self.form.postProcessorList.count()):
item = self.form.postProcessorList.item(i)
if item.checkState() == QtCore.Qt.CheckState.Checked:
self.form.defaultPostProcessor.addItem(item.text())
if item.text() == processor :
defaultIsValid = True
# if we get here the default processor was disabled
if not defaultIsValid:
self.form.defaultPostProcessorArgs.setText('')
processor = ''
self.selectComboEntry(self.form.defaultPostProcessor, processor)
self.form.defaultPostProcessor.blockSignals(False)

def verifyAndUpdateDefaultPostProcessor(self):
self.verifyAndUpdateDefaultPostProcessorWith(str(self.form.defaultPostProcessor.currentText()))

def loadSettings(self):
blacklist = PathPreferences.postProcessorBlacklist()
for processor in PathPreferences.allAvailablePostProcessors():
self.form.defaultPostProcessor.addItem(processor)
item = QtGui.QListWidgetItem(processor)
if processor in blacklist:
item.setCheckState(QtCore.Qt.CheckState.Unchecked)
else:
item.setCheckState(QtCore.Qt.CheckState.Checked)
item.setFlags( QtCore.Qt.ItemFlag.ItemIsSelectable | QtCore.Qt.ItemFlag.ItemIsEnabled | QtCore.Qt.ItemFlag.ItemIsUserCheckable)
self.form.postProcessorList.addItem(item)
self.selectComboEntry(self.form.defaultPostProcessor, PathPreferences.defaultPostProcessor())
self.verifyAndUpdateDefaultPostProcessorWith(PathPreferences.defaultPostProcessor())

self.form.defaultPostProcessorArgs.setText(PathPreferences.defaultPostProcessorArgs())
self.form.leOutputFile.setText(PathPreferences.defaultOutputFile())
self.selectComboEntry(self.form.cboOutputPolicy, PathPreferences.defaultOutputPolicy())

self.form.postProcessorList.itemEntered.connect(self.setProcessorListTooltip)
self.form.postProcessorList.itemChanged.connect(self.verifyAndUpdateDefaultPostProcessor)
self.form.defaultPostProcessor.currentIndexChanged.connect(self.updateDefaultPostProcessorToolTip)
self.form.pbBrowseFileSystem.clicked.connect(self.browseFileSystem)

Expand Down

0 comments on commit 1fb504e

Please sign in to comment.