/// <summary> /// Load a settings object from the file specified /// </summary> /// <param name="file"></param> /// <returns>The loaded settings object, or an empty one if the file can't be found</returns> public static Settings LoadSettings(string file) { Settings settings = new Settings(); if (File.Exists(file)) { using (StreamReader reader = new StreamReader(file)) { string line; while ((line = reader.ReadLine()) != null) { if (line.Trim().Length > 0) { try { settings = Newtonsoft.Json.JsonConvert.DeserializeObject<Settings>(line); } catch (JsonReaderException) { throw; } } } } settings.SettingsFile = file; } return settings; }
private void save_settings(string file) { if (File.Exists(file)) { File.Delete(file); } var settings = new Settings(); var setting1 = new Setting("One", "First setting", "Test", SettingType.text, "Attitude Adjuster"); var setting2 = new Setting("Two", "Second setting", "Test", SettingType.integer, 22); var setting3 = new Setting("Three", "Third setting", "Test", SettingType.collection, new List<string>()); setting3.ValueAsCollection.Add("Setting String A"); setting3.ValueAsCollection.Add("Setting String B"); settings.AddSetting(setting1); settings.AddSetting(setting2); settings.AddSetting(setting3); Setting.AllowSerialize = true; settings.SaveSettings(file); }
public void create_settings() { string file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.DoNotVerify), "Rummage_Settings.prf"); if (File.Exists(file)) { File.Delete(file); } var settings = new Settings(); var setting1 = new Setting("SubFolders", "Search Sub Folders (recursively)", "System", SettingType.boolean, true); var setting2 = new Setting("Binaries", "Search Binary files", "System", SettingType.boolean, false); var setting3 = new Setting("CaseSensitive", "Make the search case-sensitive", "System", SettingType.boolean, false); var setting4 = new Setting("FolderExclusions", "Names of Folders to ignore when searching", "System", SettingType.collection, new List<string>()); setting4.ValueAsCollection.Add(".svn"); setting4.ValueAsCollection.Add("bin"); setting4.ValueAsCollection.Add("obj"); var setting5 = new Setting("Editor", "Editor to open files with", "System", SettingType.text, "Notepad.exe"); var setting6 = new Setting("EditorArgs", "Arguments to pass to the selected editor", "System", SettingType.text, ""); settings.AddSetting(setting1); settings.AddSetting(setting2); settings.AddSetting(setting3); settings.AddSetting(setting4); settings.AddSetting(setting5); settings.AddSetting(setting6); Setting.AllowSerialize = true; settings.SaveSettings(file); Assert.AreEqual(6, settings.settings.Count); }
public void Retrieve_setting_by_name_where_name_doesnt_exist_returns_null() { Settings settings = new Settings(); settings.AddSetting(new Setting("Alpha", "Alpha setting", "Cat1", SettingType.integer, 111)); settings.AddSetting(new Setting("Beta", "Beta setting", "Cat1", SettingType.integer, 222)); var retrievedSetting = settings.GetSettingByName("Delta"); Assert.AreEqual(null, retrievedSetting); }
public void Can_retrieve_setting_by_name() { Settings settings = new Settings(); settings.AddSetting(new Setting("Alpha", "Alpha setting", "Cat1", SettingType.integer, 111)); settings.AddSetting(new Setting("Beta", "Beta setting", "Cat1", SettingType.integer, 222)); var retrievedSetting = settings.GetSettingByName("Beta").Value; Assert.AreEqual(222, retrievedSetting); }
private void EditSettings_Click(object sender, RoutedEventArgs e) { var settingsScreen = new SettingScreen(settings); settingsScreen.WindowStyle = System.Windows.WindowStyle.ToolWindow; settingsScreen.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; settingsScreen.ShowDialog(); settings = settingsScreen.settings; }
/// <summary> /// Read startup parameters from the ini file /// </summary> private void readIniFile() { Setting.AllowSerialize = true; string settingsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData, Environment.SpecialFolderOption.DoNotVerify), SETTINGS_FILE); if (!File.Exists(settingsPath)) { File.Copy(Path.Combine(Environment.CurrentDirectory, DEFAULT_SETTINGS_FILE), settingsPath); } settings = Settings.LoadSettings(settingsPath); }
public SettingScreen(Settings settings) { this.settings = settings; InitializeComponent(); loadScreen(); }
/// <summary> /// Reloads the settings from scratch, effectively throwing away any changes the user has made /// </summary> private void restoreSettingsToUnmodifiedVersion() { this.settings = Settings.LoadSettings(this.settings.SettingsFile); this.DialogResult = false; }