Commit Graph

8 Commits

Author SHA1 Message Date
info f380828309 refactor: Windows-Hotkey-Record in eigenes Modul auslagern 2026-04-11 21:13:10 +02:00
info 64bd584181 refactor: rename Win32TrayApp to PystrayApp 2026-04-11 21:09:39 +02:00
info ad60da4a38 feat: add create_tray() factory with platform dispatch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 21:17:05 +02:00
info cba0340c76 feat: add SettingsDialog with hotkey recording and microphone selection
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 21:15:34 +02:00
info 32c40827e0 feat: add hotkey conflict detection and microphone listing helpers
Implementiere drei Hilfsfunktionen in _settings.py:
- check_hotkey_conflict(): Prüft mit Win32 RegisterHotKey ob eine Taste belegt ist
- list_microphones(): Gibt alle Eingabegeräte als (name, index) Tupel zurück
- pynput_to_evdev_key(): Konvertiert pynput Keys zu evdev Key-Namen

Alle Tests (9 neue + 9 existierende) bestehen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 21:13:00 +02:00
info 2630d4c7a5 feat: add system theme detection for sv-ttk 2026-04-10 21:11:18 +02:00
info 9a1b96d178 feat: add Win32TrayApp and NoOpTray with state management 2026-04-10 21:09:10 +02:00
info eb74e4787f feat: add AppState enum and programmatic tray icon generation
Implements Task 5 of the TDD plan: creates the tray package with
AppState enum (WAITING, RECORDING, TRANSCRIBING) and a create_icon()
function that generates colorized microphone icons via Pillow.

- whisper_local/tray/__init__.py: empty package marker
- whisper_local/tray/_tray.py: AppState enum
- whisper_local/tray/_icon.py: icon generation with state-specific colors
- tests/test_tray.py: comprehensive test coverage for icon creation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 21:07:48 +02:00