[tracks] add way to flag many detections in one go
This commit is contained in:
parent
4ef6143d14
commit
0c5e5629b7
@ -4,7 +4,7 @@ import numpy as np
|
||||
from PySide6.QtCore import Qt, Signal, QSize
|
||||
from PySide6.QtGui import QFont
|
||||
from PySide6.QtWidgets import QWidget, QLabel, QPushButton, QSizePolicy
|
||||
from PySide6.QtWidgets import QGridLayout, QVBoxLayout
|
||||
from PySide6.QtWidgets import QGridLayout, QVBoxLayout, QApplication
|
||||
|
||||
from fixtracks.utils.styles import pushBtnStyle
|
||||
|
||||
@ -15,6 +15,7 @@ class SelectionControls(QWidget):
|
||||
assignTwo = Signal()
|
||||
assignOther = Signal()
|
||||
accept = Signal()
|
||||
accept_until = Signal()
|
||||
unaccept = Signal()
|
||||
delete = Signal()
|
||||
revertall = Signal()
|
||||
@ -102,7 +103,7 @@ class SelectionControls(QWidget):
|
||||
acceptBtn.setFont(font)
|
||||
acceptBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||
acceptBtn.setStyleSheet(pushBtnStyle("darkgray"))
|
||||
acceptBtn.setToolTip(f"Accept assignments of current selection as TRUE")
|
||||
acceptBtn.setToolTip(f"Accept assignments of current selection as TRUE, Hold shift while clicking to accept all until here.")
|
||||
acceptBtn.clicked.connect(self.on_Accept)
|
||||
|
||||
unacceptBtn = QPushButton("un-accept")
|
||||
@ -210,7 +211,12 @@ class SelectionControls(QWidget):
|
||||
|
||||
def on_Accept(self):
|
||||
logging.debug("SelectionControl: accept AssignmentBtn")
|
||||
self.accept.emit()
|
||||
modifiers = QApplication.keyboardModifiers()
|
||||
if modifiers == Qt.KeyboardModifier.ShiftModifier:
|
||||
logging.debug("Shift key was pressed during accept")
|
||||
self.accept_until.emit()
|
||||
else:
|
||||
self.accept.emit()
|
||||
|
||||
def on_Unaccept(self):
|
||||
logging.debug("SelectionControl: revoke user assignmentBtn")
|
||||
|
@ -74,6 +74,7 @@ class FixTracks(QWidget):
|
||||
self._controls_widget.fwd.connect(self.on_forward)
|
||||
self._controls_widget.back.connect(self.on_backward)
|
||||
self._controls_widget.accept.connect(self.on_setUserFlag)
|
||||
self._controls_widget.accept_until.connect(self.on_setUserFlagsUntil)
|
||||
self._controls_widget.unaccept.connect(self.on_unsetUserFlag)
|
||||
self._controls_widget.delete.connect(self.on_deleteDetection)
|
||||
self._controls_widget.revertall.connect(self.on_revertUserFlags)
|
||||
@ -267,6 +268,12 @@ class FixTracks(QWidget):
|
||||
self._timeline.update()
|
||||
self.update()
|
||||
|
||||
def on_setUserFlagsUntil(self):
|
||||
self._data.setSelectionRange("frame", 0, self._currentWindowPos + self._currentWindowWidth)
|
||||
self._data.setUserLabeledStatus(True)
|
||||
self._timeline.update()
|
||||
self.update()
|
||||
|
||||
def on_unsetUserFlag(self):
|
||||
logging.debug("Tracks:unsetUserFlag")
|
||||
self._data.setUserLabeledStatus(False)
|
||||
|
Loading…
Reference in New Issue
Block a user