public MainWindow(InstanceType instance, AppType appType) { InitializeComponent(); var gallifrey = new Backend(instance, appType); 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; Title = gallifrey.VersionControl.AppName; ThemeHelper.ChangeTheme(gallifrey.Settings.UiSettings.Theme, gallifrey.Settings.UiSettings.Accent); if (gallifrey.VersionControl.IsAutomatedDeploy) { PerformUpdate(false, true); var updateHeartbeat = new Timer(60000); updateHeartbeat.Elapsed += AutoUpdateCheck; updateHeartbeat.Enabled = true; } }
private InitialiseResult Initialise() { if (Process.GetProcesses().Count(process => process.ProcessName.Contains("Gallifrey")) > 1) { return(InitialiseResult.MultipleGallifreyRunning); } if (!modelHelpers.Gallifrey.VersionControl.IsAutomatedDeploy && !Debugger.IsAttached) { return(InitialiseResult.DebuggerNotAttached); } try { using (var client = new WebClient()) { client.DownloadData("https://gallifrey-releases.blyth.me.uk"); } } catch { return(InitialiseResult.NoInternetConnection); } try { modelHelpers.Gallifrey.Initialise(); } catch (MissingConfigException) { return(InitialiseResult.NewUser); } catch (MissingJiraConfigException) { return(InitialiseResult.MissingConfig); } catch (JiraConnectionException) { return(InitialiseResult.JiraConnectionError); } catch (TempoConnectionException) { return(InitialiseResult.TempoConnectionError); } modelHelpers.RefreshModel(); modelHelpers.SelectRunningTimer(); return(InitialiseResult.Ok); }
public MainWindow(InstanceType instance) { InitializeComponent(); var gallifrey = new Backend(instance); modelHelpers = new ModelHelpers(gallifrey, FlyoutsControl); exceptionlessHelper = new ExceptionlessHelper(modelHelpers); exceptionlessHelper.RegisterExceptionless(); progressDialogHelper = new ProgressDialogHelper(modelHelpers.DialogContext); 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); updateHeartbeat = new Timer(TimeSpan.FromMinutes(1).TotalMilliseconds); updateHeartbeat.Elapsed += AutoUpdateCheck; idleDetectionHeartbeat = new Timer(TimeSpan.FromSeconds(30).TotalMilliseconds); idleDetectionHeartbeat.Elapsed += IdleDetectionCheck; flyoutOpenCheck = new Timer(100); flyoutOpenCheck.Elapsed += FlyoutOpenCheck; }