protected IniSettings([Localizable(false)] string name, bool reload = true, bool systemConfig = false) {
try {
var directory = systemConfig ? FileUtils.GetSystemCfgDirectory(AcRootDirectory.Instance.RequireValue) :
FileUtils.GetDocumentsCfgDirectory();
Filename = Path.Combine(directory, name + ".ini");
if (reload) {
Reload();
}
var watcher = GetWatcher(directory);
watcher.Changed += OnChanged;
watcher.Created += OnChanged;
watcher.Deleted += OnChanged;
watcher.Renamed += OnRenamed;
} catch (Exception e) {
Logging.Warning("IniSettings exception: " + e);
}
}