public FormSettings(GitUICommands aCommands, SettingsPageReference initalPage = null) : base(aCommands) { InitializeComponent(); Translate(); _initalPage = initalPage; //if form is created for translation purpose if (aCommands == null) return; // NEW: _commonLogic = new CommonLogic(Module); _checkSettingsLogic = new CheckSettingsLogic(_commonLogic, Module); _checklistSettingsPage = new ChecklistSettingsPage(_commonLogic, _checkSettingsLogic, Module, this); _checkSettingsLogic.ChecklistSettingsPage = _checklistSettingsPage; // TODO _settingsPageRegistry.RegisterSettingsPage(_checklistSettingsPage); _gitSettingsPage = new GitSettingsPage(_checkSettingsLogic, this); _settingsPageRegistry.RegisterSettingsPage(_gitSettingsPage); _gitExtensionsSettingsPage = new GitExtensionsSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_gitExtensionsSettingsPage); _appearanceSettingsPage = new AppearanceSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_appearanceSettingsPage); _colorsSettingsPage = new ColorsSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_colorsSettingsPage); _startPageSettingsPage = new StartPageSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_startPageSettingsPage); _globalSettingsSettingsPage = new GlobalSettingsSettingsPage(_commonLogic, _checkSettingsLogic, Module); _settingsPageRegistry.RegisterSettingsPage(_globalSettingsSettingsPage); _localSettingsSettingsPage = new LocalSettingsSettingsPage(_commonLogic, _checkSettingsLogic, Module); _settingsPageRegistry.RegisterSettingsPage(_localSettingsSettingsPage); _sshSettingsPage = new SshSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_sshSettingsPage); _checklistSettingsPage.SshSettingsPage = _sshSettingsPage; _scriptsSettingsPage = new ScriptsSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_scriptsSettingsPage); _hotkeysSettingsPage = new HotkeysSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_hotkeysSettingsPage); _shellExtensionSettingsPage = new ShellExtensionSettingsPage(); _settingsPageRegistry.RegisterSettingsPage(_shellExtensionSettingsPage); // register all plugin pages _settingsPageRegistry.RegisterPluginSettingsPages(); settingsTreeViewUserControl1.SetSettingsPages(_settingsPageRegistry, _initalPage); }
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); var commonLogic = new CommonLogic(uiCommands.Module); var checkSettingsLogic = new CheckSettingsLogic(commonLogic, uiCommands.Module); using (var checklistSettingsPage = new ChecklistSettingsPage(commonLogic, checkSettingsLogic, uiCommands.Module, null)) { checkSettingsLogic.ChecklistSettingsPage = checklistSettingsPage; if (!checklistSettingsPage.CheckSettings()) { checkSettingsLogic.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(); }
public FormSettings(GitUICommands aCommands, SettingsPageReference initalPage = null) : base(aCommands) { InitializeComponent(); Translate(); //if form is created for translation purpose if (aCommands == null) return; // NEW: settingsTreeView.AddSettingsPage(new GitExtensionsSettingsGroup(), null); SettingsPageReference gitExtPageRef = GitExtensionsSettingsGroup.GetPageReference(); _commonLogic = new CommonLogic(Module); _checkSettingsLogic = new CheckSettingsLogic(_commonLogic, Module); var checklistSettingsPage = new ChecklistSettingsPage(_commonLogic, _checkSettingsLogic, Module, this); _checkSettingsLogic.ChecklistSettingsPage = checklistSettingsPage; // TODO settingsTreeView.AddSettingsPage(checklistSettingsPage, gitExtPageRef); settingsTreeView.AddSettingsPage(new GitSettingsPage(_checkSettingsLogic, this), gitExtPageRef); settingsTreeView.AddSettingsPage(new GitExtensionsSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new AppearanceSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new ColorsSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new StartPageSettingsPage(), gitExtPageRef); var globalSettingsSettingsPage = new GlobalSettingsSettingsPage(_commonLogic, _checkSettingsLogic, Module); settingsTreeView.AddSettingsPage(globalSettingsSettingsPage, gitExtPageRef); var localSettingsSettingsPage = new LocalSettingsSettingsPage(_commonLogic, _checkSettingsLogic, Module); settingsTreeView.AddSettingsPage(localSettingsSettingsPage, gitExtPageRef); var _sshSettingsPage = new SshSettingsPage(); settingsTreeView.AddSettingsPage(_sshSettingsPage, gitExtPageRef); checklistSettingsPage.SshSettingsPage = _sshSettingsPage; settingsTreeView.AddSettingsPage(new ScriptsSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new HotkeysSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new ShellExtensionSettingsPage(), gitExtPageRef); settingsTreeView.AddSettingsPage(new AdvancedSettingsPage(), gitExtPageRef); SettingsPageReference advancedPageRef = AdvancedSettingsPage.GetPageReference(); settingsTreeView.AddSettingsPage(new ConfirmationsSettingsPage(), advancedPageRef); settingsTreeView.AddSettingsPage(new PluginsSettingsGroup(), null); SettingsPageReference pluginsPageRef = PluginsSettingsGroup.GetPageReference(); foreach (var gitPlugin in LoadedPlugins.Plugins) { var settingsPage = PluginSettingsPage.CreateSettingsPageFromPlugin(gitPlugin); settingsTreeView.AddSettingsPage(settingsPage, pluginsPageRef); } settingsTreeView.GotoPage(initalPage); }