mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 09:05:10 -07:00
[DeckList] Remove no-op card XML readElement
AbstractDecklistCardNode::readElement only advanced the XML reader to </card> and always returned 0; a card's attributes were already parsed by the parent InnerDecklistNode::readElement. The containing zone loop skips the card's end tag itself, so the method was dead weight and is dropped from the node interface along with the pure virtual it existed to satisfy.
This commit is contained in:
parent
19b2c22a9f
commit
d77070c1af
5 changed files with 5 additions and 27 deletions
|
|
@ -34,17 +34,6 @@ bool AbstractDecklistCardNode::compareName(AbstractDecklistNode *other) const
|
|||
}
|
||||
}
|
||||
|
||||
int AbstractDecklistCardNode::readElement(QXmlStreamReader *xml, int /* limit */)
|
||||
{
|
||||
while (!xml->atEnd()) {
|
||||
xml->readNext();
|
||||
if (xml->isEndElement() && xml->name().toString() == "card") {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void AbstractDecklistCardNode::writeElement(QXmlStreamWriter *xml)
|
||||
{
|
||||
xml->writeEmptyElement("card");
|
||||
|
|
|
|||
|
|
@ -134,15 +134,6 @@ public:
|
|||
*/
|
||||
bool compareName(AbstractDecklistNode *other) const;
|
||||
|
||||
/**
|
||||
* @brief Deserialize this node’s properties from XML.
|
||||
* @param xml QXmlStreamReader positioned at the element.
|
||||
* @return true if parsing succeeded.
|
||||
*
|
||||
* This supports loading deck files from Cockatrice’s XML format.
|
||||
*/
|
||||
int readElement(QXmlStreamReader *xml, int limit) override;
|
||||
|
||||
/**
|
||||
* @brief Serialize this node’s properties to XML.
|
||||
* @param xml Writer to append this node’s XML element.
|
||||
|
|
|
|||
|
|
@ -183,7 +183,6 @@ public:
|
|||
* Cockatrice deck XML format.
|
||||
* @{
|
||||
*/
|
||||
virtual int readElement(QXmlStreamReader *xml, int limit) = 0;
|
||||
virtual void writeElement(QXmlStreamWriter *xml) = 0;
|
||||
/// @}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -164,12 +164,11 @@ int InnerDecklistNode::readElement(QXmlStreamReader *xml, int limit)
|
|||
} else if (childName == "card") {
|
||||
int amount = xml->attributes().value("number").toString().toInt();
|
||||
amount = qMin(amount, limit - totalCards);
|
||||
auto *newCard = new DecklistCardNode(xml->attributes().value("name").toString(), amount, this, -1,
|
||||
xml->attributes().value("setShortName").toString(),
|
||||
xml->attributes().value("collectorNumber").toString(),
|
||||
xml->attributes().value("uuid").toString());
|
||||
new DecklistCardNode(xml->attributes().value("name").toString(), amount, this, -1,
|
||||
xml->attributes().value("setShortName").toString(),
|
||||
xml->attributes().value("collectorNumber").toString(),
|
||||
xml->attributes().value("uuid").toString());
|
||||
totalCards += amount;
|
||||
totalCards += newCard->readElement(xml, limit - totalCards);
|
||||
}
|
||||
} else if (xml->isEndElement() && (childName == "zone")) {
|
||||
return totalCards;
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ public:
|
|||
* @param limit The maximum amount of cards to read
|
||||
* @return the amount of cards found
|
||||
*/
|
||||
int readElement(QXmlStreamReader *xml, int limit) override;
|
||||
int readElement(QXmlStreamReader *xml, int limit);
|
||||
|
||||
/**
|
||||
* @brief Serialize this node and its children to XML.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue