Editierbares Namensfeld, Duplikatsprüfung über Pfad, pfadgenaue Prozesserkennung #2

Merged
DasAoD merged 1 commit from feature/editable-program-name into main 2026-08-18 14:58:13 +02:00
Owner

Löst #1

Änderungen

  • Add-/Edit-Dialog: neues, frei editierbares Namensfeld statt Name = automatisch aus Pfad. Vorschlag bleibt der Dateiname, ist aber änderbar.
  • Duplikatsprüfung beim Hinzufügen/Bearbeiten läuft über den vollständigen Pfad statt über den Namen — zwei Einträge mit gleichem Dateinamen an unterschiedlichen Speicherorten sind jetzt erlaubt.
  • Neues internes ProcessName-Feld (weiterhin automatisch aus dem Dateinamen abgeleitet) für die Prozessüberwachung, getrennt vom frei wählbaren Name.
  • is_process_running() vergleicht zusätzlich zum Prozessnamen den vollständigen Pfad (proc.exe()), damit zwei identische .exe-Dateien an unterschiedlichen Orten sauber unterschieden werden. Fällt auf reinen Namensvergleich zurück, falls der Pfad eines laufenden Prozesses nicht ermittelbar ist (z. B. AccessDenied).
  • Migration: Fehlt ProcessName in einer bestehenden watchdog.ini (ältere Version), wird es beim Laden automatisch aus Path abgeleitet — keine manuelle Anpassung nötig.
  • Alle 7 Sprachdateien (de, en, fr, hu, cz, es, it) konsistent mit neuen/geänderten Texten aktualisiert.

Getestet

  • python -m py_compile watchdog.py — Syntax OK
  • Alle 7 lang/*.json als valides JSON geprüft
  • Smoke-Test (Modul isoliert importiert, ohne GUI zu starten):
    • Migration: altes INI-Format ohne ProcessName lädt korrekt, process_name wird aus Path abgeleitet
    • Zwei Einträge mit identischem Dateinamen an unterschiedlichen Pfaden werden beide korrekt geladen
    • is_process_running() erkennt Name+Pfad-Kombination sowie den Namens-Fallback korrekt

🤖 Generated with Claude Code

Löst #1 ## Änderungen - Add-/Edit-Dialog: neues, frei editierbares Namensfeld statt Name = automatisch aus Pfad. Vorschlag bleibt der Dateiname, ist aber änderbar. - Duplikatsprüfung beim Hinzufügen/Bearbeiten läuft über den vollständigen Pfad statt über den Namen — zwei Einträge mit gleichem Dateinamen an unterschiedlichen Speicherorten sind jetzt erlaubt. - Neues internes `ProcessName`-Feld (weiterhin automatisch aus dem Dateinamen abgeleitet) für die Prozessüberwachung, getrennt vom frei wählbaren `Name`. - `is_process_running()` vergleicht zusätzlich zum Prozessnamen den vollständigen Pfad (`proc.exe()`), damit zwei identische .exe-Dateien an unterschiedlichen Orten sauber unterschieden werden. Fällt auf reinen Namensvergleich zurück, falls der Pfad eines laufenden Prozesses nicht ermittelbar ist (z. B. `AccessDenied`). - Migration: Fehlt `ProcessName` in einer bestehenden `watchdog.ini` (ältere Version), wird es beim Laden automatisch aus `Path` abgeleitet — keine manuelle Anpassung nötig. - Alle 7 Sprachdateien (`de, en, fr, hu, cz, es, it`) konsistent mit neuen/geänderten Texten aktualisiert. ## Getestet - `python -m py_compile watchdog.py` — Syntax OK - Alle 7 `lang/*.json` als valides JSON geprüft - Smoke-Test (Modul isoliert importiert, ohne GUI zu starten): - Migration: altes INI-Format ohne `ProcessName` lädt korrekt, `process_name` wird aus `Path` abgeleitet - Zwei Einträge mit identischem Dateinamen an unterschiedlichen Pfaden werden beide korrekt geladen - `is_process_running()` erkennt Name+Pfad-Kombination sowie den Namens-Fallback korrekt 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Add editable Name field to Add/Edit dialogs instead of deriving it from the path; duplicate check now compares full path instead of name
- Match running processes by process name + full path (name-only fallback) so identical filenames at different locations are told apart
- Store ProcessName in INI, migrate existing configs by deriving it from Path when missing
- Update all 7 language files with the new/changed strings

Co-authored-by: Claude <claude@anthropic.com>
DasAoD merged commit 7e7cc1ca30 into main 2026-08-18 14:58:13 +02:00
Sign in to join this conversation.
No description provided.