[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.QtCore import Qt, Signal, QSize
|
||||||
from PySide6.QtGui import QFont
|
from PySide6.QtGui import QFont
|
||||||
from PySide6.QtWidgets import QWidget, QLabel, QPushButton, QSizePolicy
|
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
|
from fixtracks.utils.styles import pushBtnStyle
|
||||||
|
|
||||||
@ -15,6 +15,7 @@ class SelectionControls(QWidget):
|
|||||||
assignTwo = Signal()
|
assignTwo = Signal()
|
||||||
assignOther = Signal()
|
assignOther = Signal()
|
||||||
accept = Signal()
|
accept = Signal()
|
||||||
|
accept_until = Signal()
|
||||||
unaccept = Signal()
|
unaccept = Signal()
|
||||||
delete = Signal()
|
delete = Signal()
|
||||||
revertall = Signal()
|
revertall = Signal()
|
||||||
@ -102,7 +103,7 @@ class SelectionControls(QWidget):
|
|||||||
acceptBtn.setFont(font)
|
acceptBtn.setFont(font)
|
||||||
acceptBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
acceptBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
|
||||||
acceptBtn.setStyleSheet(pushBtnStyle("darkgray"))
|
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)
|
acceptBtn.clicked.connect(self.on_Accept)
|
||||||
|
|
||||||
unacceptBtn = QPushButton("un-accept")
|
unacceptBtn = QPushButton("un-accept")
|
||||||
@ -210,7 +211,12 @@ class SelectionControls(QWidget):
|
|||||||
|
|
||||||
def on_Accept(self):
|
def on_Accept(self):
|
||||||
logging.debug("SelectionControl: accept AssignmentBtn")
|
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):
|
def on_Unaccept(self):
|
||||||
logging.debug("SelectionControl: revoke user assignmentBtn")
|
logging.debug("SelectionControl: revoke user assignmentBtn")
|
||||||
|
@ -74,6 +74,7 @@ class FixTracks(QWidget):
|
|||||||
self._controls_widget.fwd.connect(self.on_forward)
|
self._controls_widget.fwd.connect(self.on_forward)
|
||||||
self._controls_widget.back.connect(self.on_backward)
|
self._controls_widget.back.connect(self.on_backward)
|
||||||
self._controls_widget.accept.connect(self.on_setUserFlag)
|
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.unaccept.connect(self.on_unsetUserFlag)
|
||||||
self._controls_widget.delete.connect(self.on_deleteDetection)
|
self._controls_widget.delete.connect(self.on_deleteDetection)
|
||||||
self._controls_widget.revertall.connect(self.on_revertUserFlags)
|
self._controls_widget.revertall.connect(self.on_revertUserFlags)
|
||||||
@ -267,6 +268,12 @@ class FixTracks(QWidget):
|
|||||||
self._timeline.update()
|
self._timeline.update()
|
||||||
self.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):
|
def on_unsetUserFlag(self):
|
||||||
logging.debug("Tracks:unsetUserFlag")
|
logging.debug("Tracks:unsetUserFlag")
|
||||||
self._data.setUserLabeledStatus(False)
|
self._data.setUserLabeledStatus(False)
|
||||||
|
Loading…
Reference in New Issue
Block a user