static void Main(string[] args) { //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; Platform.PreHandleFormInit(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Update settings if needed /*if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; }*/ //Load startup options var options = StartupOptions.Factory.CreateOptions(args); string optionsMessage = options.DebugMessage; if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed var dlg = new CommandLineReportForm(options.Status, optionsMessage); dlg.ShowDialog(); } if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) return; //Load language //Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; //Show form using (_mainForm = new MainForm(options)) { Alpha oAlpha = new Alpha(); Thread oThread = new Thread(new ThreadStart(oAlpha.Beta)); oThread.Start(); //Enter GUI loop Application.Run(_mainForm); //Persist settings Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; Settings.Default.Save(); } }
static void Main(string[] args) { //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; Platform.PreHandleFormInit(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } //Load startup options var options = StartupOptions.Factory.CreateOptions(args); string optionsMessage = options.DebugMessage; if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed var dlg = new CommandLineReportForm(options.Status, optionsMessage); dlg.ShowDialog(); } if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) return; //Load language Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; //Show form using (_mainForm = new MainForm(options)) { Application.Idle += _handlerIdleUpdater; //Enter GUI loop Application.Run(_mainForm); //HACK: re-enable chrome to fix position persistence (ideally, chrome status should be stored and restored - but this is not always possible) if (!_mainForm.IsChromeVisible) _mainForm.IsChromeVisible = true; //Persist settings System.Diagnostics.Trace.WriteLine(string.Format("Persisting {0} size {1} to settings.", _mainForm.Location, _mainForm.ClientSize)); Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; Settings.Default.Save(); } }
static void Main(string[] args) { //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; Platform.PreHandleFormInit(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } //Load startup options var options = StartupOptions.Factory.CreateOptions(args); string optionsMessage = options.DebugMessage; if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed var dlg = new CommandLineReportForm(options.Status, optionsMessage); dlg.ShowDialog(); } if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) return; //Load language Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; //Show form using (_mainForm = new MainForm(options)) { //Start up update manager Update = new UpdateManager(_mainForm); Update.UpdateCheckCompleted += new EventHandler<UpdateCheckCompletedEventArgs>(UpdateManager_CheckCompleted); bool doneCheck = false; _mainForm.Shown += delegate { if (doneCheck) return; doneCheck = true; //Delay first update check to when form is visible Update.CheckForUpdate(); }; //Enter GUI loop Application.Run(_mainForm); //Persist settings Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; Settings.Default.Save(); } }
static void Main(string[] args) { try { AppPaths.SetupPaths(); } catch (Exception ex) { MessageBox.Show(string.Format("Unable to setup application folders: {0}", ex), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } Log.Write("Launching OnTopReplica v.{0}", Application.ProductVersion); //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; Platform.PreHandleFormInit(); Log.Write("Platform support initialized"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } //Load startup options var options = StartupOptions.Factory.CreateOptions(args); string optionsMessage = options.DebugMessage; if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed var dlg = new CommandLineReportForm(options.Status, optionsMessage); dlg.ShowDialog(); } if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) return; //Load language Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; //Show form using (_mainForm = new MainForm(options)) { Application.Idle += _handlerIdleUpdater; Log.Write("Entering application loop"); //Enter GUI loop Application.Run(_mainForm); //Re-enable chrome to store correct position (position is stored always WITH chrome: when restoring fails, the position stays ok) Settings.Default.RestoreLastShowChrome = _mainForm.IsChromeVisible; if (!_mainForm.IsChromeVisible) _mainForm.IsChromeVisible = true; //Persist settings Log.Write("Last position before shutdown: {0}, size: {1}", _mainForm.Location, _mainForm.Size); Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; //Store last thumbnail, if any if (_mainForm.ThumbnailPanel.IsShowingThumbnail && _mainForm.CurrentThumbnailWindowHandle != null) { Settings.Default.RestoreLastWindowTitle = _mainForm.CurrentThumbnailWindowHandle.Title; Settings.Default.RestoreLastWindowHwnd = _mainForm.CurrentThumbnailWindowHandle.Handle.ToInt64(); Settings.Default.RestoreLastWindowClass = _mainForm.CurrentThumbnailWindowHandle.Class; } else { Settings.Default.RestoreLastWindowTitle = string.Empty; Settings.Default.RestoreLastWindowHwnd = 0; Settings.Default.RestoreLastWindowClass = string.Empty; } Log.Write("Persisting settings"); Settings.Default.Save(); } Log.Write("Shutting down OnTopReplica"); }