Also adjust constructor lol.

Took 8 minutes
This commit is contained in:
Lukas Brübach 2025-11-08 12:32:03 +01:00
parent 975912de90
commit 40087be7bd
5 changed files with 14 additions and 6 deletions

View file

@ -22,7 +22,7 @@ public:
bool saveCardDatabase(const QString &fileName) bool saveCardDatabase(const QString &fileName)
{ {
CockatriceXml4Parser parser; CockatriceXml4Parser parser(new NoopCardPreferenceProvider());
return parser.saveToFile(sets, cards, fileName); return parser.saveToFile(sets, cards, fileName);
} }
}; };

View file

@ -23,7 +23,7 @@ CardDatabase::CardDatabase(QObject *parent,
qRegisterMetaType<CardInfoPtr>("CardSetPtr"); qRegisterMetaType<CardInfoPtr>("CardSetPtr");
// create loader and wire it up // create loader and wire it up
loader = new CardDatabaseLoader(this, this, pathProvider); loader = new CardDatabaseLoader(this, this, pathProvider, prefs);
// re-emit loader signals (so other code doesn't need to know about internals) // re-emit loader signals (so other code doesn't need to know about internals)
connect(loader, &CardDatabaseLoader::loadingFinished, this, &CardDatabase::cardDatabaseLoadingFinished); connect(loader, &CardDatabaseLoader::loadingFinished, this, &CardDatabase::cardDatabaseLoadingFinished);
connect(loader, &CardDatabaseLoader::loadingFailed, this, &CardDatabase::cardDatabaseLoadingFailed); connect(loader, &CardDatabaseLoader::loadingFailed, this, &CardDatabase::cardDatabaseLoadingFailed);

View file

@ -9,11 +9,14 @@
#include <QFile> #include <QFile>
#include <QTime> #include <QTime>
CardDatabaseLoader::CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *_pathProvider) CardDatabaseLoader::CardDatabaseLoader(QObject *parent,
CardDatabase *db,
ICardDatabasePathProvider *_pathProvider,
ICardPreferenceProvider *_preferenceProvider)
: QObject(parent), database(db), pathProvider(_pathProvider) : QObject(parent), database(db), pathProvider(_pathProvider)
{ {
// instantiate available parsers here and connect them to the database // instantiate available parsers here and connect them to the database
availableParsers << new CockatriceXml4Parser; availableParsers << new CockatriceXml4Parser(_preferenceProvider);
availableParsers << new CockatriceXml3Parser; availableParsers << new CockatriceXml3Parser;
for (auto *p : availableParsers) { for (auto *p : availableParsers) {

View file

@ -12,6 +12,7 @@
#include <QLoggingCategory> #include <QLoggingCategory>
#include <QObject> #include <QObject>
#include <libcockatrice/interfaces/interface_card_database_path_provider.h> #include <libcockatrice/interfaces/interface_card_database_path_provider.h>
#include <libcockatrice/interfaces/interface_card_preference_provider.h>
inline Q_LOGGING_CATEGORY(CardDatabaseLoadingLog, "card_database.loading"); inline Q_LOGGING_CATEGORY(CardDatabaseLoadingLog, "card_database.loading");
inline Q_LOGGING_CATEGORY(CardDatabaseLoadingSuccessOrFailureLog, "card_database.loading.success_or_failure"); inline Q_LOGGING_CATEGORY(CardDatabaseLoadingSuccessOrFailureLog, "card_database.loading.success_or_failure");
@ -33,7 +34,10 @@ class CardDatabaseLoader : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit CardDatabaseLoader(QObject *parent, CardDatabase *db, ICardDatabasePathProvider *pathProvider); explicit CardDatabaseLoader(QObject *parent,
CardDatabase *db,
ICardDatabasePathProvider *pathProvider,
ICardPreferenceProvider *preferenceProvider);
~CardDatabaseLoader() override; ~CardDatabaseLoader() override;
public slots: public slots:

View file

@ -8,6 +8,7 @@
#include <QRegularExpression> #include <QRegularExpression>
#include <algorithm> #include <algorithm>
#include <climits> #include <climits>
#include <database/interface/settings_card_preference_provider.h>
#include <libcockatrice/card/database/parser/cockatrice_xml_4.h> #include <libcockatrice/card/database/parser/cockatrice_xml_4.h>
#include <libcockatrice/card/relation/card_relation.h> #include <libcockatrice/card/relation/card_relation.h>
@ -490,7 +491,7 @@ int OracleImporter::startImport()
bool OracleImporter::saveToFile(const QString &fileName, const QString &sourceUrl, const QString &sourceVersion) bool OracleImporter::saveToFile(const QString &fileName, const QString &sourceUrl, const QString &sourceVersion)
{ {
CockatriceXml4Parser parser; CockatriceXml4Parser parser(new SettingsCardPreferenceProvider());
return parser.saveToFile(sets, cards, fileName, sourceUrl, sourceVersion); return parser.saveToFile(sets, cards, fileName, sourceUrl, sourceVersion);
} }