mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-03 20:13:56 -07:00
Make OracleImporter not extend CardDatabase (#5868)
* Move TOKENS_SETNAME to CardSet * make OracleImporter no longer extend CardDatabase
This commit is contained in:
parent
873e0d346e
commit
a1499854f9
8 changed files with 32 additions and 17 deletions
|
|
@ -161,7 +161,7 @@ void DlgEditTokens::actAddToken()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString setName = CardDatabase::TOKENS_SETNAME;
|
QString setName = CardSet::TOKENS_SETNAME;
|
||||||
CardInfoPerSetMap sets;
|
CardInfoPerSetMap sets;
|
||||||
sets[setName].append(CardInfoPerSet(databaseModel->getDatabase()->getSet(setName)));
|
sets[setName].append(CardInfoPerSet(databaseModel->getDatabase()->getSet(setName)));
|
||||||
CardInfoPtr card = CardInfo::newInstance(name, "", true, QVariantHash(), QList<CardRelation *>(),
|
CardInfoPtr card = CardInfo::newInstance(name, "", true, QVariantHash(), QList<CardRelation *>(),
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
const char *CardDatabase::TOKENS_SETNAME = "TK";
|
|
||||||
|
|
||||||
CardDatabase::CardDatabase(QObject *parent) : QObject(parent), loadStatus(NotLoaded)
|
CardDatabase::CardDatabase(QObject *parent) : QObject(parent), loadStatus(NotLoaded)
|
||||||
{
|
{
|
||||||
qRegisterMetaType<CardInfoPtr>("CardInfoPtr");
|
qRegisterMetaType<CardInfoPtr>("CardInfoPtr");
|
||||||
|
|
@ -560,16 +558,15 @@ void CardDatabase::notifyEnabledSetsChanged()
|
||||||
|
|
||||||
bool CardDatabase::saveCustomTokensToFile()
|
bool CardDatabase::saveCustomTokensToFile()
|
||||||
{
|
{
|
||||||
QString fileName =
|
QString fileName = SettingsCache::instance().getCustomCardDatabasePath() + "/" + CardSet::TOKENS_SETNAME + ".xml";
|
||||||
SettingsCache::instance().getCustomCardDatabasePath() + "/" + CardDatabase::TOKENS_SETNAME + ".xml";
|
|
||||||
|
|
||||||
SetNameMap tmpSets;
|
SetNameMap tmpSets;
|
||||||
CardSetPtr customTokensSet = getSet(CardDatabase::TOKENS_SETNAME);
|
CardSetPtr customTokensSet = getSet(CardSet::TOKENS_SETNAME);
|
||||||
tmpSets.insert(CardDatabase::TOKENS_SETNAME, customTokensSet);
|
tmpSets.insert(CardSet::TOKENS_SETNAME, customTokensSet);
|
||||||
|
|
||||||
CardNameMap tmpCards;
|
CardNameMap tmpCards;
|
||||||
for (const CardInfoPtr &card : cards) {
|
for (const CardInfoPtr &card : cards) {
|
||||||
if (card->getSets().contains(CardDatabase::TOKENS_SETNAME)) {
|
if (card->getSets().contains(CardSet::TOKENS_SETNAME)) {
|
||||||
tmpCards.insert(card->getName(), card);
|
tmpCards.insert(card->getName(), card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,6 @@ private:
|
||||||
*removeCardMutex = new QBasicMutex();
|
*removeCardMutex = new QBasicMutex();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static const char *TOKENS_SETNAME;
|
|
||||||
|
|
||||||
explicit CardDatabase(QObject *parent = nullptr);
|
explicit CardDatabase(QObject *parent = nullptr);
|
||||||
~CardDatabase() override;
|
~CardDatabase() override;
|
||||||
void clear();
|
void clear();
|
||||||
|
|
|
||||||
|
|
@ -387,7 +387,7 @@ TokenEditModel::TokenEditModel(QObject *parent) : CardDatabaseDisplayModel(paren
|
||||||
bool TokenEditModel::filterAcceptsRow(int sourceRow, const QModelIndex & /*sourceParent*/) const
|
bool TokenEditModel::filterAcceptsRow(int sourceRow, const QModelIndex & /*sourceParent*/) const
|
||||||
{
|
{
|
||||||
CardInfoPtr info = static_cast<CardDatabaseModel *>(sourceModel())->getCard(sourceRow);
|
CardInfoPtr info = static_cast<CardDatabaseModel *>(sourceModel())->getCard(sourceRow);
|
||||||
return info->getIsToken() && info->getSets().contains(CardDatabase::TOKENS_SETNAME) && rowMatchesCardName(info);
|
return info->getIsToken() && info->getSets().contains(CardSet::TOKENS_SETNAME) && rowMatchesCardName(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
int TokenEditModel::rowCount(const QModelIndex &parent) const
|
int TokenEditModel::rowCount(const QModelIndex &parent) const
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
const char *CardSet::TOKENS_SETNAME = "TK";
|
||||||
|
|
||||||
CardSet::CardSet(const QString &_shortName,
|
CardSet::CardSet(const QString &_shortName,
|
||||||
const QString &_longName,
|
const QString &_longName,
|
||||||
const QString &_setType,
|
const QString &_setType,
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,8 @@ public:
|
||||||
PriorityLowest = 100,
|
PriorityLowest = 100,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *TOKENS_SETNAME;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString shortName, longName;
|
QString shortName, longName;
|
||||||
unsigned int sortKey;
|
unsigned int sortKey;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ SplitCardPart::SplitCardPart(const QString &_name,
|
||||||
|
|
||||||
const QRegularExpression OracleImporter::formatRegex = QRegularExpression("^format-");
|
const QRegularExpression OracleImporter::formatRegex = QRegularExpression("^format-");
|
||||||
|
|
||||||
OracleImporter::OracleImporter(const QString &_dataDir, QObject *parent) : CardDatabase(parent), dataDir(_dataDir)
|
OracleImporter::OracleImporter(const QString &_dataDir, QObject *parent) : QObject(parent), dataDir(_dataDir)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -463,8 +463,8 @@ int OracleImporter::startImport()
|
||||||
{
|
{
|
||||||
int setCards = 0, setIndex = 0;
|
int setCards = 0, setIndex = 0;
|
||||||
// add an empty set for tokens
|
// add an empty set for tokens
|
||||||
CardSetPtr tokenSet = CardSet::newInstance(TOKENS_SETNAME, tr("Dummy set containing tokens"), "Tokens");
|
CardSetPtr tokenSet = CardSet::newInstance(CardSet::TOKENS_SETNAME, tr("Dummy set containing tokens"), "Tokens");
|
||||||
sets.insert(TOKENS_SETNAME, tokenSet);
|
sets.insert(CardSet::TOKENS_SETNAME, tokenSet);
|
||||||
|
|
||||||
for (const SetToDownload &curSetToParse : allSets) {
|
for (const SetToDownload &curSetToParse : allSets) {
|
||||||
CardSetPtr newSet =
|
CardSetPtr newSet =
|
||||||
|
|
@ -494,6 +494,7 @@ bool OracleImporter::saveToFile(const QString &fileName, const QString &sourceUr
|
||||||
|
|
||||||
void OracleImporter::clear()
|
void OracleImporter::clear()
|
||||||
{
|
{
|
||||||
CardDatabase::clear();
|
sets.clear();
|
||||||
|
cards.clear();
|
||||||
allSets.clear();
|
allSets.clear();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QRegularExpression>
|
#include <QRegularExpression>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
#include <game/cards/card_database.h>
|
#include <game/cards/card_info.h>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
// many users prefer not to see these sets with non english arts
|
// many users prefer not to see these sets with non english arts
|
||||||
|
|
@ -117,13 +117,24 @@ private:
|
||||||
CardInfoPerSet setInfo;
|
CardInfoPerSet setInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
class OracleImporter : public CardDatabase
|
class OracleImporter : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
const QStringList mainCardTypes = {"Planeswalker", "Creature", "Land", "Sorcery",
|
const QStringList mainCardTypes = {"Planeswalker", "Creature", "Land", "Sorcery",
|
||||||
"Instant", "Artifact", "Enchantment"};
|
"Instant", "Artifact", "Enchantment"};
|
||||||
static const QRegularExpression formatRegex;
|
static const QRegularExpression formatRegex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The cards, indexed by name.
|
||||||
|
*/
|
||||||
|
CardNameMap cards;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The sets, indexed by short name.
|
||||||
|
*/
|
||||||
|
SetNameMap sets;
|
||||||
|
|
||||||
QList<SetToDownload> allSets;
|
QList<SetToDownload> allSets;
|
||||||
QVariantMap setsMap;
|
QVariantMap setsMap;
|
||||||
QString dataDir;
|
QString dataDir;
|
||||||
|
|
@ -146,6 +157,10 @@ public:
|
||||||
int startImport();
|
int startImport();
|
||||||
bool saveToFile(const QString &fileName, const QString &sourceUrl, const QString &sourceVersion);
|
bool saveToFile(const QString &fileName, const QString &sourceUrl, const QString &sourceVersion);
|
||||||
int importCardsFromSet(const CardSetPtr ¤tSet, const QList<QVariant> &cards);
|
int importCardsFromSet(const CardSetPtr ¤tSet, const QList<QVariant> &cards);
|
||||||
|
const CardNameMap &getCardList() const
|
||||||
|
{
|
||||||
|
return cards;
|
||||||
|
}
|
||||||
QList<SetToDownload> &getSets()
|
QList<SetToDownload> &getSets()
|
||||||
{
|
{
|
||||||
return allSets;
|
return allSets;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue