static void Main() { using (OpenTK.Toolkit.Init(new OpenTK.ToolkitOptions { EnableHighResolution = false, Backend = OpenTK.PlatformBackend.PreferNative })) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { using (new SingleUserInstance(1000)) { Application.Run(new EDDApplicationContext()); } } catch (TimeoutException) { BaseUtils.Translator tx = new BaseUtils.Translator(); tx.LoadTranslation("Auto", CultureInfo.CurrentUICulture, new string[] { System.IO.Path.GetDirectoryName(Application.ExecutablePath) }, 0, System.IO.Path.GetTempPath()); if (System.Windows.Forms.MessageBox.Show(tx.Translate("EDDiscovery is already running. Launch anyway?", "StartUp.DUPLOAD"), "EDDiscovery", MessageBoxButtons.YesNo) == DialogResult.Yes) { Application.Run(new EDDApplicationContext()); } /* Could not lock the app-global mutex, which means another copy of the App is running. * TODO: show a dialog and/or bring the current instance's window to the foreground. */ } } }
public SafeModeForm() { InitializeComponent(); BaseUtils.Translator tx = new BaseUtils.Translator(); tx.LoadTranslation("Auto", CultureInfo.CurrentUICulture, new string[] { System.IO.Path.GetDirectoryName(Application.ExecutablePath) }, 0, System.IO.Path.GetTempPath()); tx.Translate(this); }
public SafeModeForm() { InitializeComponent(); BaseUtils.Translator tx = new BaseUtils.Translator(); tx.LoadTranslation("Auto", CultureInfo.CurrentUICulture, new string[] { System.IO.Path.GetDirectoryName(Application.ExecutablePath) }, 0, System.IO.Path.GetTempPath()); //tx.LoadTranslation("example-ex", CultureInfo.CurrentUICulture, new string[] { @"c:\code\eddiscovery\eddiscovery\translations" }, 2,System.IO.Path.GetTempPath()); var enumlist = new Enum[] { EDTx.SafeModeForm, EDTx.SafeModeForm_buttonCancel, EDTx.SafeModeForm_buttonRun, EDTx.SafeModeForm_buttonRemoveJournals, EDTx.SafeModeForm_buttonDeleteUserDB, EDTx.SafeModeForm_buttonDeleteSystemDB, EDTx.SafeModeForm_buttonResetDBLoc, EDTx.SafeModeForm_buttonBackup, EDTx.SafeModeForm_buttonDbs, EDTx.SafeModeForm_buttonLang, EDTx.SafeModeForm_buttonActionPacks, EDTx.SafeModeForm_buttonRemoveDLLs, EDTx.SafeModeForm_buttonResetTabs, EDTx.SafeModeForm_buttonPositions, EDTx.SafeModeForm_buttonResetTheme }; tx.TranslateControls(this, enumlist); }
static void Main() { using (OpenTK.Toolkit.Init(new OpenTK.ToolkitOptions { EnableHighResolution = false, Backend = OpenTK.PlatformBackend.PreferNative })) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { using (new SingleUserInstance(1000)) { Application.Run(new EDDApplicationContext()); } } catch (TimeoutException) { BaseUtils.Translator tx = new BaseUtils.Translator(); tx.LoadTranslation("Auto", CultureInfo.CurrentUICulture, new string[] { System.IO.Path.GetDirectoryName(Application.ExecutablePath) }, 0, System.IO.Path.GetTempPath()); if (System.Windows.Forms.MessageBox.Show("EDDiscovery is already running. Launch anyway?".TxID(EDTx.StartUp_DUPLOAD), "EDDiscovery", MessageBoxButtons.YesNo) == DialogResult.Yes) { Application.Run(new EDDApplicationContext()); } } catch (ThreadAbortException) { if (EDDApplicationContext.RestartInSafeMode) { System.Diagnostics.Process.Start(Application.ExecutablePath, "-safemode"); } } finally { EliteDangerousCore.DB.UserDatabase.Instance.Stop(); // need everything closed before we can shut down the DBs threads EliteDangerousCore.DB.SystemsDatabase.Instance.Stop(); if (EDDApplicationContext.RestartInSafeMode) { System.Diagnostics.Process.Start(Application.ExecutablePath, "-safemode"); } } } }