Skip to content

Commit 96d174f

Browse files
authored
Merge pull request #5271 from janezd/rank-manual-selection
[FIX] Rank: Switch to manual selection on deselect
2 parents fc399e3 + 4cef10d commit 96d174f

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

Orange/widgets/data/owrank.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
import numpy as np
1010
from AnyQt.QtCore import (
11-
QItemSelection, QItemSelectionModel, QItemSelectionRange, Qt
11+
QItemSelection, QItemSelectionModel, QItemSelectionRange, Qt,
12+
pyqtSignal as Signal
1213
)
1314
from AnyQt.QtGui import QFontMetrics
1415
from AnyQt.QtWidgets import (
@@ -76,6 +77,8 @@ def from_variable(cls, variable):
7677

7778

7879
class TableView(QTableView):
80+
manualSelection = Signal()
81+
7982
def __init__(self, parent=None, **kwargs):
8083
super().__init__(parent=parent,
8184
selectionBehavior=QTableView.SelectRows,
@@ -105,6 +108,10 @@ def setVHeaderFixedWidthFromLabel(self, max_label):
105108
width = QFontMetrics(header.font()).width(max_label)
106109
header.setFixedWidth(min(width + 40, 400))
107110

111+
def mousePressEvent(self, event):
112+
super().mousePressEvent(event)
113+
self.manualSelection.emit()
114+
108115

109116
class TableModel(PyTableModel):
110117
def __init__(self, *args, **kwargs):
@@ -310,7 +317,7 @@ def __init__(self):
310317
def _set_select_manual():
311318
self.setSelectionMethod(OWRank.SelectManual)
312319

313-
view.pressed.connect(_set_select_manual)
320+
view.manualSelection.connect(_set_select_manual)
314321
view.verticalHeader().sectionClicked.connect(_set_select_manual)
315322
view.horizontalHeader().sectionClicked.connect(self.headerClick)
316323

0 commit comments

Comments
 (0)