ps2_manager/PS2_Manager/App.axaml.cs
2025-04-22 00:27:17 +02:00

49 lines
No EOL
1.3 KiB
C#

using System;
using System.Text.Json;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using PS2_Manager.Core;
namespace PS2_Manager;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
Globals.LoadSettings();
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
if (String.IsNullOrEmpty(settings.library_path.GetValue<string>()))
{
var setupWindow = new Setup();
setupWindow.Closed += (_, _) =>
{
// Replace MainWindow after setup finishes
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
var mainWindow = new MainWindow();
desktop.MainWindow = mainWindow;
mainWindow.Show();
}
};
desktop.MainWindow = setupWindow;
}
else
{
desktop.MainWindow = new MainWindow();
}
}
base.OnFrameworkInitializationCompleted();
}
}