Build ohne Warnungen, Kalendersymbol unter Linux sichtbar
CI / Build & Tests (Linux) (push) Canceled after 0s
CI / Plattformneutralität & Hygiene (push) Canceled after 0s

#155: Die 15 Build-Warnungen sind beseitigt, keine davon war ein echter Fehler.
- CS8848 (DashboardWindow): Klammern um "as string" vor dem switch; die
  Auswertung war schon richtig, jetzt ist sie auch eindeutig lesbar
- CS8602 (PdfExporter): Style "Normal" legt MigraDoc immer an
- 13x CS8618: Felder, die nur der parameterlose XAML-Konstruktor offen laesst

#50: Fluent zeichnet das Kalenderblatt im CalendarDatePicker als 0,5-px-Rahmen.
Unter Linux (Skalierung 1,0) fiel er weg, uebrig blieben Tageszahl und Punkt.
Eigener Style mit Kalenderblatt aus ganzen Pixeln. Auf der VM in beiden
Farbschemata geprueft; der Kalender klappt weiterhin auf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-09-15 11:03:34 +02:00
co-authored by Claude Opus 5
parent b4d8a2a647
commit 23794304e6
6 changed files with 50 additions and 22 deletions
@@ -125,7 +125,7 @@ namespace PolyTrader.App.Avalonia.Views
int accId = (this.FindControl<ComboBox>("cbAccount")!.SelectedItem as FilterAccount)?.Id ?? -1;
string module = this.FindControl<ComboBox>("cbModule")!.SelectedItem as string ?? "Alle Module";
string mode = this.FindControl<ComboBox>("cbMode")!.SelectedItem as string ?? "Alle";
int? days = this.FindControl<ComboBox>("cbRange")!.SelectedItem as string switch
int? days = (this.FindControl<ComboBox>("cbRange")!.SelectedItem as string) switch
{
"7 Tage" => 7,
"30 Tage" => 30,
@@ -40,9 +40,11 @@ namespace PolyTrader.App.Avalonia.Views
/// </summary>
public partial class LauncherWindow : UserControl
{
private readonly IModuleUiHost _uiHost;
private readonly IServiceProvider _services;
private readonly TradingState _state;
// "= null!": Der parameterlose Konstruktor gibt es nur für den XAML-Lader und Previewer; im Betrieb
// setzt der Konstruktor mit Diensten alle drei. Beseitigt drei der 15 Build-Warnungen (#155).
private readonly IModuleUiHost _uiHost = null!;
private readonly IServiceProvider _services = null!;
private readonly TradingState _state = null!;
private readonly DispatcherTimer _statusTimer = new() { Interval = TimeSpan.FromSeconds(1) };
private readonly ObservableCollection<ViewTile> _windowButtons = new();
private readonly ObservableCollection<AccountOverviewRow> _accountRows = new();
@@ -24,11 +24,13 @@ namespace PolyTrader.App.Avalonia.Views.Modules
private readonly ObservableCollection<CopyOpenTradeRow> _openTrades = new();
private readonly ObservableCollection<CopyClosedTradeRow> _closedTrades = new();
private readonly TradingState _state;
private readonly CopyTradingState _copyState;
private readonly ITrackedTraderRepository _traderRepo;
private readonly ICopyTradingAccountSettingsRepository _settingsRepo;
private readonly ICopyTradeLogRepository _tradeLog;
// "= null!": Der parameterlose Konstruktor gibt es nur für den XAML-Lader und Previewer; im Betrieb
// setzt der Konstruktor mit Diensten alle Felder (#155).
private readonly TradingState _state = null!;
private readonly CopyTradingState _copyState = null!;
private readonly ITrackedTraderRepository _traderRepo = null!;
private readonly ICopyTradingAccountSettingsRepository _settingsRepo = null!;
private readonly ICopyTradeLogRepository _tradeLog = null!;
private List<CopyClosedTradeRow> _closedBase = new();
private bool _loading;
@@ -21,11 +21,13 @@ namespace PolyTrader.App.Avalonia.Views.Modules
private readonly ObservableCollection<RfPosition> _positions = new();
private readonly ObservableCollection<RfClosedTrade> _history = new();
private readonly TradingState _state;
private readonly IRfCandidateRepository _candidateRepo;
private readonly IRfPositionRepository _positionRepo;
private readonly IRfClosedTradeRepository _closedRepo;
private readonly IRfSettingsRepository _settingsRepo;
// "= null!": Der parameterlose Konstruktor gibt es nur für den XAML-Lader und Previewer; im Betrieb
// setzt der Konstruktor mit Diensten alle Felder (#155).
private readonly TradingState _state = null!;
private readonly IRfCandidateRepository _candidateRepo = null!;
private readonly IRfPositionRepository _positionRepo = null!;
private readonly IRfClosedTradeRepository _closedRepo = null!;
private readonly IRfSettingsRepository _settingsRepo = null!;
private RfSettings? _currentSettings;