mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-28 08:52:19 -07:00
Fix card counters writing to global
This commit is contained in:
parent
2ca910e264
commit
cf79f38b72
3 changed files with 29 additions and 1 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
#include <QtMath>
|
#include <QtMath>
|
||||||
|
|
||||||
CardCounterSettings::CardCounterSettings(const QString &settingsPath, QObject *parent)
|
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)
|
static void migrateInterfaceSettings(const QString &settingsPath, QSettings &globalIni)
|
||||||
{
|
{
|
||||||
const QMap<QString, QString> interfaceKeyMap = {
|
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) {
|
for (auto it = vdsKeyMap.constBegin(); it != vdsKeyMap.constEnd(); ++it) {
|
||||||
if (globalIni.contains(it.key())) {
|
if (globalIni.contains(it.key())) {
|
||||||
hasAny = true;
|
hasAny = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!hasAny) {
|
if (!hasAny) {
|
||||||
|
|
@ -659,6 +679,7 @@ bool SettingsMigration::migrateSettingsFromGlobalIni(const QString &settingsPath
|
||||||
migratePersonalSettings(settingsPath, globalIni);
|
migratePersonalSettings(settingsPath, globalIni);
|
||||||
migrateDownloadSettings(settingsPath, globalIni);
|
migrateDownloadSettings(settingsPath, globalIni);
|
||||||
migrateCardsDisplaySettings(settingsPath, globalIni);
|
migrateCardsDisplaySettings(settingsPath, globalIni);
|
||||||
|
migrateCardCounterSettings(settingsPath, globalIni);
|
||||||
migrateInterfaceSettings(settingsPath, globalIni);
|
migrateInterfaceSettings(settingsPath, globalIni);
|
||||||
migrateAppearanceSettings(settingsPath, globalIni);
|
migrateAppearanceSettings(settingsPath, globalIni);
|
||||||
migrateNetworkSettings(settingsPath, globalIni);
|
migrateNetworkSettings(settingsPath, globalIni);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
#include <QColor>
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
@ -191,6 +192,8 @@ TEST_F(SettingsMigrationTest, MigratesAllSettingsGroups)
|
||||||
g.setValue("cards/printingselectorcardsize", 90);
|
g.setValue("cards/printingselectorcardsize", 90);
|
||||||
g.setValue("cards/printingselectorsortorder", 3);
|
g.setValue("cards/printingselectorsortorder", 3);
|
||||||
g.setValue("cards/printingselectornavigationbuttonsvisible", false);
|
g.setValue("cards/printingselectornavigationbuttonsvisible", false);
|
||||||
|
// card counters (migrate into card_counters.ini)
|
||||||
|
g.setValue("cards/counters/0/color", QColor(Qt::red));
|
||||||
|
|
||||||
// interface
|
// interface
|
||||||
g.setValue("interface/usetearoffmenus", true);
|
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/archidektPreview"), QVariant(50));
|
||||||
ASSERT_EQ(readFromIni("cards_display.ini", "cards/cardSize/sampleHandSize"), QVariant(5));
|
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_TRUE(fileExists("interface.ini"));
|
||||||
ASSERT_EQ(readFromIni("interface.ini", "interface/useTearOffMenus"), QVariant(true));
|
ASSERT_EQ(readFromIni("interface.ini", "interface/useTearOffMenus"), QVariant(true));
|
||||||
ASSERT_EQ(readFromIni("interface.ini", "interface/cardViewInitialRowsMax"), QVariant(8));
|
ASSERT_EQ(readFromIni("interface.ini", "interface/cardViewInitialRowsMax"), QVariant(8));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue