Add undo/redo stack for tag operations (assign, remove, rename, merge) with Ctrl+Z/Ctrl+Y
This commit is contained in:
40
CHANGELOG.md
40
CHANGELOG.md
@@ -2,6 +2,46 @@
|
||||
|
||||
All notable changes to the Tagger project are documented in this file.
|
||||
|
||||
## [1.2.0] - 2026-04-09
|
||||
|
||||
### Added
|
||||
- **Undo/redo** - `Ctrl+Z` / `Ctrl+Y` vrátí/zopakuje tag operace (assign, remove, rename, merge)
|
||||
- Zásobník 50 kroků, čistí se při zavření složky
|
||||
- Edit menu zobrazuje popis poslední operace
|
||||
- Pokrývá: přiřazení tagu, odebrání tagu, přejmenování tagu/kategorie, sloučení tagu/kategorie
|
||||
- **CSFD cache** - Movie data cached in `.!tag` after first fetch, no re-fetching on reopen
|
||||
- `CSFDMovie.to_dict()` / `from_dict()` for serialization
|
||||
- `File.get_cached_movie()` - returns cached data without network access
|
||||
- Cache versioning (`CSFD_CACHE_VERSION`) for future schema invalidation
|
||||
- Cache invalidated automatically when CSFD URL changes
|
||||
- **Orphaned sidecar detection** - On folder scan, `.!tag` files without a matching media file are reported
|
||||
- `FileManager.on_orphaned_tags` callback for UI notification
|
||||
- `FileManager.find_orphaned_tags()` for manual scan
|
||||
- **OR/NOT tag filtering** - Extended `filter_files_by_tags()` with new parameters
|
||||
- `any_of` - file must have at least one of these tags (OR)
|
||||
- `must_not` - file must not have any of these tags (NOT)
|
||||
- Fully backward compatible
|
||||
- **ffprobe threading** - Video resolution detection now runs in background (`VideoResolutionWorker`)
|
||||
- Status bar shows live progress: `Zjišťuji rozlišení (3/12)…`
|
||||
- Menu action disabled during processing
|
||||
- **Export to CSV** - Soubor → "Exportovat do CSV..."
|
||||
- UTF-8 BOM encoding (Excel compatible)
|
||||
- Columns: filename, path, date, tags, CSFD URL, size
|
||||
- **Drag & drop** - Drag folder or file onto the app window to open it
|
||||
|
||||
### Changed
|
||||
- **Global config location** - Moved from app directory to `~/.config/Tagger/`
|
||||
- Automatic one-time migration from old location
|
||||
- Fixes crash on read-only PyInstaller build directories
|
||||
- **Python version** - Bumped to 3.14+
|
||||
|
||||
### Dependencies
|
||||
- Removed: Pillow (unused)
|
||||
- Moved: python-dotenv from dev to runtime dependencies
|
||||
|
||||
### Tests
|
||||
- 274 tests (all passing)
|
||||
|
||||
## [1.1.0] - 2026-01-23
|
||||
|
||||
### Changed
|
||||
|
||||
Reference in New Issue
Block a user