diff --git a/Orange/widgets/data/owrank.py b/Orange/widgets/data/owrank.py index 072ee647545..14ef5721f6e 100644 --- a/Orange/widgets/data/owrank.py +++ b/Orange/widgets/data/owrank.py @@ -8,7 +8,8 @@ import numpy as np from AnyQt.QtCore import ( - QItemSelection, QItemSelectionModel, QItemSelectionRange, Qt + QItemSelection, QItemSelectionModel, QItemSelectionRange, Qt, + pyqtSignal as Signal ) from AnyQt.QtGui import QFontMetrics from AnyQt.QtWidgets import ( @@ -76,6 +77,8 @@ def from_variable(cls, variable): class TableView(QTableView): + manualSelection = Signal() + def __init__(self, parent=None, **kwargs): super().__init__(parent=parent, selectionBehavior=QTableView.SelectRows, @@ -105,6 +108,10 @@ def setVHeaderFixedWidthFromLabel(self, max_label): width = QFontMetrics(header.font()).width(max_label) header.setFixedWidth(min(width + 40, 400)) + def mousePressEvent(self, event): + super().mousePressEvent(event) + self.manualSelection.emit() + class TableModel(PyTableModel): def __init__(self, *args, **kwargs): @@ -310,7 +317,7 @@ def __init__(self): def _set_select_manual(): self.setSelectionMethod(OWRank.SelectManual) - view.pressed.connect(_set_select_manual) + view.manualSelection.connect(_set_select_manual) view.verticalHeader().sectionClicked.connect(_set_select_manual) view.horizontalHeader().sectionClicked.connect(self.headerClick)