mirror of
https://github.com/MaSzyna-EU07/StarterNG.git
synced 2026-11-02 12:49:12 +01:00
Ask once when the settings file changes
The window is activated again as the question closes, before the answer is in, so a changed eu07.ini was asked about three times in a row.
This commit is contained in:
@@ -744,25 +744,36 @@ public partial class MainWindow : Window
|
||||
AppServices.Current.Processes.OpenInShell(folder);
|
||||
}
|
||||
|
||||
// The window is activated again as the question closes, before the answer is in.
|
||||
private bool _askingAboutSettings;
|
||||
|
||||
private async void CheckExternalSettings()
|
||||
{
|
||||
if ((DateTime.UtcNow - _openedUtc).TotalSeconds < 3)
|
||||
if (_askingAboutSettings || (DateTime.UtcNow - _openedUtc).TotalSeconds < 3)
|
||||
return;
|
||||
if (!AppServices.Current.SettingsStore.IsConfigNewerOnDisk())
|
||||
return;
|
||||
|
||||
var result = await MessageBox.Show(
|
||||
this,
|
||||
App.Loc["SettingsFileChanged"],
|
||||
App.Loc["SettingsFileChangedTitle"],
|
||||
MessageBoxButtons.YesNo);
|
||||
if (result)
|
||||
_askingAboutSettings = true;
|
||||
try
|
||||
{
|
||||
AppServices.Current.SettingsStore.Load();
|
||||
SettingsView?.ReloadFromSettings();
|
||||
var result = await MessageBox.Show(
|
||||
this,
|
||||
App.Loc["SettingsFileChanged"],
|
||||
App.Loc["SettingsFileChangedTitle"],
|
||||
MessageBoxButtons.YesNo);
|
||||
if (result)
|
||||
{
|
||||
AppServices.Current.SettingsStore.Load();
|
||||
SettingsView?.ReloadFromSettings();
|
||||
}
|
||||
else
|
||||
AppServices.Current.SettingsStore.TouchConfigAge();
|
||||
}
|
||||
finally
|
||||
{
|
||||
_askingAboutSettings = false;
|
||||
}
|
||||
else
|
||||
AppServices.Current.SettingsStore.TouchConfigAge();
|
||||
}
|
||||
|
||||
private void RestoreFromSimulator()
|
||||
|
||||
Reference in New Issue
Block a user