Merge pull request #238 from arxanas/no-overwrite-tokens-xml
Fix #231: tokens.xml no longer overwritten by cards.xml.
This commit is contained in:
commit
006451f402
3 changed files with 19 additions and 12 deletions
|
@ -710,7 +710,7 @@ void CardDatabase::loadSetsFromXml(QXmlStreamReader &xml)
|
|||
}
|
||||
}
|
||||
|
||||
void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml)
|
||||
void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml, bool tokens)
|
||||
{
|
||||
while (!xml.atEnd()) {
|
||||
if (xml.readNext() == QXmlStreamReader::EndElement)
|
||||
|
@ -762,7 +762,10 @@ void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml)
|
|||
else if (xml.name() == "token")
|
||||
isToken = xml.readElementText().toInt();
|
||||
}
|
||||
addCard(new CardInfo(this, name, isToken, manacost, type, pt, text, colors, loyalty, cipt, tableRow, sets, customPicURLs, customPicURLsHq, muids));
|
||||
|
||||
if (isToken == tokens) {
|
||||
addCard(new CardInfo(this, name, isToken, manacost, type, pt, text, colors, loyalty, cipt, tableRow, sets, customPicURLs, customPicURLsHq, muids));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -781,7 +784,7 @@ CardInfo *CardDatabase::getCardFromMap(CardNameMap &cardMap, const QString &card
|
|||
return 0;
|
||||
}
|
||||
|
||||
LoadStatus CardDatabase::loadFromFile(const QString &fileName)
|
||||
LoadStatus CardDatabase::loadFromFile(const QString &fileName, bool tokens)
|
||||
{
|
||||
QFile file(fileName);
|
||||
file.open(QIODevice::ReadOnly);
|
||||
|
@ -804,7 +807,7 @@ LoadStatus CardDatabase::loadFromFile(const QString &fileName)
|
|||
if (xml.name() == "sets")
|
||||
loadSetsFromXml(xml);
|
||||
else if (xml.name() == "cards")
|
||||
loadCardsFromXml(xml);
|
||||
loadCardsFromXml(xml, tokens);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -839,7 +842,9 @@ bool CardDatabase::saveToFile(const QString &fileName, bool tokens)
|
|||
QHashIterator<QString, CardInfo *> cardIterator(cards);
|
||||
while (cardIterator.hasNext()) {
|
||||
CardInfo *card = cardIterator.next().value();
|
||||
xml << card;
|
||||
if (tokens == card->getIsToken()) {
|
||||
xml << card;
|
||||
}
|
||||
}
|
||||
xml.writeEndElement(); // cards
|
||||
|
||||
|
@ -873,7 +878,7 @@ LoadStatus CardDatabase::loadCardDatabase(const QString &path, bool tokens)
|
|||
{
|
||||
LoadStatus tempLoadStatus = NotLoaded;
|
||||
if (!path.isEmpty())
|
||||
tempLoadStatus = loadFromFile(path);
|
||||
tempLoadStatus = loadFromFile(path, tokens);
|
||||
|
||||
if (tempLoadStatus == Ok) {
|
||||
SetList allSets;
|
||||
|
|
|
@ -208,7 +208,7 @@ protected:
|
|||
LoadStatus loadStatus;
|
||||
private:
|
||||
static const int versionNeeded;
|
||||
void loadCardsFromXml(QXmlStreamReader &xml);
|
||||
void loadCardsFromXml(QXmlStreamReader &xml, bool tokens);
|
||||
void loadSetsFromXml(QXmlStreamReader &xml);
|
||||
|
||||
CardInfo *getCardFromMap(CardNameMap &cardMap, const QString &cardName, bool createIfNotFound);
|
||||
|
@ -229,7 +229,7 @@ public:
|
|||
CardSet *getSet(const QString &setName);
|
||||
QList<CardInfo *> getCardList() const { return cards.values(); }
|
||||
SetList getSetList() const;
|
||||
LoadStatus loadFromFile(const QString &fileName);
|
||||
LoadStatus loadFromFile(const QString &fileName, bool tokens = false);
|
||||
bool saveToFile(const QString &fileName, bool tokens = false);
|
||||
QStringList getAllColors() const;
|
||||
QStringList getAllMainCardTypes() const;
|
||||
|
|
|
@ -210,11 +210,13 @@ int OracleImporter::importTextSpoiler(CardSet *set, const QVariant &data)
|
|||
}
|
||||
}
|
||||
|
||||
CardInfo *card = addCard(set->getShortName(), cardName, cardIsToken, cardId, cardCost, cardType, cardPT, cardLoyalty, cardText.split("\n"));
|
||||
if (!cardIsToken) {
|
||||
CardInfo *card = addCard(set->getShortName(), cardName, cardIsToken, cardId, cardCost, cardType, cardPT, cardLoyalty, cardText.split("\n"));
|
||||
|
||||
if (!set->contains(card)) {
|
||||
card->addToSet(set);
|
||||
cards++;
|
||||
if (!set->contains(card)) {
|
||||
card->addToSet(set);
|
||||
cards++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue