/// <summary> /// Add group by type /// </summary> /// <param name="type"></param> private void AddGroup(SettingsFileType type) { if (nameGroupEdt.Text != null) { // group name string name = nameGroupEdt.Text; // files in group string[] files = getDataTable(propertyFileTable); // folders in groups string[] folders = getDataTable(propertyFolderTable); // CASE: add group from global to local (solved) if (selectedTableType == SettingsFileType.Global) { model.NewGroup(name); } else { model.NewGroup(name, files, folders); } // update view if (type == SettingsFileType.Local) { ShowGroup(localTable, model.LocalGroups); } else { ShowGroup(globalTable, model.GlobalGroups); } } }
/// <summary> /// Delete group by type /// </summary> /// <param name="type"></param> private void DeleteGroup(SettingsFileType type) { string name = nameGroupEdt.Text; if (type == SettingsFileType.Local) { model.DeleteGroup(name, true, false); ShowGroup(localTable, model.LocalGroups); } else { model.DeleteGroup(name, false, true); ShowGroup(globalTable, model.GlobalGroups); } ClearAllAfterAddOrDelete(); }
public XDocument LoadFile( SettingsFileType fileType ) { string filename = null; switch ( fileType ) { case SettingsFileType.Blacklist: filename = "Blacklist.xml"; break; case SettingsFileType.ExtensionFilter: filename = "FilterSettings.xml"; break; case SettingsFileType.HtmlBodyFilter: filename = "FilterSettings.xml"; break; case SettingsFileType.MimeTypeFilter: filename = "FilterSettings.xml"; break; case SettingsFileType.Whitelist: filename = "WhiteList.xml"; break; default: throw new ArgumentException("Unrecognized settings file type"); } const string DefaultSettingsFileDirectory = ".\\addins\\settings"; const string UserSettingsFileDirectory = DefaultSettingsFileDirectory + "\\userprovided"; // If the user override file is available than use it if (File.Exists(Path.Combine(UserSettingsFileDirectory, filename))) { return XDocument.Load( Path.Combine( UserSettingsFileDirectory, filename ) ); } return XDocument.Load(Path.Combine(DefaultSettingsFileDirectory, filename)); }
private void globalTable_CellContentClick(object sender, DataGridViewCellEventArgs e) { selectedTableType = SettingsFileType.Global; CellContentClick(sender, e, model.GlobalGroups); }
/// <summary> /// Основной конструктор класса настроек /// </summary> /// <exception cref="ArgumentNullException"><paramref name="filePath"/> равен null.</exception> public Settings(string filePath, SettingsFileType type) { InitData(); Type = type; FilePath = filePath; }
private Stream GetSettingsFileStream(ConfigType type, SettingsFileType settings, CryptoProvider planCrypto) { Stream stream = null; if (String.IsNullOrWhiteSpace(settings.Name)) { stream = null; } else { ZephyrFile settingsFile = Utilities.GetZephyrFile(settings.Name, clients); stream = settingsFile.Open(AccessType.Read); if (settings.HasEncryptedValues) { CryptoProvider crypto = new CryptoProvider(); crypto.Key = new CryptoKeyInfo(); if (planCrypto != null) { crypto.Key.Uri = planCrypto.Key.Uri; crypto.Key.ContainerName = planCrypto.Key.ContainerName; crypto.Key.CspFlags = planCrypto.Key.CspFlags; } if (!String.IsNullOrWhiteSpace(settings.Crypto?.Key?.Uri)) { crypto.Key.Uri = settings.Crypto.Key.Uri; } if (!String.IsNullOrWhiteSpace(settings.Crypto?.Key?.ContainerName)) { crypto.Key.ContainerName = settings.Crypto.Key.ContainerName; } if (String.IsNullOrWhiteSpace(crypto.Key.Uri) || String.IsNullOrWhiteSpace(crypto.Key.ContainerName)) { OnLogMessage("SettingsFile", "WARNING : HasEncryptedValues flag is set, but no Crypto section was found in the plan. No decryption will occur."); } else { crypto.LoadRsaKeys(); String settingsFileContent = null; switch (type) { case ConfigType.XmlTransform: settingsFileContent = CryptoUtils.DecryptXmlFile(stream, crypto); break; default: settingsFileContent = CryptoUtils.DecryptCsvFile(stream, crypto); break; } byte[] byteArray = new byte[0]; if (!String.IsNullOrWhiteSpace(settingsFileContent)) { byteArray = Encoding.UTF8.GetBytes(settingsFileContent); } stream = new MemoryStream(byteArray); } } } return(stream); }