Skip to content

Commit e97212e

Browse files
alexbruynyalldawson
authored andcommitted
[processing] correctly restore default values
1 parent 0046b9f commit e97212e

File tree

2 files changed

+8
-35
lines changed

2 files changed

+8
-35
lines changed

python/plugins/processing/gui/enummodelerwidget.py

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -55,33 +55,11 @@ def __init__(self, parent=None):
5555

5656
self.lstItems.setModel(QStandardItemModel())
5757

58-
self.lstItems.clicked.connect(self.handleCheckbox)
59-
60-
def handleCheckbox(self, index):
61-
model = self.lstItems.model()
62-
clickedItem = model.itemFromIndex(index)
63-
64-
prevIndex = None
65-
for i in range(model.rowCount()):
66-
if model.item(i).checkState() == Qt.Checked:
67-
prevIndex = i
68-
break
69-
70-
if prevIndex is None:
71-
clickedItem.setCheckState(Qt.Checked)
72-
else:
73-
if self.chkAllowMultiple.isChecked():
74-
clickedItem.setCheckState(Qt.Checked)
75-
else:
76-
model.item(prevIndex).setCheckState(Qt.Unchecked)
77-
clickedItem.setCheckState(Qt.Checked)
78-
7958
def addItem(self):
8059
model = self.lstItems.model()
8160

8261
item = QStandardItem('new item')
8362
item.setCheckable(True)
84-
item.setCheckState(Qt.Unchecked)
8563
item.setDropEnabled(False)
8664

8765
model.appendRow(item)
@@ -122,24 +100,19 @@ def allowMultiple(self):
122100
def setOptions(self, options):
123101
model = self.lstItems.model()
124102
for i in options:
125-
item = QStandardItem()
103+
item = QStandardItem(i)
126104
item.setCheckable(True)
127-
item.setCheckState(Qt.Unchecked)
128105
item.setDropEnabled(False)
129106

130107
model.appendRow(item)
131108

132-
def setDefault(self, index):
109+
def setDefault(self, indexes):
133110
model = self.lstItems.model()
134-
item = model.item(index, 0)
135-
if item:
136-
item.setCheckState(Qt.Checked)
111+
112+
for i in indexes:
113+
item = model.item(i)
114+
if item:
115+
item.setCheckState(Qt.Checked)
137116

138117
def setAllowMultiple(self, allowMultiple):
139118
self.chkAllowMultiple.setChecked(allowMultiple)
140-
141-
model = self.lstItems.model()
142-
for i in range(model.rowCount()):
143-
if model.item(i).checkState() == Qt.Checked:
144-
model.item(i).setCheckState(Qt.Unchecked)
145-
break

python/plugins/processing/modeler/ModelerParameterDefinitionDialog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ def setupUi(self):
281281
self.widget = EnumModelerWidget(self)
282282
if self.param is not None:
283283
self.widget.setOptions(self.param.options())
284-
self.widget.setDefault(int(self.param.defaultValue()))
284+
self.widget.setDefault(self.param.defaultValue())
285285
self.widget.setAllowMultiple(bool(self.param.allowMultiple()))
286286
self.verticalLayout.addWidget(self.widget)
287287
elif self.paramType == parameters.PARAMETER_MATRIX or \

0 commit comments

Comments
 (0)