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();
        }
Beispiel #6
0
        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();
        }