diff --git a/fixtracks/widgets/tracks.py b/fixtracks/widgets/tracks.py index 44bf044..5c600d7 100644 --- a/fixtracks/widgets/tracks.py +++ b/fixtracks/widgets/tracks.py @@ -4,7 +4,8 @@ import numpy as np from PySide6.QtCore import Qt, QThreadPool, Signal from PySide6.QtGui import QImage, QBrush, QColor from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QSizePolicy, QComboBox -from PySide6.QtWidgets import QSpinBox, QSpacerItem, QProgressBar, QSplitter, QGridLayout, QFileDialog, QGridLayout +from PySide6.QtWidgets import QSpinBox, QSpacerItem, QProgressBar, QSplitter, QFileDialog, QMessageBox + from fixtracks.utils.reader import PickleLoader from fixtracks.utils.writer import PickleWriter @@ -282,14 +283,30 @@ class FixTracks(QWidget): def on_revertUserFlags(self): logging.debug("Tracks:revert ALL UserFlags and track assignments") - self._data.revertUserLabeledStatus() - self._data.revertTrackAssignments() + msg_box = QMessageBox() + msg_box.setIcon(QMessageBox.Icon.Warning) + msg_box.setText(f"Are you sure you want to revert ALL track assignments?") + msg_box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + msg_box.setDefaultButton(QMessageBox.StandardButton.No) + ret = msg_box.exec() + + if ret == QMessageBox.StandardButton.Yes: + self._data.revertUserLabeledStatus() + self._data.revertTrackAssignments() self._timeline.update() self.update() def on_deleteDetection(self): - logging.warning("Tracks:delete detections is currently not supported!") - # self._data.deleteDetections() + logging.info("Tracks:deleting detections!") + msg_box = QMessageBox() + msg_box.setIcon(QMessageBox.Icon.Warning) + msg_box.setText(f"Are you sure you want to delete the selected ({len(self._data.selectionIndices)})detections?") + msg_box.setStandardButtons(QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No) + msg_box.setDefaultButton(QMessageBox.StandardButton.No) + ret = msg_box.exec() + + if ret == QMessageBox.StandardButton.Yes: + self._data.deleteDetections() self._timeline.update() self.update()