mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-08-24 17:55:04 -05:00
Fix card counters writing to global
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
#include <QtMath>
|
||||
|
||||
CardCounterSettings::CardCounterSettings(const QString &settingsPath, QObject *parent)
|
||||
: SettingsManager(settingsPath + "global.ini", "cards", "counters", parent)
|
||||
: SettingsManager(settingsPath + "card_counters.ini", "cards", "counters", parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -253,6 +253,25 @@ static void migrateCardsDisplaySettings(const QString &settingsPath, QSettings &
|
||||
}
|
||||
}
|
||||
|
||||
static void migrateCardCounterSettings(const QString &settingsPath, QSettings &globalIni)
|
||||
{
|
||||
QStringList counterKeys;
|
||||
const QStringList allKeys = globalIni.allKeys();
|
||||
for (const auto &key : allKeys) {
|
||||
if (key.startsWith("cards/counters/")) {
|
||||
counterKeys.append(key);
|
||||
}
|
||||
}
|
||||
if (counterKeys.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QSettings countersIni(settingsPath + "card_counters.ini", QSettings::IniFormat);
|
||||
for (const auto &key : counterKeys) {
|
||||
countersIni.setValue(key, globalIni.value(key));
|
||||
}
|
||||
}
|
||||
|
||||
static void migrateInterfaceSettings(const QString &settingsPath, QSettings &globalIni)
|
||||
{
|
||||
const QMap<QString, QString> interfaceKeyMap = {
|
||||
@@ -451,6 +470,7 @@ static void migrateVisualDeckStorageSettings(const QString &settingsPath, QSetti
|
||||
for (auto it = vdsKeyMap.constBegin(); it != vdsKeyMap.constEnd(); ++it) {
|
||||
if (globalIni.contains(it.key())) {
|
||||
hasAny = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasAny) {
|
||||
@@ -659,6 +679,7 @@ bool SettingsMigration::migrateSettingsFromGlobalIni(const QString &settingsPath
|
||||
migratePersonalSettings(settingsPath, globalIni);
|
||||
migrateDownloadSettings(settingsPath, globalIni);
|
||||
migrateCardsDisplaySettings(settingsPath, globalIni);
|
||||
migrateCardCounterSettings(settingsPath, globalIni);
|
||||
migrateInterfaceSettings(settingsPath, globalIni);
|
||||
migrateAppearanceSettings(settingsPath, globalIni);
|
||||
migrateNetworkSettings(settingsPath, globalIni);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include <QColor>
|
||||
#include <QCoreApplication>
|
||||
#include <QDate>
|
||||
#include <QDir>
|
||||
@@ -191,6 +192,8 @@ TEST_F(SettingsMigrationTest, MigratesAllSettingsGroups)
|
||||
g.setValue("cards/printingselectorcardsize", 90);
|
||||
g.setValue("cards/printingselectorsortorder", 3);
|
||||
g.setValue("cards/printingselectornavigationbuttonsvisible", false);
|
||||
// card counters (migrate into card_counters.ini)
|
||||
g.setValue("cards/counters/0/color", QColor(Qt::red));
|
||||
|
||||
// interface
|
||||
g.setValue("interface/usetearoffmenus", true);
|
||||
@@ -355,6 +358,10 @@ TEST_F(SettingsMigrationTest, MigratesAllSettingsGroups)
|
||||
ASSERT_EQ(readFromIni("cards_display.ini", "cards/cardSize/archidektPreview"), QVariant(50));
|
||||
ASSERT_EQ(readFromIni("cards_display.ini", "cards/cardSize/sampleHandSize"), QVariant(5));
|
||||
|
||||
ASSERT_TRUE(fileExists("card_counters.ini"));
|
||||
ASSERT_EQ(readFromIni("card_counters.ini", "cards/counters/0/color").toString(), QColor(Qt::red).name());
|
||||
ASSERT_FALSE(readFromIni("global.ini", "cards/counters/0/color").isValid());
|
||||
|
||||
ASSERT_TRUE(fileExists("interface.ini"));
|
||||
ASSERT_EQ(readFromIni("interface.ini", "interface/useTearOffMenus"), QVariant(true));
|
||||
ASSERT_EQ(readFromIni("interface.ini", "interface/cardViewInitialRowsMax"), QVariant(8));
|
||||
|
||||
Reference in New Issue
Block a user