Skip to content

Commit 223a903

Browse files
chore(Tree): allow multiselect mode to toggle item (#441)
1 parent 9fe249c commit 223a903

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

libs/pyTermTk/TermTk/TTkWidgets/TTkModelView/treewidget.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -467,15 +467,19 @@ def mousePressEvent(self, evt:TTkMouseEvent) -> bool:
467467
self.itemCollapsed.emit(item)
468468
else:
469469
if self._selectionMode in (TTkK.SelectionMode.SingleSelection,TTkK.SelectionMode.MultiSelection):
470-
if not (
471-
bool(evt.mod & TTkK.ControlModifier) and
472-
self._selectionMode == TTkK.SelectionMode.MultiSelection ):
470+
_multiSelect = self._selectionMode == TTkK.SelectionMode.MultiSelection
471+
if not ( bool(evt.mod & TTkK.ControlModifier) and _multiSelect ):
473472
for _s in self._selected:
474473
_s.setSelected(False)
475474
self._selected.clear()
476475
self._selectedId = y
477-
self._selected.append(item)
478-
item.setSelected(True)
476+
# Unselect Items if already selected in multiselect mode
477+
if item in self._selected and _multiSelect:
478+
self._selected.remove(item)
479+
item.setSelected(False)
480+
else:
481+
self._selected.append(item)
482+
item.setSelected(True)
479483
col = -1
480484
for i, c in enumerate(self._columnsPos):
481485
if x < c:

0 commit comments

Comments
 (0)