mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-21 18:02:14 -07:00
Refactor setCode to cardUUID and introduce new cardSetShortName field.
This commit is contained in:
parent
89daa0ec4a
commit
ff3e6796cf
5 changed files with 85 additions and 35 deletions
|
|
@ -726,7 +726,7 @@ void TabDeckEditor::updateCardInfoRight(const QModelIndex ¤t, const QModel
|
|||
return;
|
||||
if (!current.model()->hasChildren(current.sibling(current.row(), 0))) {
|
||||
cardInfo->setCard(current.sibling(current.row(), 1).data().toString(),
|
||||
current.sibling(current.row(), 2).data().toString());
|
||||
current.sibling(current.row(), 4).data().toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ int DeckListModel::rowCount(const QModelIndex &parent) const
|
|||
|
||||
int DeckListModel::columnCount(const QModelIndex & /*parent*/) const
|
||||
{
|
||||
return 4;
|
||||
return 5;
|
||||
}
|
||||
|
||||
QVariant DeckListModel::data(const QModelIndex &index, int role) const
|
||||
|
|
@ -114,11 +114,14 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
|
|||
return node->getName();
|
||||
}
|
||||
case 2: {
|
||||
return node->getCardUuid();
|
||||
return node->getCardSetShortName();
|
||||
}
|
||||
case 3: {
|
||||
return node->getCardCollectorNumber();
|
||||
}
|
||||
case 4: {
|
||||
return node->getCardUuid();
|
||||
}
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
@ -143,9 +146,11 @@ QVariant DeckListModel::data(const QModelIndex &index, int role) const
|
|||
case 1:
|
||||
return card->getName();
|
||||
case 2:
|
||||
return card->getCardUuid();
|
||||
return card->getCardSetShortName();
|
||||
case 3:
|
||||
return card->getCardCollectorNumber();
|
||||
case 4:
|
||||
return card->getCardUuid();
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
@ -182,6 +187,8 @@ QVariant DeckListModel::headerData(const int section, const Qt::Orientation orie
|
|||
return tr("Set");
|
||||
case 3:
|
||||
return tr("Number");
|
||||
case 4:
|
||||
return tr("UUID");
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
|
@ -244,11 +251,14 @@ bool DeckListModel::setData(const QModelIndex &index, const QVariant &value, con
|
|||
node->setName(value.toString());
|
||||
break;
|
||||
case 2:
|
||||
node->setCardSetCode(value.toString());
|
||||
node->setCardSetShortName(value.toString());
|
||||
break;
|
||||
case 3:
|
||||
node->setCardCollectorNumber(value.toString());
|
||||
break;
|
||||
case 4:
|
||||
node->setCardUUID(value.toString());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
@ -375,15 +385,17 @@ QModelIndex DeckListModel::addCard(const QString &cardName,
|
|||
auto *cardNode = dynamic_cast<DecklistModelCardNode *>(
|
||||
cardTypeNode->findCardChildByNameAndUUID(cardName, cardInfoSet.getProperty("uuid")));
|
||||
if (!cardNode) {
|
||||
auto *decklistCard = deckList->addCard(cardInfo->getName(), zoneName, cardInfoSet.getProperty("uuid"),
|
||||
cardInfoSet.getProperty("num"));
|
||||
auto *decklistCard =
|
||||
deckList->addCard(cardInfo->getName(), zoneName, cardInfoSet.getPtr()->getCorrectedShortName(),
|
||||
cardInfoSet.getProperty("num"), cardInfoSet.getProperty("uuid"));
|
||||
beginInsertRows(parentIndex, static_cast<int>(cardTypeNode->size()), static_cast<int>(cardTypeNode->size()));
|
||||
cardNode = new DecklistModelCardNode(decklistCard, cardTypeNode);
|
||||
endInsertRows();
|
||||
} else {
|
||||
cardNode->setNumber(cardNode->getNumber() + 1);
|
||||
cardNode->setCardSetCode(cardInfoSet.getProperty("uuid"));
|
||||
cardNode->setCardSetShortName(cardInfoSet.getPtr()->getCorrectedShortName());
|
||||
cardNode->setCardCollectorNumber(cardInfoSet.getProperty("num"));
|
||||
cardNode->setCardUUID(cardInfoSet.getProperty("uuid"));
|
||||
deckList->updateDeckHash();
|
||||
}
|
||||
sort(lastKnownColumn, lastKnownOrder);
|
||||
|
|
|
|||
|
|
@ -42,9 +42,17 @@ public:
|
|||
{
|
||||
return dataNode->getCardUuid();
|
||||
}
|
||||
void setCardSetCode(const QString &_cardSetName) override
|
||||
void setCardUUID(const QString &_cardUUID) override
|
||||
{
|
||||
dataNode->setCardSetCode(_cardSetName);
|
||||
dataNode->setCardUUID(_cardUUID);
|
||||
}
|
||||
QString getCardSetShortName() const override
|
||||
{
|
||||
return dataNode->getCardSetShortName();
|
||||
}
|
||||
void setCardSetShortName(const QString &_cardSetShortName) override
|
||||
{
|
||||
dataNode->setCardSetShortName(_cardSetShortName);
|
||||
}
|
||||
QString getCardCollectorNumber() const override
|
||||
{
|
||||
|
|
|
|||
|
|
@ -88,8 +88,8 @@ int AbstractDecklistNode::depth() const
|
|||
}
|
||||
|
||||
InnerDecklistNode::InnerDecklistNode(InnerDecklistNode *other, InnerDecklistNode *_parent)
|
||||
: AbstractDecklistNode(_parent), name(other->getName()), cardSetCode(other->getCardUuid()),
|
||||
cardCollectorNumber(other->getCardCollectorNumber())
|
||||
: AbstractDecklistNode(_parent), name(other->getName()), cardSetShortName(other->getCardSetShortName()),
|
||||
cardCollectorNumber(other->getCardCollectorNumber()), cardUUID(other->getCardUuid())
|
||||
{
|
||||
for (int i = 0; i < other->size(); ++i) {
|
||||
auto *inner = dynamic_cast<InnerDecklistNode *>(other->at(i));
|
||||
|
|
@ -141,7 +141,8 @@ void InnerDecklistNode::clearTree()
|
|||
|
||||
DecklistCardNode::DecklistCardNode(DecklistCardNode *other, InnerDecklistNode *_parent)
|
||||
: AbstractDecklistCardNode(_parent), name(other->getName()), number(other->getNumber()),
|
||||
cardSetName(other->getCardUuid()), cardSetNumber(other->getCardCollectorNumber())
|
||||
cardSetShortName(other->getCardSetShortName()), cardSetNumber(other->getCardCollectorNumber()),
|
||||
cardUUID(other->getCardUuid())
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -280,10 +281,10 @@ bool InnerDecklistNode::readElement(QXmlStreamReader *xml)
|
|||
InnerDecklistNode *newZone = new InnerDecklistNode(xml->attributes().value("name").toString(), this);
|
||||
newZone->readElement(xml);
|
||||
} else if (childName == "card") {
|
||||
DecklistCardNode *newCard = new DecklistCardNode(xml->attributes().value("name").toString(),
|
||||
xml->attributes().value("number").toString().toInt(),
|
||||
this, xml->attributes().value("uuid").toString(),
|
||||
xml->attributes().value("collectorNumber").toString());
|
||||
DecklistCardNode *newCard = new DecklistCardNode(
|
||||
xml->attributes().value("name").toString(), xml->attributes().value("number").toString().toInt(),
|
||||
this, xml->attributes().value("setShortName").toString(),
|
||||
xml->attributes().value("collectorNumber").toString(), xml->attributes().value("uuid").toString());
|
||||
newCard->readElement(xml);
|
||||
}
|
||||
} else if (xml->isEndElement() && (childName == "zone"))
|
||||
|
|
@ -317,11 +318,14 @@ void AbstractDecklistCardNode::writeElement(QXmlStreamWriter *xml)
|
|||
xml->writeAttribute("number", QString::number(getNumber()));
|
||||
xml->writeAttribute("name", getName());
|
||||
|
||||
if (getCardSetShortName() != "") {
|
||||
xml->writeAttribute("setShortName", getCardSetShortName());
|
||||
}
|
||||
if (getCardCollectorNumber() != "") {
|
||||
xml->writeAttribute("collectorNumber", getCardCollectorNumber());
|
||||
}
|
||||
if (getCardUuid() != "") {
|
||||
xml->writeAttribute("uuid", getCardUuid());
|
||||
if (getCardCollectorNumber() != "") {
|
||||
xml->writeAttribute("collectorNumber", getCardCollectorNumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -763,14 +767,15 @@ int DeckList::getSideboardSize() const
|
|||
DecklistCardNode *DeckList::addCard(const QString &cardName,
|
||||
const QString &zoneName,
|
||||
const QString &cardSetName,
|
||||
const QString &cardSetCollectorNumber)
|
||||
const QString &cardSetCollectorNumber,
|
||||
const QString &cardUUID)
|
||||
{
|
||||
auto *zoneNode = dynamic_cast<InnerDecklistNode *>(root->findChild(zoneName));
|
||||
if (zoneNode == nullptr) {
|
||||
zoneNode = new InnerDecklistNode(zoneName, root);
|
||||
}
|
||||
|
||||
auto *node = new DecklistCardNode(cardName, 1, zoneNode, cardSetName, cardSetCollectorNumber);
|
||||
auto *node = new DecklistCardNode(cardName, 1, zoneNode, cardSetName, cardSetCollectorNumber, cardUUID);
|
||||
updateDeckHash();
|
||||
|
||||
return node;
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public:
|
|||
}
|
||||
virtual QString getName() const = 0;
|
||||
virtual QString getCardUuid() const = 0;
|
||||
virtual QString getCardSetShortName() const = 0;
|
||||
virtual QString getCardCollectorNumber() const = 0;
|
||||
InnerDecklistNode *getParent() const
|
||||
{
|
||||
|
|
@ -80,8 +81,9 @@ public:
|
|||
class InnerDecklistNode : public AbstractDecklistNode, public QList<AbstractDecklistNode *>
|
||||
{
|
||||
QString name;
|
||||
QString cardSetCode;
|
||||
QString cardSetShortName;
|
||||
QString cardCollectorNumber;
|
||||
QString cardUUID;
|
||||
class compareFunctor;
|
||||
|
||||
public:
|
||||
|
|
@ -104,11 +106,19 @@ public:
|
|||
[[nodiscard]] virtual QString getVisibleName() const;
|
||||
[[nodiscard]] QString getCardUuid() const override
|
||||
{
|
||||
return cardSetCode;
|
||||
return cardUUID;
|
||||
}
|
||||
void setCardSetCode(const QString &_cardSetCode)
|
||||
void setCardUUID(const QString &_cardUUID)
|
||||
{
|
||||
cardSetCode = _cardSetCode;
|
||||
cardUUID = _cardUUID;
|
||||
}
|
||||
[[nodiscard]] QString getCardSetShortName() const override
|
||||
{
|
||||
return cardSetShortName;
|
||||
}
|
||||
void setCardSetShortName(const QString &_cardSetShortName)
|
||||
{
|
||||
cardSetShortName = _cardSetShortName;
|
||||
}
|
||||
[[nodiscard]] QString getCardCollectorNumber() const override
|
||||
{
|
||||
|
|
@ -144,7 +154,9 @@ public:
|
|||
QString getName() const override = 0;
|
||||
virtual void setName(const QString &_name) = 0;
|
||||
virtual QString getCardUuid() const override = 0;
|
||||
virtual void setCardSetCode(const QString &_cardSetName) = 0;
|
||||
virtual void setCardUUID(const QString &_cardUUID) = 0;
|
||||
virtual QString getCardSetShortName() const override = 0;
|
||||
virtual void setCardSetShortName(const QString &_cardSetShortName) = 0;
|
||||
virtual QString getCardCollectorNumber() const override = 0;
|
||||
virtual void setCardCollectorNumber(const QString &_cardSetNumber) = 0;
|
||||
int height() const override
|
||||
|
|
@ -163,17 +175,20 @@ class DecklistCardNode : public AbstractDecklistCardNode
|
|||
{
|
||||
QString name;
|
||||
int number;
|
||||
QString cardSetName;
|
||||
QString cardSetShortName;
|
||||
QString cardSetNumber;
|
||||
QString cardUUID;
|
||||
|
||||
public:
|
||||
explicit DecklistCardNode(QString _name = QString(),
|
||||
int _number = 1,
|
||||
InnerDecklistNode *_parent = nullptr,
|
||||
QString _cardSetName = QString(),
|
||||
QString _cardSetNumber = QString())
|
||||
QString _cardSetShortName = QString(),
|
||||
QString _cardSetNumber = QString(),
|
||||
QString _cardUUID = QString())
|
||||
: AbstractDecklistCardNode(_parent), name(std::move(_name)), number(_number),
|
||||
cardSetName(std::move(_cardSetName)), cardSetNumber(std::move(_cardSetNumber))
|
||||
cardSetShortName(std::move(_cardSetShortName)), cardSetNumber(std::move(_cardSetNumber)),
|
||||
cardUUID(std::move(_cardUUID))
|
||||
{
|
||||
}
|
||||
explicit DecklistCardNode(DecklistCardNode *other, InnerDecklistNode *_parent);
|
||||
|
|
@ -195,11 +210,20 @@ public:
|
|||
}
|
||||
QString getCardUuid() const override
|
||||
{
|
||||
return cardSetName;
|
||||
return cardUUID;
|
||||
}
|
||||
void setCardSetCode(const QString &_cardSetName) override
|
||||
void setCardUUID(const QString &_cardUUID) override
|
||||
{
|
||||
cardSetName = _cardSetName;
|
||||
cardUUID = _cardUUID;
|
||||
}
|
||||
|
||||
QString getCardSetShortName() const override
|
||||
{
|
||||
return cardSetShortName;
|
||||
}
|
||||
void setCardSetShortName(const QString &_cardSetShortName)
|
||||
{
|
||||
cardSetShortName = _cardSetShortName;
|
||||
}
|
||||
QString getCardCollectorNumber() const override
|
||||
{
|
||||
|
|
@ -300,7 +324,8 @@ public:
|
|||
DecklistCardNode *addCard(const QString &cardName,
|
||||
const QString &zoneName,
|
||||
const QString &cardSetName = QString(),
|
||||
const QString &cardSetCollectorNumber = QString());
|
||||
const QString &cardSetCollectorNumber = QString(),
|
||||
const QString &cardUUID = QString());
|
||||
bool deleteNode(AbstractDecklistNode *node, InnerDecklistNode *rootNode = nullptr);
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue