Banner cards should respect providerIds.

This commit is contained in:
Lukas Brübach 2025-01-08 05:27:21 +01:00
parent 30bafe6348
commit 1cf25e3c5f
4 changed files with 40 additions and 25 deletions

View file

@ -427,7 +427,9 @@ bool DeckList::readElement(QXmlStreamReader *xml)
else if (childName == "comments")
comments = xml->readElementText();
else if (childName == "bannerCard") {
bannerCard = xml->readElementText();
QString providerId = xml->attributes().value("providerId").toString();
QString cardName = xml->readElementText();
bannerCard = QPair<QString, QString>(cardName, providerId);
} else if (childName == "zone") {
InnerDecklistNode *newZone = getZoneObjFromName(xml->attributes().value("name").toString());
newZone->readElement(xml);
@ -449,8 +451,11 @@ void DeckList::write(QXmlStreamWriter *xml)
xml->writeAttribute("version", "1");
xml->writeTextElement("lastLoadedTimestamp", lastLoadedTimestamp);
xml->writeTextElement("deckname", name);
xml->writeStartElement("bannerCard");
xml->writeAttribute("providerId", bannerCard.second);
xml->writeCharacters(bannerCard.first);
xml->writeEndElement();
xml->writeTextElement("comments", comments);
xml->writeTextElement("bannerCard", bannerCard);
for (int i = 0; i < root->size(); i++)
root->at(i)->writeElement(xml);
@ -458,6 +463,7 @@ void DeckList::write(QXmlStreamWriter *xml)
QMapIterator<QString, SideboardPlan *> i(sideboardPlans);
while (i.hasNext())
i.next().value()->write(xml);
xml->writeEndElement();
}

View file

@ -250,7 +250,8 @@ class DeckList : public QObject
{
Q_OBJECT
private:
QString name, comments, bannerCard;
QString name, comments;
QPair<QString, QString> bannerCard;
QString deckHash;
QString lastLoadedTimestamp;
QMap<QString, SideboardPlan *> sideboardPlans;
@ -280,7 +281,7 @@ public slots:
{
comments = _comments;
}
void setBannerCard(const QString &_bannerCard = QString())
void setBannerCard(const QPair<QString, QString> &_bannerCard = QPair<QString, QString>())
{
bannerCard = _bannerCard;
}
@ -302,7 +303,7 @@ public:
{
return comments;
}
QString getBannerCard() const
QPair<QString, QString> getBannerCard() const
{
return bannerCard;
}