wabbajack/Wabbajack/Views/MainWindow.xaml.cs

51 lines
1.3 KiB
C#
Raw Normal View History

2019-11-02 20:55:14 +00:00
using System;
using System.ComponentModel;
2019-07-22 22:17:46 +00:00
using System.Threading;
using System.Windows;
using Wabbajack.Common;
2019-09-27 04:07:54 +00:00
using Application = System.Windows.Application;
2019-07-22 22:17:46 +00:00
namespace Wabbajack
{
/// <summary>
2019-09-14 04:35:42 +00:00
/// Interaction logic for MainWindow.xaml
2019-07-22 22:17:46 +00:00
/// </summary>
public partial class MainWindow : Window
{
private MainWindowVM _mwvm;
2019-09-14 04:35:42 +00:00
2019-11-02 20:55:14 +00:00
public MainWindow()
{
string[] args = Environment.GetCommandLineArgs();
if (args.Length != 3) return;
var modlistPath = args[2];
Initialize(RunMode.Install, modlistPath);
}
2019-09-27 04:07:54 +00:00
public MainWindow(RunMode mode, string source)
2019-11-02 20:55:14 +00:00
{
Initialize(mode, source);
}
private void Initialize(RunMode mode, string source)
2019-07-22 22:17:46 +00:00
{
InitializeComponent();
2019-07-26 20:59:14 +00:00
_mwvm = new MainWindowVM(mode, source, this);
Utils.Log($"Wabbajack Build - {ThisAssembly.Git.Sha}");
this.DataContext = _mwvm;
2019-07-22 22:17:46 +00:00
}
2019-09-27 04:07:54 +00:00
internal bool ExitWhenClosing = true;
private void Window_Closing(object sender, CancelEventArgs e)
{
_mwvm.Dispose();
2019-09-27 04:07:54 +00:00
if (ExitWhenClosing)
{
2019-09-27 04:07:54 +00:00
Application.Current.Shutdown();
}
}
2019-07-22 22:17:46 +00:00
}
2019-09-14 04:35:42 +00:00
}