public SettingsForm(IGeneralConfigService configService, SettingsViews activeView = SettingsViews.GeneralSettings) : this() { var config = configService.LoadConfiguration(); ViewModel = new SettingsControlViewModel(configService, config, new SettingsView { Control = new GeneralSettings(new GeneralSettingsViewModel(config)), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(new TodoSettingsViewModel(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(new InspectionSettingsViewModel(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(new UnitTestSettingsViewModel(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(new IndenterSettingsViewModel(config)), View = SettingsViews.IndenterSettings }, activeView); ViewModel.OnWindowClosed += ViewModel_OnWindowClosed; }
public SettingsControlViewModel(IMessageBox messageBox, IConfigurationService <Configuration> configService, Configuration config, SettingsView generalSettings, SettingsView todoSettings, SettingsView inspectionSettings, SettingsView unitTestSettings, SettingsView indenterSettings, SettingsView autoCompleteSettings, SettingsView windowSettings, SettingsView referenceSettings, SettingsViews activeView = UI.Settings.SettingsViews.GeneralSettings) { _messageBox = messageBox; _configService = configService; _config = config; SettingsViews = new ObservableCollection <SettingsView> { generalSettings, todoSettings, inspectionSettings, unitTestSettings, indenterSettings, autoCompleteSettings, windowSettings, referenceSettings }; SelectedSettingsView = SettingsViews.First(v => v.View == activeView); OKButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => SaveAndCloseWindow()); CancelButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloseWindow()); ResetButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ResetSettings()); }
public SettingsForm(IGeneralConfigService configService, SettingsViews activeView = SettingsViews.GeneralSettings) : this() { var config = configService.LoadConfiguration(); ViewModel = new SettingsControlViewModel(configService, config, new SettingsView { Control = new GeneralSettings(new GeneralSettingsViewModel(config)), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(new TodoSettingsViewModel(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(new InspectionSettingsViewModel(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(new UnitTestSettingsViewModel(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(new IndenterSettingsViewModel(config)), View = SettingsViews.IndenterSettings }, activeView); ViewModel.OnWindowClosed += ViewModel_OnWindowClosed; }
private void ResetSettings() { var defaultConfig = _configService.GetDefaultConfiguration(); foreach (var vm in SettingsViews.Select(v => v.Control.ViewModel)) { vm.SetToDefaults(defaultConfig); } }
public SettingsForm(IGeneralConfigService configService, IMessageBox messageBox, ISettingsViewModelFactory viewModelFactory, SettingsViews activeView = SettingsViews.GeneralSettings) : this() { var config = configService.LoadConfiguration(); ViewModel = new SettingsControlViewModel(messageBox, configService, config, new SettingsView { Control = new GeneralSettings(viewModelFactory.Create <Rubberduck.Settings.GeneralSettings>(config)), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(viewModelFactory.Create <ToDoListSettings>(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(viewModelFactory.Create <CodeInspectionSettings>(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(viewModelFactory.Create <Rubberduck.UnitTesting.Settings.UnitTestSettings>(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(viewModelFactory.Create <SmartIndenter.IndenterSettings>(config)), View = SettingsViews.IndenterSettings }, new SettingsView { Control = new AutoCompleteSettings(viewModelFactory.Create <Rubberduck.Settings.AutoCompleteSettings>(config)), View = SettingsViews.AutoCompleteSettings }, new SettingsView { Control = new WindowSettings(viewModelFactory.Create <Rubberduck.Settings.WindowSettings>(config)), View = SettingsViews.WindowSettings }, new SettingsView { Control = new AddRemoveReferencesUserSettings(viewModelFactory.Create <ReferenceSettings>()), View = SettingsViews.ReferenceSettings }, activeView); ViewModel.OnWindowClosed += ViewModel_OnWindowClosed; }
private void SaveConfig() { var oldLangCode = _config.UserSettings.GeneralSettings.Language.Code; foreach (var vm in SettingsViews.Select(v => v.Control.ViewModel)) { vm.UpdateConfig(_config); } _configService.SaveConfiguration(_config); }
protected override async Task OnLoadStateAsync(LoadStateEventArgs e) { if (this.ViewModel == null) { this.SetViewModel(new SettingsViewModel()); } try { if (e.PageState.ContainsKey(LAST_SELECTED_INDEX)) { // Restore the last viewed pivot from page state pivot.SelectedIndex = (int)e.PageState[LAST_SELECTED_INDEX]; } else { // Use the page parameter to determine the starting pivot int selected = e.NavigationEventArgs.Parameter is int?(int)e.NavigationEventArgs.Parameter : 0; SettingsViews view = (SettingsViews)selected; switch (view) { case SettingsViews.PrivacyPolicy: pivot.SelectedIndex = 2; break; case SettingsViews.TermsOfService: pivot.SelectedIndex = 3; break; case SettingsViews.About: pivot.SelectedIndex = 4; break; } } } catch (Exception ex) { Platform.Current.Logger.LogError(ex, "Error with determining which Pivot to set to SelectedIndex."); } await base.OnLoadStateAsync(e); }
public SettingsControlViewModel(IGeneralConfigService configService, Configuration config, SettingsView generalSettings, SettingsView todoSettings, SettingsView inspectionSettings, SettingsView unitTestSettings, SettingsView indenterSettings, SettingsViews activeView = UI.Settings.SettingsViews.GeneralSettings) { _configService = configService; _config = config; SettingsViews = new ObservableCollection <SettingsView> { generalSettings, todoSettings, inspectionSettings, unitTestSettings, indenterSettings }; SelectedSettingsView = SettingsViews.First(v => v.View == activeView); _okButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => SaveAndCloseWindow()); _cancelButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => CloseWindow()); _resetButtonCommand = new DelegateCommand(LogManager.GetCurrentClassLogger(), _ => ResetSettings()); }
public SettingsControlViewModel(IGeneralConfigService configService, Configuration config, SettingsView generalSettings, SettingsView todoSettings, SettingsView inspectionSettings, SettingsView unitTestSettings, SettingsView indenterSettings, SettingsViews activeView = Settings.SettingsViews.GeneralSettings) { _configService = configService; _config = config; SettingsViews = new ObservableCollection<SettingsView> { generalSettings, todoSettings, inspectionSettings, unitTestSettings, indenterSettings }; SelectedSettingsView = SettingsViews.First(v => v.View == activeView); _okButtonCommand = new DelegateCommand(_ => SaveAndCloseWindow()); _cancelButtonCommand = new DelegateCommand(_ => CloseWindow()); _resetButtonCommand = new DelegateCommand(_ => ResetSettings()); }
private SettingsControlViewModel GetDefaultViewModel(ConfigurationLoader configService, SettingsViews activeView = SettingsViews.GeneralSettings) { var config = configService.LoadConfiguration(); return(new SettingsControlViewModel(configService, config, new SettingsView { Control = new GeneralSettings(new GeneralSettingsViewModel(config)), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(new TodoSettingsViewModel(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(new InspectionSettingsViewModel(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(new UnitTestSettingsViewModel(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(new IndenterSettingsViewModel(config)), View = SettingsViews.IndenterSettings }, activeView)); }
public SettingsForm(IGeneralConfigService configService, IOperatingSystem operatingSystem, IMessageBox messageBox, IVbeSettings vbeSettings, IConfigProvider <ReferenceSettings> referencesProvider, IFileSystemBrowserFactory browserFactory, SettingsViews activeView = SettingsViews.GeneralSettings) : this() { var config = configService.LoadConfiguration(); ViewModel = new SettingsControlViewModel(messageBox, configService, config, new SettingsView { // FIXME inject types marked as ExperimentalFeatures /* * These ExperimentalFeatureTypes were originally obtained by directly calling into the IoC container * (since only it knows, which Assemblies have been loaded as Plugins). The code is preserved here for easy access. * RubberduckIoCInstaller.AssembliesToRegister() * .SelectMany(s => s.DefinedTypes) * .Where(w => Attribute.IsDefined(w, typeof(ExperimentalAttribute))) */ Control = new GeneralSettings(new GeneralSettingsViewModel(config, operatingSystem, messageBox, vbeSettings, new List <Type>())), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(new TodoSettingsViewModel(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(new InspectionSettingsViewModel(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(new UnitTestSettingsViewModel(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(new IndenterSettingsViewModel(config)), View = SettingsViews.IndenterSettings }, new SettingsView { Control = new AutoCompleteSettings(new AutoCompleteSettingsViewModel(config)), View = SettingsViews.AutoCompleteSettings }, new SettingsView { Control = new WindowSettings(new WindowSettingsViewModel(config)), View = SettingsViews.WindowSettings }, new SettingsView { Control = new AddRemoveReferencesUserSettings(new AddRemoveReferencesUserSettingsViewModel(referencesProvider, browserFactory)), View = SettingsViews.ReferenceSettings }, activeView); ViewModel.OnWindowClosed += ViewModel_OnWindowClosed; }
private SettingsControlViewModel GetDefaultViewModel(ConfigurationLoader configService, SettingsViews activeView = SettingsViews.GeneralSettings) { var config = configService.LoadConfiguration(); return new SettingsControlViewModel(configService, config, new SettingsView { Control = new GeneralSettings(new GeneralSettingsViewModel(config)), View = SettingsViews.GeneralSettings }, new SettingsView { Control = new TodoSettings(new TodoSettingsViewModel(config)), View = SettingsViews.TodoSettings }, new SettingsView { Control = new InspectionSettings(new InspectionSettingsViewModel(config)), View = SettingsViews.InspectionSettings }, new SettingsView { Control = new UnitTestSettings(new UnitTestSettingsViewModel(config)), View = SettingsViews.UnitTestSettings }, new SettingsView { Control = new IndenterSettings(new IndenterSettingsViewModel(config)), View = SettingsViews.IndenterSettings }, activeView); }