From e0132ed2012c3fb2fb2a933f2483524e11b2ee0c Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 21 Feb 2023 17:11:35 +0100 Subject: [PATCH] gui: clear tree selection by clicking into empty space Change-Id: Ib065feeffa8636ee0b3160d7612f069057ef6b0e Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30492 Tested-by: Jenkins Automated Tests Reviewed-by: Alexander Zaft Reviewed-by: Georg Brandl --- frappy/gui/moduleoverview.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/frappy/gui/moduleoverview.py b/frappy/gui/moduleoverview.py index 92a065e..1c6948c 100644 --- a/frappy/gui/moduleoverview.py +++ b/frappy/gui/moduleoverview.py @@ -134,9 +134,15 @@ class ModuleOverview(QTreeWidget): self.currentItemChanged.connect(self.handleCurrentItemChanged) #self.itemDoubleClicked.connect(self.handleDoubleClick) - # def handleDoubleClick(self, item, column): - # if item.hasTarget() and column == 2: - # self.editItem(item, column) + # def handleDoubleClick(self, item, column): + # if item.hasTarget() and column == 2: + # self.editItem(item, column) + + def mouseReleaseEvent(self, event): + if event.button() == Qt.MouseButton.LeftButton: + if self.itemAt(event.pos()) is None: + self.clearTreeSelection() + return super().mouseReleaseEvent(event) def handleCurrentItemChanged(self, current, previous): if previous is None or self.last_was_clear: @@ -175,7 +181,10 @@ class ModuleOverview(QTreeWidget): self.resizeColumnToContents(i) def clearTreeSelection(self): - prev = self.selectedItems()[0] + selected = self.selectedItems() + if not selected: + return + prev = selected[0] pmod, pparam = prev.module, prev.param self.clearSelection() self.itemChanged.emit('', '', pmod, pparam)