mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-03-12 21:22:55 -07:00
[Oracle] Move oracle settings to separate file (#6588)
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
#include "oracleimporter.h"
|
||||
|
||||
#include "client/settings/cache_settings.h"
|
||||
#include "libcockatrice/interfaces/noop_card_preference_provider.h"
|
||||
#include "libcockatrice/interfaces/noop_card_set_priority_controller.h"
|
||||
#include "parsehelpers.h"
|
||||
|
||||
@@ -21,7 +21,14 @@ OracleWizard::OracleWizard(QWidget *parent) : QWizard(parent)
|
||||
// define a dummy context that will be used where needed
|
||||
QString dummy = QT_TRANSLATE_NOOP("i18n", "English");
|
||||
|
||||
settings = new QSettings(SettingsCache::instance().getSettingsPath() + "global.ini", QSettings::IniFormat, this);
|
||||
QString oracleSettingsFile = SettingsCache::instance().getSettingsPath() + "oracle.ini";
|
||||
settings = new QSettings(oracleSettingsFile, QSettings::IniFormat, this);
|
||||
|
||||
// We moved the oracle-specific settings from global.ini to a separate oracle.ini after 2.10
|
||||
if (!QFile::exists(oracleSettingsFile)) {
|
||||
migrateOracleSettings();
|
||||
}
|
||||
|
||||
connect(&SettingsCache::instance(), &SettingsCache::langChanged, this, &OracleWizard::updateLanguage);
|
||||
|
||||
importer = new OracleImporter(this);
|
||||
@@ -50,6 +57,26 @@ OracleWizard::OracleWizard(QWidget *parent) : QWizard(parent)
|
||||
retranslateUi();
|
||||
}
|
||||
|
||||
/**
|
||||
* Migrates the oracle-specific settings from global.ini to oracle.ini
|
||||
*/
|
||||
void OracleWizard::migrateOracleSettings()
|
||||
{
|
||||
QString filePath = SettingsCache::instance().getSettingsPath() + "global.ini";
|
||||
auto globalSettings = QSettings(filePath, QSettings::IniFormat, this);
|
||||
|
||||
auto tryMigrateValue = [this, &globalSettings](const QString &name) {
|
||||
QVariant variant = globalSettings.value(name);
|
||||
if (variant.isValid()) {
|
||||
settings->setValue(name, variant.toString());
|
||||
}
|
||||
};
|
||||
|
||||
tryMigrateValue("allsetsurl");
|
||||
tryMigrateValue("tokensurl");
|
||||
tryMigrateValue("spoilersurl");
|
||||
}
|
||||
|
||||
void OracleWizard::updateLanguage()
|
||||
{
|
||||
qApp->removeTranslator(translator);
|
||||
|
||||
@@ -75,6 +75,8 @@ private:
|
||||
QString cardSourceUrl;
|
||||
QString cardSourceVersion;
|
||||
|
||||
void migrateOracleSettings();
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent *event) override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user