Mirrors the desktop DetailDialog's "Cover ändern…" button: opens the online search pre-filled with the item's title and auto-searches, but choosing a hit only replaces the item's cover URL instead of staging a full edit draft. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| android | ||
| resources | ||
| server | ||
| src | ||
| .gitignore | ||
| build-linux.sh | ||
| build-windows.sh | ||
| CMakeLists.txt | ||
| installer.nsi | ||
| README.md | ||
Ultimate Media Tracker
Ein hochgradig anpassbarer Tracker für Filme, Serien, Mangas, Bücher und Spiele – geschrieben in C++17 mit Qt 6. Behalte den Überblick darüber, was du gesehen/gelesen/gespielt hast, und zwar auf jeder Ebene: ganzes Werk, Staffel/Band oder einzelne Folge/Kapitel.
Features
- 5 Medientypen: Filme, Serien, Mangas, Bücher, Spiele
- Granularer Fortschritt: komplett · pro Staffel/Band · pro Folge/Kapitel (tri-state Häkchen-Baum, automatische „Abgeschlossen“-Erkennung)
- Automatische Titelbilder über Online-Provider, jederzeit per integrierter Suche austauschbar oder durch eigene Datei ersetzbar
- Mehrsprachige Titel pro Eintrag (de/en/ja/…), inkl. Originaltitel
- Online-Metadaten-Provider
- Filme & Serien: TMDB (kostenloser API-Key nötig)
- Bücher: OpenLibrary (kein Key)
- Mangas: AniList (kein Key)
- Umfangreiche Filter: Genre, Status, Bewertung, Jahr, Tags, Favoriten, Franchise (automatisch aus den Titeln erkannt, manuell überschreibbar), Volltextsuche, plus Sortierung (Datum/Titel/Bewertung/Jahr/Fortschritt)
- Geteilter TMDB-Zugang optional über einen OIDC-Proxy (siehe
server/): die Gruppe teilt sich einen API-Key, Login via Authentik - Customizability: eigene Tags, eigene Felder (Key/Value), eigene Strukturen (beliebige Abschnitte & Einheiten), anpassbare Kartengröße
- Modernes GUI mit Dark- & Light-Mode und frei wählbarer Akzentfarbe
- Bewertung als halbe-Sterne-Widget, Favoriten, Notizen, Beschreibung
- Lokale SQLite-Datenbank, Cover-Cache auf Platte
Bauen
Voraussetzungen: Qt 6 (Widgets, Network, Sql, Svg, Concurrent), CMake ≥ 3.21, ein C++17-Compiler, SQLite-Treiber (Teil von Qt).
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
./build/uwt
Identisch unter Linux und Windows (sowie macOS). Unter Windows wird das
Programm als GUI-App ohne Konsolenfenster gebaut und bekommt das App-Icon
eingebettet; unter Linux installiert cmake --install build zusätzlich einen
.desktop-Eintrag samt Icon.
Konfiguration
Öffne ⚙ Einstellungen:
- Design: Dunkel/Hell
- Akzentfarbe: frei wählbar
- Bevorzugte Sprache: bestimmt angezeigte Titel & Provider-Sprache
- Filme/Serien über: entweder eigener TMDB API-Key (kostenlos auf
themoviedb.org) oder ein Proxy-Server (URL + Token von dessen
Login-Seite – kein eigener Key nötig, siehe
server/) - Cover automatisch laden, Kartengröße
TMDB-Proxy (optional)
Im Verzeichnis server/ liegt ein kleiner Go-Server, der die TMDB-API hinter
OIDC/Authentik kapselt. So können Freunde die App nutzen, ohne sich je einen
eigenen TMDB-Key zu erstellen – der Server hält einen geteilten Key und gibt
nach dem Login ein persönliches Token aus. Details: server/README.md.
Daten
- Datenbank:
…/AppData/UMT/Ultimate Media Tracker/library.db - Cover-Bibliothek:
…/AppData/…/covers/ - (Pfade gemäß
QStandardPaths::AppDataLocation)
Architektur
src/
core/ Enums, MediaItem (Werk→Abschnitt→Einheit), Database (SQLite), Settings
providers/ MetadataProvider-Interface + TMDB/OpenLibrary/AniList, ImageCache
ui/ ThemeManager, MainWindow, MediaCard, FilterPanel, FlowLayout,
StarRating, DetailDialog, EditDialog, OnlineSearchDialog, SettingsDialog
Das Datenmodell ist generisch: Jedes Werk besteht aus Abschnitten (Staffel /
Band / Teil), die Einheiten (Folge / Kapitel) enthalten. Filme/Bücher ohne
Struktur nutzen einfach den Status Abgeschlossen.