public MainWindow(InstanceType instance)
{
InitializeComponent();
var gallifrey = new Backend(instance);
modelHelpers = new ModelHelpers(gallifrey, FlyoutsControl);
exceptionlessHelper = new ExceptionlessHelper(modelHelpers);
exceptionlessHelper.RegisterExceptionless();
var viewModel = new MainViewModel(modelHelpers);
modelHelpers.RefreshModel();
modelHelpers.SelectRunningTimer();
DataContext = viewModel;
gallifrey.NoActivityEvent += GallifreyOnNoActivityEvent;
gallifrey.ExportPromptEvent += GallifreyOnExportPromptEvent;
SystemEvents.SessionSwitch += SessionSwitchHandler;
Height = gallifrey.Settings.UiSettings.Height;
Width = gallifrey.Settings.UiSettings.Width;
ThemeHelper.ChangeTheme(gallifrey.Settings.UiSettings.Theme, gallifrey.Settings.UiSettings.Accent);
if (gallifrey.VersionControl.IsAutomatedDeploy)
{
PerformUpdate(false, true);
var updateHeartbeat = new Timer(TimeSpan.FromMinutes(1).TotalMilliseconds);
updateHeartbeat.Elapsed += AutoUpdateCheck;
updateHeartbeat.Enabled = true;
}
var idleDetectionHeartbeat = new Timer(TimeSpan.FromSeconds(30).TotalMilliseconds);
idleDetectionHeartbeat.Elapsed += IdleDetectionCheck;
idleDetectionHeartbeat.Enabled = true;
var flyoutOpenCheck = new Timer(100);
flyoutOpenCheck.Elapsed += FlyoutOpenCheck;
flyoutOpenCheck.Enabled = true;
}