- Settings: neuer Toolbar-Button 'Master-Key erzeugen' (Tab General Settings, via Designer).
Erzeugt zufaelligen 32-Byte-AES-Key -> master.key (gitignored), nur aktiv wenn KEIN Key
existiert (Env-Var oder Datei), Lockout-Schutz + Backup-Warnung, danach deaktiviert.
- Einbezogen: laufende Designer-Umstrukturierung (SettingsView/LauncherForm: Button-Bilder
aus Properties.Resources statt eingebettet; dgv_accountlist im Launcher; DashboardView.resx).
- docs/steuer: US-CPA-Fragebogen als PDF.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ModuleView liefert jetzt ein Form (CreateForm statt CreateControl); die 4 Views
(Terminal, Settings, Jobs, Dashboard) von UserControl auf Form umgestellt
(im Designer als Fenster bearbeitbar). ViewHostForm entfernt.
- ShellUiHost verwaltet offene Forms: Einzelinstanz, bereits offenes Fenster wird
in den Vordergrund geholt, OpenStateChanged-Event.
- LauncherForm: Fenster-Buttons an View-IDs gebunden; offene Fenster werden am
Button markiert (Checked), erneuter Klick holt das Fenster nach vorn.
- Build 0 Fehler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Core: TradeRecord (Modell) + ITradeLogRepository (+ Mongo-Impl, Collection
"trade_log"), in AddCorePersistence registriert. Realisiert den generischen,
modulneutralen Trade-Log aus Entscheidung #2.
- Dual-Write: PersistenceService schreibt geschlossene Copy-Trades zusaetzlich als
generischen TradeRecord (ModuleName="CopyTrading").
- Neue DashboardView (UserControl + Designer): zeigt die letzten Trades ALLER
Module (GetRecent) mit Konto-Aufloesung + Kurzauswertung (Gesamt-PnL, Anzahl,
Aufschluesselung je Modul). btn_dashboard im Launcher, View "core.dashboard".
- Build 0 Fehler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Neue JobsView (UserControl + Designer): DataGridView an JobManager.Jobs,
Run-Now/Aktiv-Verhalten wie bisheriger Jobs-Tab. btn_jobs in toolstrip_windows,
als View "core.jobs" registriert.
- Trading-Toggle aus frm_main uebernommen: btn_liveTrading + btn_demoTrading in
toolstrip_quickbar; Zyklus Inactive->SellOnly->Active mit Farb-/Textstatus,
synchron zum TradingState (auch bei externen Aenderungen via 1s-Timer).
- Build 0 Fehler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- LauncherForm ist jetzt ein echtes Designer-Formular (LauncherForm.Designer.cs):
ListView + MenuStrip + Button im Designer platziert/bearbeitbar. Zur Laufzeit
werden nur noch ListView-Eintraege/Gruppen (DATEN) aus den registrierten Views
befuellt + Events verdrahtet — keine Steuerelemente mehr im Code erzeugt.
- TerminalView: Combo-Items, Button-Text/-Farbe in den Designer verlagert;
Konstruktor verdrahtet nur noch Verhalten.
- Inhaerente Ausnahme (Modul-System): die konkreten View-Eintraege sind Daten,
keine vorplatzierbaren Controls -> daher datengetriebene ListView.
- Build 0 Fehler.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>