Adding a file and feature to delete all detections from database
This commit is contained in:
@@ -66,6 +66,13 @@ class ResultsTab(QWidget):
|
||||
self.refresh_btn.clicked.connect(self.refresh)
|
||||
controls_layout.addWidget(self.refresh_btn)
|
||||
|
||||
self.delete_all_btn = QPushButton("Delete All Detections")
|
||||
self.delete_all_btn.setToolTip(
|
||||
"Permanently delete ALL detections from the database.\n" "This cannot be undone."
|
||||
)
|
||||
self.delete_all_btn.clicked.connect(self._delete_all_detections)
|
||||
controls_layout.addWidget(self.delete_all_btn)
|
||||
|
||||
self.export_labels_btn = QPushButton("Export Labels")
|
||||
self.export_labels_btn.setToolTip(
|
||||
"Export YOLO .txt labels for the selected image/model run.\n"
|
||||
@@ -139,6 +146,41 @@ class ResultsTab(QWidget):
|
||||
layout.addWidget(splitter)
|
||||
self.setLayout(layout)
|
||||
|
||||
def _delete_all_detections(self):
|
||||
"""Delete all detections from the database after user confirmation."""
|
||||
confirm = QMessageBox.warning(
|
||||
self,
|
||||
"Delete All Detections",
|
||||
"This will permanently delete ALL detections from the database.\n\n"
|
||||
"This action cannot be undone.\n\n"
|
||||
"Do you want to continue?",
|
||||
QMessageBox.Yes | QMessageBox.No,
|
||||
QMessageBox.No,
|
||||
)
|
||||
|
||||
if confirm != QMessageBox.Yes:
|
||||
return
|
||||
|
||||
try:
|
||||
deleted = self.db_manager.delete_all_detections()
|
||||
except Exception as exc:
|
||||
logger.error(f"Failed to delete all detections: {exc}")
|
||||
QMessageBox.critical(
|
||||
self,
|
||||
"Error",
|
||||
f"Failed to delete detections:\n{exc}",
|
||||
)
|
||||
return
|
||||
|
||||
QMessageBox.information(
|
||||
self,
|
||||
"Delete All Detections",
|
||||
f"Deleted {deleted} detection(s) from the database.",
|
||||
)
|
||||
|
||||
# Reset UI state.
|
||||
self.refresh()
|
||||
|
||||
def refresh(self):
|
||||
"""Refresh the detection list and preview."""
|
||||
self._load_detection_summary()
|
||||
|
||||
Reference in New Issue
Block a user