2021-12-11 21:47:59 -05:00
|
|
|
using Avalonia;
|
|
|
|
using Avalonia.Controls.ApplicationLifetimes;
|
|
|
|
using Avalonia.Markup.Xaml;
|
|
|
|
using PatchClient.ViewModels;
|
|
|
|
using PatchClient.Views;
|
2023-09-04 16:12:31 -04:00
|
|
|
using ReactiveUI;
|
|
|
|
using System.Reactive;
|
|
|
|
using System;
|
|
|
|
using PatcherUtils.Model;
|
2021-12-11 21:47:59 -05:00
|
|
|
|
|
|
|
namespace PatchClient
|
|
|
|
{
|
|
|
|
public class App : Application
|
|
|
|
{
|
|
|
|
public override void Initialize()
|
|
|
|
{
|
|
|
|
AvaloniaXamlLoader.Load(this);
|
2023-09-04 16:12:31 -04:00
|
|
|
|
|
|
|
RxApp.DefaultExceptionHandler = Observer.Create<Exception>((exception) =>
|
|
|
|
{
|
|
|
|
PatchLogger.LogException(exception);
|
|
|
|
});
|
2021-12-11 21:47:59 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
public override void OnFrameworkInitializationCompleted()
|
|
|
|
{
|
|
|
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
|
|
|
{
|
2022-05-15 17:36:16 -04:00
|
|
|
bool autoClose = false;
|
|
|
|
|
2022-05-15 18:12:50 -04:00
|
|
|
if(desktop.Args != null && desktop.Args.Length >= 1 && desktop.Args[0]?.ToLower() == "autoclose")
|
2022-05-15 17:36:16 -04:00
|
|
|
autoClose = true;
|
|
|
|
|
2021-12-11 21:47:59 -05:00
|
|
|
desktop.MainWindow = new MainWindow
|
|
|
|
{
|
2022-05-15 17:36:16 -04:00
|
|
|
DataContext = new MainWindowViewModel(autoClose),
|
2021-12-11 21:47:59 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
base.OnFrameworkInitializationCompleted();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|