Sicherungscommit vor dem Aufraeumen des Repos, damit nachvollziehbar bleibt, welcher Stand vor der Bereinigung galt. Build gruen, 476 Tests gruen. Zwei Straenge, die sich ueber .csproj, Program.cs und appsettings.json ueberschneiden und darum gemeinsam abgelegt werden: Deploymentcenter-Integration (P3c, Plan D-0 bis D-5 code-seitig fertig): - Deploymentcenter.Client 2.5.0 als lokales Paket, Source-Mapping erweitert - DeploymentcenterOptions, DeploymentcenterErrorReporter, LicenseGate/LicenseCli - WatchdogHeartbeatService auf die Deploymentcenter-API umgestellt (version, os, checks, metrics, status stopped) - Security: MasterKeyResolver, SecretRedactor, FilePermissions - Directory.Build.props mit zentraler Version 0.1.0 (Packager-Versionsdisziplin) - deploy/: Packager-Vorlage und systemd-Unit; echte Zugangsdaten bleiben ueber .gitignore aussen vor - setup.json fuer die Erstinstallation - UMSETZUNGSPLAN-Deploymentcenter-Integration.md; ANALYSE-Linux-Portierung.md verweist auf den neuen Plan Einfenster-Shell (UI-Redesign): - ShellWindow + ShellNavModel als Seitenleisten-Shell - WindowMenuBar und WindowMenuModel entfallen - Modul- und Kernfenster auf die Shell-Einbettung angepasst Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
77 lines
4.3 KiB
XML
77 lines
4.3 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="using:PolyTrader.App.Avalonia.Controls"
|
|
xmlns:models="using:PolyTraderSharp.Models"
|
|
x:Class="PolyTrader.App.Avalonia.Views.SettingsWindow">
|
|
|
|
<!--
|
|
Einstellungen. Ersetzt die beiden PropertyGrids der WinForms-Fassung durch den
|
|
kategorisierten SettingsEditor (Überschrift, Beschriftung links, Feld rechts,
|
|
Erklärung klein darunter).
|
|
-->
|
|
<DockPanel>
|
|
<Border Classes="statusbar" DockPanel.Dock="Bottom">
|
|
<TextBlock Name="lblStatus" Text="Bereit." />
|
|
</Border>
|
|
|
|
<TabControl>
|
|
|
|
<TabItem Header="Allgemeine Einstellungen">
|
|
<DockPanel>
|
|
<Border Classes="toolbar" DockPanel.Dock="Top">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button Name="btnSave" Content="Speichern" />
|
|
<Button Name="btnReload" Content="Neu laden" />
|
|
<Separator Margin="6,0" />
|
|
<Button Name="btnGenMasterKey" Content="Master-Key erzeugen"
|
|
ToolTip.Tip="Erzeugt einen zufälligen AES-Master-Key (nur wenn noch keiner existiert)." />
|
|
<Button Name="btnOpenRouterKey" Content="OpenRouter-Key setzen …"
|
|
ToolTip.Tip="Speichert den OpenRouter-API-Key für den Supervisor (gitignorierte Datei openrouter.key)." />
|
|
<Button Name="btnWatchdogToken" Content="Watchdog-Token setzen …"
|
|
ToolTip.Tip="Speichert den Watchdog-Agent-Token (maskierte Eingabe, bei gesetztem Master-Key verschlüsselt)." />
|
|
<Button Name="btnTestWatchdog" Content="Test-Heartbeat senden"
|
|
ToolTip.Tip="Sendet sofort einen Heartbeat an den konfigurierten Watchdog-Server." />
|
|
<Separator Margin="6,0" />
|
|
<Button Name="btnLicenseKey" Content="Lizenzschlüssel setzen …"
|
|
ToolTip.Tip="Speichert den Deploymentcenter-Lizenzschlüssel (maskierte Eingabe, bei gesetztem Master-Key verschlüsselt)." />
|
|
<Button Name="btnCheckLicense" Content="Lizenz jetzt prüfen"
|
|
ToolTip.Tip="Prüft den gespeicherten Lizenzschlüssel gegen das Deploymentcenter und zeigt Status sowie Hardware-ID." />
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<controls:SettingsEditor Name="editorServer" />
|
|
</DockPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Polymarket Accounts">
|
|
<DockPanel>
|
|
<Border Classes="toolbar" DockPanel.Dock="Top">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Button Name="btnAccNew" Content="Neuer Account" />
|
|
<Button Name="btnAccDelete" Content="Löschen" />
|
|
<Button Name="btnAccSave" Content="Account speichern" />
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Grid ColumnDefinitions="380,4,*">
|
|
<DataGrid Name="gridAccounts" Grid.Column="0" x:DataType="models:AccountState">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="#" Width="50" Binding="{Binding AccountId}" />
|
|
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}" />
|
|
<DataGridCheckBoxColumn Header="Demo" Width="60" Binding="{Binding IsDemo}" />
|
|
<DataGridCheckBoxColumn Header="Aktiv" Width="60" Binding="{Binding IsActive}" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
|
|
<GridSplitter Grid.Column="1" Background="{DynamicResource AppBorderBrush}" />
|
|
|
|
<controls:SettingsEditor Name="editorAccount" Grid.Column="2" />
|
|
</Grid>
|
|
</DockPanel>
|
|
</TabItem>
|
|
|
|
</TabControl>
|
|
</DockPanel>
|
|
|
|
</UserControl>
|