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