File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
python/plugins/processing/gui Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,27 @@ def __init__(self, parent=None):
5454
5555 self .lstItems .setModel (QStandardItemModel ())
5656
57+ self .lstItems .clicked .connect (self .handleCheckbox )
58+
59+ def handleCheckbox (self , index ):
60+ model = self .lstItems .model ()
61+ clickedItem = model .itemFromIndex (index )
62+
63+ prevIndex = None
64+ for i in range (model .rowCount ()):
65+ if model .item (i ).checkState () == Qt .Checked :
66+ prevIndex = i
67+ break
68+
69+ if prevIndex is None :
70+ clickedItem .setCheckState (Qt .Checked )
71+ else :
72+ if self .chkAllowMultiple .isChecked ():
73+ clickedItem .setCheckState (Qt .Checked )
74+ else :
75+ model .item (prevIndex ).setCheckState (Qt .Unchecked )
76+ clickedItem .setCheckState (Qt .Checked )
77+
5778 def addItem (self ):
5879 model = self .lstItems .model ()
5980
@@ -113,3 +134,9 @@ def setDefault(self, index):
113134
114135 def setAllowMultiple (self , allowMultiple ):
115136 self .chkAllowMultiple .setChecked (allowMultiple )
137+
138+ model = self .lstItems .model ()
139+ for i in range (model .rowCount ()):
140+ if model .item (i ).checkState () == Qt .Checked :
141+ model .item (i ).setCheckState (Qt .Unchecked )
142+ break
You can’t perform that action at this time.
0 commit comments