2021-12-22 23:15:14 -05:00
|
|
|
using Avalonia;
|
|
|
|
using PatchGenerator.Models;
|
|
|
|
using ReactiveUI;
|
|
|
|
using Splat;
|
|
|
|
using System.Windows.Input;
|
2021-12-11 21:47:59 -05:00
|
|
|
|
|
|
|
namespace PatchGenerator.ViewModels
|
|
|
|
{
|
|
|
|
public class MainWindowViewModel : ViewModelBase
|
|
|
|
{
|
2021-12-22 23:15:14 -05:00
|
|
|
public ICommand CloseCommand => ReactiveCommand.Create(() =>
|
|
|
|
{
|
|
|
|
if (Application.Current.ApplicationLifetime is Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime desktopApp)
|
|
|
|
{
|
|
|
|
desktopApp.MainWindow.Close();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
public ViewNavigator navigator { get; set; } = new ViewNavigator();
|
2021-12-25 20:24:00 -05:00
|
|
|
public MainWindowViewModel(GenStartupArgs genArgs = null)
|
2021-12-22 23:15:14 -05:00
|
|
|
{
|
|
|
|
Locator.CurrentMutable.RegisterConstant(navigator, typeof(ViewNavigator));
|
2021-12-25 20:24:00 -05:00
|
|
|
|
|
|
|
if (genArgs != null && genArgs.ReadyToRun)
|
|
|
|
{
|
|
|
|
PatchGenInfo genInfo = new PatchGenInfo();
|
|
|
|
|
|
|
|
genInfo.TargetFolderPath = genArgs.TargetFolderPath;
|
|
|
|
genInfo.SourceFolderPath = genArgs.SourceFolderPath;
|
|
|
|
genInfo.PatchName = genArgs.OutputFolderName;
|
|
|
|
genInfo.AutoZip = genArgs.AutoZip;
|
|
|
|
|
|
|
|
navigator.SelectedViewModel = new PatchGenerationViewModel(genInfo);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
navigator.SelectedViewModel = new OptionsViewModel();
|
2021-12-22 23:15:14 -05:00
|
|
|
}
|
2021-12-11 21:47:59 -05:00
|
|
|
}
|
|
|
|
}
|