Split common and GUI code into separate projects

This commit is contained in:
Matt Nadareski
2021-07-05 13:20:06 -07:00
parent 30e4573be6
commit 4efc58d0ef
35 changed files with 54 additions and 23 deletions

View File

@@ -0,0 +1,42 @@
using System;
using System.Diagnostics;
using System.IO;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using RedBookPlayer.GUI;
namespace RedBookPlayer
{
public class App : Application
{
public static Settings Settings;
static App() =>
Directory.SetCurrentDirectory(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName));
public override void Initialize()
{
AppDomain.CurrentDomain.UnhandledException += (e, f) =>
{
Console.WriteLine(((Exception)f.ExceptionObject).ToString());
};
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
desktop.ShutdownMode = ShutdownMode.OnMainWindowClose;
Settings = Settings.Load("settings.json");
}
base.OnFrameworkInitializationCompleted();
}
}
}