feat: delete-export right-click and partial scan export on selection
- Right-click on exported (green) rows shows "Delete export" to wipe associated clip files, annotations, DB rows and empty vid folders; scan panel, markers and playlist badge refresh afterwards. - Exporting with rows selected in the scan panel now runs a partial export: prior scan exports are preserved, and the area index for new clip filenames is offset past existing a-suffixes in the vid folder to avoid collisions. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+15
@@ -418,6 +418,21 @@ class ProcessedDB:
|
||||
pass
|
||||
return max_n
|
||||
|
||||
def get_scan_export_rep_paths_in_range(self, filename: str, profile: str,
|
||||
start: float, end: float) -> list[str]:
|
||||
"""Return one representative output_path per distinct scan-export
|
||||
start_time inside [start, end] for (filename, profile)."""
|
||||
if not self._enabled:
|
||||
return []
|
||||
rows = self._con.execute(
|
||||
"SELECT output_path FROM processed"
|
||||
" WHERE filename = ? AND profile = ? AND scan_export = 1"
|
||||
" AND start_time BETWEEN ? AND ?"
|
||||
" GROUP BY start_time",
|
||||
(filename, profile, start, end),
|
||||
).fetchall()
|
||||
return [r[0] for r in rows]
|
||||
|
||||
def get_scan_export_times(self, filename: str, profile: str) -> list[float]:
|
||||
"""Return start_times of scan_export=1 rows for this file/profile."""
|
||||
if not self._enabled:
|
||||
|
||||
Reference in New Issue
Block a user