private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); string[] args = Environment.GetCommandLineArgs(); FormSplash.Show("Load settings"); Settings.LoadSettings(); if (Settings.RunningOnWindows()) { //Quick HOME check: FormSplash.SetAction("Check home path"); FormFixHome.CheckHomePath(); } //Register plugins FormSplash.SetAction("Load plugins"); PluginLoader.LoadAsync(); if (string.IsNullOrEmpty(Settings.Translation)) { using (var formChoose = new FormChooseTranslation()) { formChoose.ShowDialog(); } } try { if (Application.UserAppDataRegistry == null || Application.UserAppDataRegistry.GetValue("checksettings") == null || !Application.UserAppDataRegistry.GetValue("checksettings").ToString().Equals("false", StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(Settings.GitCommand)) { FormSplash.SetAction("Check settings"); using (var settings = new FormSettings()) { if (!settings.CheckSettings()) { FormSettings.AutoSolveAllSettings(); GitUICommands.Instance.StartSettingsDialog(); } } } } catch { // TODO: remove catch-all } if (args.Length >= 3) { if (Directory.Exists(args[2])) { Settings.WorkingDir = args[2]; } if (string.IsNullOrEmpty(Settings.WorkingDir)) { if (args[2].Contains(Settings.PathSeparator.ToString())) { Settings.WorkingDir = args[2].Substring(0, args[2].LastIndexOf(Settings.PathSeparator)); } } if (Settings.ValidWorkingDir()) { Repositories.RepositoryHistory.AddMostRecentRepository(Settings.WorkingDir); } } if (string.IsNullOrEmpty(Settings.WorkingDir)) { string findWorkingDir = GitCommandHelpers.FindGitWorkingDir(Directory.GetCurrentDirectory()); if (Settings.ValidWorkingDir(findWorkingDir)) { Settings.WorkingDir = findWorkingDir; } } FormSplash.Hide(); if (args.Length <= 1) { GitUICommands.Instance.StartBrowseDialog(); } else // if we are here args.Length > 1 { RunCommand(args); } Settings.SaveSettings(); }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); string[] args = Environment.GetCommandLineArgs(); FormSplash.ShowSplash(); Application.DoEvents(); Settings.LoadSettings(); if (Settings.RunningOnWindows()) { //Quick HOME check: FormSplash.SetAction("Checking home path..."); Application.DoEvents(); FormFixHome.CheckHomePath(); } //Register plugins FormSplash.SetAction("Loading plugins..."); Application.DoEvents(); PluginLoader.LoadAsync(); if (string.IsNullOrEmpty(Settings.Translation)) { using (var formChoose = new FormChooseTranslation()) { formChoose.ShowDialog(); } } try { if (Application.UserAppDataRegistry == null || Settings.GetValue <string>("checksettings", null) == null || !Settings.GetValue <string>("checksettings", null).ToString().Equals("false", StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(Settings.GitCommand)) { FormSplash.SetAction("Checking settings..."); Application.DoEvents(); using (var settings = new FormSettings()) { if (!settings.CheckSettings()) { FormSettings.AutoSolveAllSettings(); GitUICommands.Instance.StartSettingsDialog(); } } } } catch { // TODO: remove catch-all } if (args.Length >= 3) { if (Directory.Exists(args[2])) { Settings.WorkingDir = args[2]; } if (string.IsNullOrEmpty(Settings.WorkingDir)) { if (args[2].Contains(Settings.PathSeparator.ToString())) { Settings.WorkingDir = args[2].Substring(0, args[2].LastIndexOf(Settings.PathSeparator)); } } //Do not add this working dir to the recent repositories. It is a nice feature, but it //also increases the startup time //if (Settings.Module.ValidWorkingDir()) // Repositories.RepositoryHistory.AddMostRecentRepository(Settings.WorkingDir); } if (args.Length <= 1 && string.IsNullOrEmpty(Settings.WorkingDir) && Settings.StartWithRecentWorkingDir) { if (GitModule.ValidWorkingDir(Settings.RecentWorkingDir)) { Settings.WorkingDir = Settings.RecentWorkingDir; } } if (string.IsNullOrEmpty(Settings.WorkingDir)) { string findWorkingDir = GitModule.FindGitWorkingDir(Directory.GetCurrentDirectory()); if (GitModule.ValidWorkingDir(findWorkingDir)) { Settings.WorkingDir = findWorkingDir; } } FormSplash.HideSplash(); if (Settings.RunningOnWindows()) { MouseWheelRedirector.Active = true; } if (args.Length <= 1) { GitUICommands.Instance.StartBrowseDialog(); } else // if we are here args.Length > 1 { RunCommand(args); } Settings.SaveSettings(); }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (Settings.RunningOnWindows()) { NBug.Settings.UIMode = NBug.Enums.UIMode.Full; // Uncomment the following after testing to see that NBug is working as configured NBug.Settings.ReleaseMode = true; NBug.Settings.ExitApplicationImmediately = false; NBug.Settings.WriteLogToDisk = true; NBug.Settings.MaxQueuedReports = 10; AppDomain.CurrentDomain.UnhandledException += NBug.Handler.UnhandledException; Application.ThreadException += NBug.Handler.ThreadException; } string[] args = Environment.GetCommandLineArgs(); FormSplash.ShowSplash(); Application.DoEvents(); Settings.LoadSettings(); if (Settings.RunningOnWindows()) { //Quick HOME check: FormSplash.SetAction("Checking home path..."); Application.DoEvents(); FormFixHome.CheckHomePath(); } //Register plugins FormSplash.SetAction("Loading plugins..."); Application.DoEvents(); if (string.IsNullOrEmpty(Settings.Translation)) { using (var formChoose = new FormChooseTranslation()) { formChoose.ShowDialog(); } } try { if (Application.UserAppDataRegistry == null || Settings.GetValue <string>("checksettings", null) == null || !Settings.GetValue <string>("checksettings", null).Equals("false", StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(Settings.GitCommand)) { FormSplash.SetAction("Checking settings..."); Application.DoEvents(); GitUICommands uiCommands = new GitUICommands(string.Empty); using (var settings = new FormSettings(uiCommands)) { if (!settings.CheckSettings()) { settings.AutoSolveAllSettings(); uiCommands.StartSettingsDialog(); } } } } catch { // TODO: remove catch-all } FormSplash.HideSplash(); if (Settings.RunningOnWindows()) { MouseWheelRedirector.Active = true; } GitUICommands uCommands = new GitUICommands(GetWorkingDir(args)); if (args.Length <= 1) { uCommands.StartBrowseDialog(); } else // if we are here args.Length > 1 { uCommands.RunCommand(args); } Settings.SaveSettings(); }