void SaveSetting <T>(TwoFilesConfiguration configuration, MainSettings savedSettings, string setting, T runningValue) { if (!savedSettings.GetValue(setting).Equals(runningValue)) { configuration.SetValue(setting, runningValue); } }
void SaveListSetting(TwoFilesConfiguration configuration, MainSettings savedSettings, string setting, List <string> runningList) { var savedList = savedSettings.GetValue(setting); if (savedList != null && !savedList.Equals(runningList)) { var listAsString = string.Join(",", runningList); configuration.SetValue(setting, listAsString); } }
void btnOpenConfig_Click(object sender, EventArgs e) { var selected = GetConfigFileUseFromUIIndex(cboConfigFile.SelectedIndex); if (selected == ConfigFileUse.None) { MessageBox.Show("No file was selected in the list.", "No file opened", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } // Open the file(s) depending on what's selected. Create an instance of the // TwoFilesConfiguration just to get the paths var configuration = TwoFilesConfiguration.Create(selected); if (cboConfigFile.SelectedIndex == ApplicationConfigFileIndex || cboConfigFile.SelectedIndex == BothConfigFileIndex) { // Open the application config file Process.Start(configuration.ApplicationFilePath); } if (cboConfigFile.SelectedIndex == UserConfigFileIndex || cboConfigFile.SelectedIndex == BothConfigFileIndex) { // Open the user config file. It might not exist though if (File.Exists(configuration.UserConfigFilePath)) { Process.Start(configuration.UserConfigFilePath); } else { MessageBox.Show($"The file {configuration.UserConfigFilePath} does not exist. Click the Save" + " button to create it.", "File does exist", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
public void ShowAccidentalDeletionPreventionCheck(TwoFilesConfiguration configuration, string deletionScopePromptText) { this.configuration = configuration; bool disableAccidentalDeletionPrevention = configuration.GetBoolValue( ConfigurationParameters.DisableAccidentalDeletionPrevention, defaultValue: false); if (!disableAccidentalDeletionPrevention) { useAccidentalDeletionPreventionCheck = true; accidentalDeletionPreventionCheckControl.DeletionScopePromptText = deletionScopePromptText; accidentalDeletionPreventionCheckControl.Visible = true; accidentalDeletionPreventionCheckControl.Top = mainPanel.Bottom; buttonsPanel.Top = accidentalDeletionPreventionCheckControl.Bottom; accidentalDeletionPreventionCheckControl.Width = ClientSize.Width; ClientSize = new Size(ClientSize.Width, buttonsPanel.Bottom); } }
void SaveSettings(ConfigFileUse configFileUse) { var defaultSettings = MainSettings.GetDefault(); var readSettings = ConfigurationHelper.GetMainProperties(configFileUse, defaultSettings, writeToLog: null); // Special case: if we have switched from user config file to application config file, // we still have to update that particular setting in the user config file, or it won't // persist through program restart. if (originalConfigFileUse != ConfigFileUse.ApplicationConfig && configFileUse == ConfigFileUse.ApplicationConfig) { var userConfiguration = TwoFilesConfiguration.Create(ConfigFileUse.UserConfig); userConfiguration.SetValue(ConfigurationParameters.ConfigurationConfigFileParameter, configFileUse); userConfiguration.Save(); } var configuration = TwoFilesConfiguration.Create(configFileUse); configuration.SetValue(ConfigurationParameters.ConfigurationConfigFileParameter, configFileUse); SaveSetting(configuration, readSettings, ConfigurationParameters.LogFontSize, MainSettings.LogFontSize); SaveSetting(configuration, readSettings, ConfigurationParameters.TreeViewFontSize, MainSettings.TreeViewFontSize); SaveSetting(configuration, readSettings, ConfigurationParameters.ShowMessageCountParameter, MainSettings.ShowMessageCount); SaveSetting(configuration, readSettings, ConfigurationParameters.SaveMessageToFileParameter, MainSettings.SaveMessageToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.UseAsciiParameter, MainSettings.UseAscii); SaveSetting(configuration, readSettings, ConfigurationParameters.SavePropertiesToFileParameter, MainSettings.SavePropertiesToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.SaveCheckpointsToFileParameter, MainSettings.SaveCheckpointsToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.RetryCountParameter, MainSettings.RetryCount); SaveSetting(configuration, readSettings, ConfigurationParameters.RetryTimeoutParameter, MainSettings.RetryTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.TopParameter, MainSettings.TopCount); SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiveTimeoutParameter, MainSettings.ReceiveTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.ServerTimeoutParameter, MainSettings.ServerTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.SenderThinkTimeParameter, MainSettings.SenderThinkTime); SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiverThinkTimeParameter, MainSettings.ReceiverThinkTime); SaveSetting(configuration, readSettings, ConfigurationParameters.MonitorRefreshIntervalParameter, MainSettings.MonitorRefreshInterval); SaveSetting(configuration, readSettings, ConfigurationParameters.PrefetchCountParameter, MainSettings.PrefetchCount); SaveSetting(configuration, readSettings, ConfigurationParameters.LabelParameter, MainSettings.Label); SaveSetting(configuration, readSettings, ConfigurationParameters.MessageParameter, MainSettings.MessageText); SaveSetting(configuration, readSettings, ConfigurationParameters.FileParameter, MainSettings.MessageFile); SaveSetting(configuration, readSettings, ConfigurationParameters.MessageContentTypeParameter, MainSettings.MessageContentType); SaveSetting(configuration, readSettings, ConfigurationParameters.ConnectivityMode, MainSettings.ConnectivityMode); SaveSetting(configuration, readSettings, ConfigurationParameters.UseAmqpWebSockets, MainSettings.UseAmqpWebSockets); SaveSetting(configuration, readSettings, ConfigurationParameters.Encoding, MainSettings.EncodingType); SaveListSetting(configuration, readSettings, ConfigurationParameters.SelectedEntitiesParameter, MainSettings.SelectedEntities); SaveListSetting(configuration, readSettings, ConfigurationParameters.SelectedMessageCountsParameter, MainSettings.SelectedMessageCounts); SaveSetting(configuration, readSettings, ConfigurationParameters.MessageBodyType, MainSettings.MessageBodyType); SaveSetting(configuration, readSettings, ConfigurationParameters.DisableAccidentalDeletionPrevention, MainSettings.DisableAccidentalDeletionPrevention); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyOverrideDefault, MainSettings.ProxyOverrideDefault); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyAddress, MainSettings.ProxyAddress); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyBypassList, MainSettings.ProxyBypassList); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyBypassOnLocal, MainSettings.ProxyBypassOnLocal); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyUseDefaultCredentials, MainSettings.ProxyUseDefaultCredentials); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyUserName, MainSettings.ProxyUserName); SaveSetting(configuration, readSettings, ConfigurationParameters.ProxyPassword, MainSettings.ProxyPassword); SaveSetting(configuration, readSettings, ConfigurationParameters.NodesColors, NodeColorInfo.FormatAll(MainSettings.NodesColors)); configuration.Save(); }
void SaveSettings(ConfigFileUse configFileUse) { var defaultSettings = MainSettings.GetDefault(); var readSettings = ConfigurationHelper.GetMainProperties(configFileUse, defaultSettings, writeToLog: null); var configuration = TwoFilesConfiguration.Create(configFileUse); configuration.SetValue(ConfigurationParameters.ConfigurationConfigFileParameter, configFileUse); SaveSetting(configuration, readSettings, ConfigurationParameters.LogFontSize, MainSettings.LogFontSize); SaveSetting(configuration, readSettings, ConfigurationParameters.TreeViewFontSize, MainSettings.TreeViewFontSize); SaveSetting(configuration, readSettings, ConfigurationParameters.ShowMessageCountParameter, MainSettings.ShowMessageCount); SaveSetting(configuration, readSettings, ConfigurationParameters.SaveMessageToFileParameter, MainSettings.SaveMessageToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.UseAsciiParameter, MainSettings.UseAscii); SaveSetting(configuration, readSettings, ConfigurationParameters.SavePropertiesToFileParameter, MainSettings.SavePropertiesToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.SaveCheckpointsToFileParameter, MainSettings.SaveCheckpointsToFile); SaveSetting(configuration, readSettings, ConfigurationParameters.RetryCountParameter, MainSettings.RetryCount); SaveSetting(configuration, readSettings, ConfigurationParameters.RetryTimeoutParameter, MainSettings.RetryTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.TopParameter, MainSettings.TopCount); SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiveTimeoutParameter, MainSettings.ReceiveTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.ServerTimeoutParameter, MainSettings.ServerTimeout); SaveSetting(configuration, readSettings, ConfigurationParameters.SenderThinkTimeParameter, MainSettings.SenderThinkTime); SaveSetting(configuration, readSettings, ConfigurationParameters.ReceiverThinkTimeParameter, MainSettings.ReceiverThinkTime); SaveSetting(configuration, readSettings, ConfigurationParameters.MonitorRefreshIntervalParameter, MainSettings.MonitorRefreshInterval); SaveSetting(configuration, readSettings, ConfigurationParameters.PrefetchCountParameter, MainSettings.PrefetchCount); SaveSetting(configuration, readSettings, ConfigurationParameters.LabelParameter, MainSettings.Label); SaveSetting(configuration, readSettings, ConfigurationParameters.MessageParameter, MainSettings.MessageText); SaveSetting(configuration, readSettings, ConfigurationParameters.FileParameter, MainSettings.MessageFile); SaveSetting(configuration, readSettings, ConfigurationParameters.ConnectivityMode, MainSettings.ConnectivityMode); SaveSetting(configuration, readSettings, ConfigurationParameters.Encoding, MainSettings.EncodingType); SaveListSetting(configuration, readSettings, ConfigurationParameters.SelectedEntitiesParameter, MainSettings.SelectedEntities); SaveSetting(configuration, readSettings, ConfigurationParameters.MessageBodyType, MainSettings.MessageBodyType); configuration.Save(); }