On PathJob creation pre-select the currently selected object.

This commit is contained in:
Markus Lampert 2016-10-31 14:41:06 -07:00 committed by wmayer
parent 351c605db3
commit 1fb504e2bd
2 changed files with 32 additions and 8 deletions

View File

@ -233,6 +233,7 @@ class TaskPanel:
if hasattr(o, "Shape"):
self.form.cboBaseObject.addItem(o.Name)
self.postProcessorDefaultTooltip = self.form.cboPostProcessor.toolTip()
self.postProcessorArgsDefaultTooltip = self.form.cboPostProcessorArgs.toolTip()
@ -308,13 +309,16 @@ class TaskPanel:
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):

View File

@ -58,11 +58,30 @@ class Page:
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)
@ -70,13 +89,14 @@ class Page:
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)