Mesen2/UI/App.axaml.cs
2023-01-25 16:03:56 -05:00

45 lines
1.1 KiB
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Controls.Platform;
using Avalonia.Markup.Xaml;
using Mesen.Config;
using Mesen.Interop;
using Mesen.Localization;
using Mesen.Utilities;
using Mesen.ViewModels;
using Mesen.Windows;
using System.IO;
using System.Reflection;
namespace Mesen
{
public class App : Application
{
public static bool ShowConfigWindow { get; set; }
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
StyleHelper.LoadStartupStyles();
if(Design.IsDesignMode) {
StyleHelper.ApplyTheme(MesenTheme.Light);
StyleHelper.LoadDebuggerStyles();
}
ResourceHelper.LoadResources();
}
public override void OnFrameworkInitializationCompleted()
{
if(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) {
if(ShowConfigWindow) {
StyleHelper.ApplyTheme(MesenTheme.Light);
desktop.MainWindow = new SetupWizardWindow();
} else {
desktop.MainWindow = new MainWindow();
}
}
base.OnFrameworkInitializationCompleted();
}
}
}