[Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050)

* [Settings] Split cache_settings into multiple files

Took 9 minutes

Took 4 minutes

* [Settings] Fwd declare settings classes in cache_settings

Took 15 minutes

* Fix oracle includes.

Took 8 minutes

* Address comments, fix windows CI

Took 8 minutes

* fix copy constructor visibility

Took 3 minutes

* lint

Took 2 minutes

* Fix native format tests.

Took 5 minutes

* Remove test header guard

Took 4 seconds

* Remove tests invalid in CI environ

Took 24 seconds

* Adjust to rebase.

Took 11 minutes

* Change settings file name.

Took 8 minutes

---------

Co-authored-by: Lukas Brübach <lukas.bruebach@bdosecurity.de>
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-07-27 11:25:39 +02:00 committed by GitHub
parent cf0b453e75
commit 12f0f59453
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
166 changed files with 5589 additions and 3066 deletions

View file

@ -10,6 +10,7 @@
#include <QLibraryInfo>
#include <QTimer>
#include <QTranslator>
#include <libcockatrice/settings/personal_settings.h>
QTranslator *translator, *qtTranslator;
ThemeManager *themeManager;
@ -21,7 +22,7 @@ bool isBackgrounded;
void installNewTranslator()
{
QString lang = SettingsCache::instance().getLang();
QString lang = SettingsCache::instance().personal().getLang();
QString qtNameHint = "qt_" + lang;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))

View file

@ -15,6 +15,7 @@
#include <QScrollBar>
#include <QtConcurrent>
#include <QtGui>
#include <libcockatrice/settings/personal_settings.h>
OracleWizard::OracleWizard(QWidget *parent) : QWizard(parent)
{
@ -33,7 +34,7 @@ OracleWizard::OracleWizard(QWidget *parent) : QWizard(parent)
migrateOracleSettings();
}
connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &OracleWizard::updateLanguage);
connect(&SettingsCache::instance().personal(), &PersonalSettings::langChanged, this, &OracleWizard::updateLanguage);
importer = new OracleImporter(this);

View file

@ -28,6 +28,7 @@
#include <QTextEdit>
#include <QtConcurrent>
#include <QtGui>
#include <libcockatrice/settings/personal_settings.h>
#ifdef HAS_LZMA
#include "lzma/decompress.h"
@ -119,7 +120,7 @@ QString IntroPage::languageName(const QString &lang)
void IntroPage::languageBoxChanged(int index)
{
SettingsCache::instance().setLang(languageBox->itemData(index).toString());
SettingsCache::instance().personal().setLang(languageBox->itemData(index).toString());
}
void IntroPage::retranslateUi()