[Tutorial] Seed tutorialCompleted for existing installs at startup

This commit is contained in:
Lukas Brübach 2026-10-11 17:46:33 +02:00
parent 338f38b2da
commit e4c67f5ea5
2 changed files with 12 additions and 8 deletions

View file

@ -113,6 +113,12 @@ SettingsCache::SettingsCache()
QString settingsPath = getSettingsPath();
// Decide once, before any migration writes new files, whether this is an
// existing install. Fresh installs have no *.ini files and no legacy
// NativeFormat keys; upgrades have one or the other.
const bool hadExistingSettings =
!QDir(settingsPath).entryList({"*.ini"}, QDir::Files).isEmpty() || !QSettings().allKeys().isEmpty();
settings = new QSettings(settingsPath + "global.ini", QSettings::IniFormat, this);
// Both migrations below overwrite per-domain files in place, so snapshot the whole settings
@ -158,6 +164,12 @@ SettingsCache::SettingsCache()
personalSettings = new PersonalSettings(settingsPath, this);
cardsDisplaySettings = new CardsDisplaySettings(settingsPath, this);
interfaceSettings = new InterfaceSettings(settingsPath, this);
if (hadExistingSettings) {
QSettings iface(settingsPath + "interface.ini", QSettings::IniFormat);
if (!iface.contains("interface/tutorialCompleted")) {
interfaceSettings->setTutorialCompleted(true);
}
}
deckEditorSettings = new DeckEditorSettings(settingsPath, this);
pathsSettings = new PathsSettings(settingsPath, this);
visualDeckStorageSettings = new VisualDeckStorageSettings(settingsPath, this);