diff --git a/Wox.Infrastructure/IniParser.cs b/Wox.Infrastructure/IniParser.cs deleted file mode 100644 index 95d080d5e3..0000000000 --- a/Wox.Infrastructure/IniParser.cs +++ /dev/null @@ -1,217 +0,0 @@ -using System; -using System.Collections; -using System.IO; - -namespace Wox.Infrastructure -{ - public class IniParser - { - private Hashtable keyPairs = new Hashtable(); - private String iniFilePath; - - private struct SectionPair - { - public String Section; - public String Key; - } - - /// - /// Opens the INI file at the given path and enumerates the values in the IniParser. - /// - /// Full path to INI file. - public IniParser(String iniPath) - { - TextReader iniFile = null; - String strLine = null; - String currentRoot = null; - String[] keyPair = null; - - iniFilePath = iniPath; - - if (File.Exists(iniPath)) - { - try - { - iniFile = new StreamReader(iniPath); - - strLine = iniFile.ReadLine(); - - while (strLine != null) - { - strLine = strLine.Trim(); - - if (strLine != "") - { - if (strLine.StartsWith("[") && strLine.EndsWith("]")) - { - currentRoot = strLine.Substring(1, strLine.Length - 2).ToUpper(); - } - else - { - keyPair = strLine.Split(new char[] { '=' }, 2); - - SectionPair sectionPair; - String value = null; - - if (currentRoot == null) - currentRoot = "ROOT"; - - sectionPair.Section = currentRoot; - sectionPair.Key = keyPair[0].ToUpper().Trim(); - - if (keyPair.Length > 1) - value = keyPair[1]; - - keyPairs.Add(sectionPair, value.Trim()); - } - } - - strLine = iniFile.ReadLine(); - } - - } - catch (Exception ex) - { - throw ex; - } - finally - { - if (iniFile != null) - iniFile.Close(); - } - } - else - throw new FileNotFoundException("Unable to locate " + iniPath); - } - - /// - /// Returns the value for the given section, key pair. - /// - /// Section name. - /// Key name. - public String GetSetting(String sectionName, String settingName) - { - SectionPair sectionPair; - sectionPair.Section = sectionName.ToUpper().Trim(); - sectionPair.Key = settingName.ToUpper().Trim(); - - return (String)keyPairs[sectionPair]; - } - - /// - /// Enumerates all lines for given section. - /// - /// Section to enum. - public String[] EnumSection(String sectionName) - { - ArrayList tmpArray = new ArrayList(); - - foreach (SectionPair pair in keyPairs.Keys) - { - if (pair.Section == sectionName.ToUpper()) - tmpArray.Add(pair.Key); - } - - return (String[])tmpArray.ToArray(typeof(String)); - } - - /// - /// Adds or replaces a setting to the table to be saved. - /// - /// Section to add under. - /// Key name to add. - /// Value of key. - public void AddSetting(String sectionName, String settingName, String settingValue) - { - SectionPair sectionPair; - sectionPair.Section = sectionName.ToUpper(); - sectionPair.Key = settingName.ToUpper(); - - if (keyPairs.ContainsKey(sectionPair)) - keyPairs.Remove(sectionPair); - - keyPairs.Add(sectionPair, settingValue); - } - - /// - /// Adds or replaces a setting to the table to be saved with a null value. - /// - /// Section to add under. - /// Key name to add. - public void AddSetting(String sectionName, String settingName) - { - AddSetting(sectionName, settingName, null); - } - - /// - /// Remove a setting. - /// - /// Section to add under. - /// Key name to add. - public void DeleteSetting(String sectionName, String settingName) - { - SectionPair sectionPair; - sectionPair.Section = sectionName.ToUpper(); - sectionPair.Key = settingName.ToUpper(); - - if (keyPairs.ContainsKey(sectionPair)) - keyPairs.Remove(sectionPair); - } - - /// - /// Save settings to new file. - /// - /// New file path. - public void SaveSettings(String newFilePath) - { - ArrayList sections = new ArrayList(); - String tmpValue = ""; - String strToSave = ""; - - foreach (SectionPair sectionPair in keyPairs.Keys) - { - if (!sections.Contains(sectionPair.Section)) - sections.Add(sectionPair.Section); - } - - foreach (String section in sections) - { - strToSave += ("[" + section + "]\r\n"); - - foreach (SectionPair sectionPair in keyPairs.Keys) - { - if (sectionPair.Section == section) - { - tmpValue = (String)keyPairs[sectionPair]; - - if (tmpValue != null) - tmpValue = "=" + tmpValue; - - strToSave += (sectionPair.Key + tmpValue + "\r\n"); - } - } - - strToSave += "\r\n"; - } - - try - { - TextWriter tw = new StreamWriter(newFilePath); - tw.Write(strToSave); - tw.Close(); - } - catch (Exception ex) - { - throw ex; - } - } - - /// - /// Save settings back to ini file. - /// - public void SaveSettings() - { - SaveSettings(iniFilePath); - } - } -} \ No newline at end of file diff --git a/Wox.Infrastructure/Wox.Infrastructure.csproj b/Wox.Infrastructure/Wox.Infrastructure.csproj index c1dc32ec1c..435388f399 100644 --- a/Wox.Infrastructure/Wox.Infrastructure.csproj +++ b/Wox.Infrastructure/Wox.Infrastructure.csproj @@ -54,7 +54,6 @@ -