private async void ReloadLater() {
if (_reloading || _saving || DateTime.Now - _lastSaved < TimeSpan.FromSeconds(3)) return;
_reloading = true;
await Task.Delay(200);
try {
int i;
for (i = 0; i < 5; i++) {
try {
Ini = new IniFile(Filename);
break;
} catch (Exception) {
await Task.Delay(100);
}
}
if (i == 5) {
Logging.Warning("Can’t load config file: " + Path.GetFileName(Filename));
return;
}
IsLoading = true;
Application.Current.Dispatcher.Invoke(LoadFromIni);
IsLoading = false;
} finally {
_reloading = false;
}
}