public static void DeleteIniFile(IniLocationFlags location) { if (location.HasFlag(IniLocationFlags.Local)) { if (File.Exists(localIniFileName)) { File.Delete(localIniFileName); } iniLocation &= ~IniLocationFlags.Local; } if (location.HasFlag(IniLocationFlags.AppData)) { if (File.Exists(appDataPath)) { File.Delete(appDataPath); } iniLocation &= ~IniLocationFlags.AppData; } }
static IniSettingsProvider() { if (File.Exists(appDataPath)) { iniLocation |= IniLocationFlags.AppData; } if (File.Exists(localIniFileName)) { iniLocation |= IniLocationFlags.Local; } if (iniLocation.HasFlag(IniLocationFlags.Local)) { data = parser.ReadFile(localIniFileName); } else if (iniLocation.HasFlag(IniLocationFlags.AppData)) { data = parser.ReadFile(appDataPath); } }
public static void SaveIniFile(Settings settings, IniLocationFlags location) { IniData data = new IniData(); data.Sections.AddSection("General"); data["General"].AddKey("Language", settings.language); data.Sections.AddSection("AdvancedOptions"); data["AdvancedOptions"].AddKey("SelfRepack", settings.isRepackable.ToString()); data["AdvancedOptions"].AddKey("UnpackDirectory", settings.unpackDirectory.ToString()); data["AdvancedOptions"].AddKey("OpenUnpackDirectory", settings.openUnpackDirectory.ToString()); data["AdvancedOptions"].AddKey("CmdArguments", settings.launchArguments); data["AdvancedOptions"].AddKey("FileDescription", settings.customFileDescription); data["AdvancedOptions"].AddKey("WindowlessUnpacker", settings.isWindowless.ToString()); data["AdvancedOptions"].AddKey("SplashScreenProgressBar", settings.isSplashProgressBarEnabled.ToString()); data.Sections.AddSection("Window"); data["Window"].AddKey("PositionTop", settings.positionTop.ToString()); data["Window"].AddKey("PositionLeft", settings.positionLeft.ToString()); data["Window"].AddKey("Width", settings.width.ToString()); data["Window"].AddKey("Height", settings.height.ToString()); if (location.HasFlag(IniLocationFlags.Local)) { parser.WriteFile(localIniFileName, data); iniLocation |= IniLocationFlags.Local; } else if (location.HasFlag(IniLocationFlags.AppData)) { if (!Directory.Exists(appDataFolder)) { Directory.CreateDirectory(appDataFolder); } parser.WriteFile(appDataPath, data); iniLocation |= IniLocationFlags.AppData; } }