Improved token loading

This commit is contained in:
Fabio Bas 2017-04-29 20:01:57 +02:00 committed by Zach H
parent 339945e089
commit 36f6907fa3
10 changed files with 79 additions and 53 deletions

View file

@ -190,9 +190,19 @@ void DeckLoader::saveToStream_DeckZoneCards(QTextStream &out, const InnerDecklis
{
DecklistCardNode* card = cards[i];
if (zoneNode->getName() == "side")
if (zoneNode->getName() == DECK_ZONE_SIDE)
out << "SB: ";
out << card->getNumber() << " " << card->getName() << "\n";
}
}
QString DeckLoader::getCardZoneFromName(QString cardName, QString currentZoneName)
{
CardInfo *card = db->getCard(cardName);
if(card && card->getIsToken())
return DECK_ZONE_TOKENS;
return currentZoneName;
}

View file

@ -36,6 +36,7 @@ protected:
void saveToStream_DeckHeader(QTextStream &out);
void saveToStream_DeckZone(QTextStream &out, const InnerDecklistNode *zoneNode);
void saveToStream_DeckZoneCards(QTextStream &out, const InnerDecklistNode *zoneNode, QList <DecklistCardNode*> cards);
virtual QString getCardZoneFromName(QString cardName, QString currentZoneName);
};
#endif

View file

@ -82,7 +82,7 @@ void DeckViewCard::paint(QPainter *painter, const QStyleOptionGraphicsItem *opti
QPen pen;
pen.setWidth(3);
pen.setJoinStyle(Qt::MiterJoin);
pen.setColor(originZone == "main" ? Qt::green : Qt::red);
pen.setColor(originZone == DECK_ZONE_MAIN ? Qt::green : Qt::red);
painter->setPen(pen);
painter->drawRect(QRectF(1, 1, CARD_WIDTH - 2, CARD_HEIGHT - 2.5));
painter->restore();
@ -134,10 +134,10 @@ void DeckView::mouseDoubleClickEvent(QMouseEvent *event)
m.set_card_name(c->getName().toStdString());
m.set_start_zone(zone->getName().toStdString());
if (zone->getName() == "main")
m.set_target_zone("side");
else if (zone->getName() == "side")
m.set_target_zone("main");
if (zone->getName() == DECK_ZONE_MAIN)
m.set_target_zone(DECK_ZONE_SIDE);
else if (zone->getName() == DECK_ZONE_SIDE)
m.set_target_zone(DECK_ZONE_MAIN);
else // Trying to move from another zone
m.set_target_zone(zone->getName().toStdString());

View file

@ -857,7 +857,7 @@ void Player::setDeck(const DeckLoader &_deck)
createPredefinedTokenMenu->clear();
predefinedTokens.clear();
InnerDecklistNode *tokenZone = dynamic_cast<InnerDecklistNode *>(deck->getRoot()->findChild("tokens"));
InnerDecklistNode *tokenZone = dynamic_cast<InnerDecklistNode *>(deck->getRoot()->findChild(DECK_ZONE_TOKENS));
if (tokenZone)
for (int i = 0; i < tokenZone->size(); ++i) {

View file

@ -821,7 +821,7 @@ void TabDeckEditor::addCardHelper(QString zoneName)
if(!info)
return;
if (info->getIsToken())
zoneName = "tokens";
zoneName = DECK_ZONE_TOKENS;
QModelIndex newCardIndex = deckModel->addCard(info->getName(), zoneName);
recursiveExpand(newCardIndex);
@ -843,7 +843,7 @@ void TabDeckEditor::actSwapCard()
const QString zoneName = gparent.sibling(gparent.row(), 1).data().toString();
actDecrement();
const QString otherZoneName = zoneName == "Maindeck" ? "side" : "main";
const QString otherZoneName = zoneName == "Maindeck" ? DECK_ZONE_SIDE : DECK_ZONE_MAIN;
QModelIndex newCardIndex = deckModel->addCard(cardName, otherZoneName);
recursiveExpand(newCardIndex);
@ -856,12 +856,12 @@ void TabDeckEditor::actAddCard()
if(QApplication::keyboardModifiers() & Qt::ControlModifier)
actAddCardToSideboard();
else
addCardHelper("main");
addCardHelper(DECK_ZONE_MAIN);
}
void TabDeckEditor::actAddCardToSideboard()
{
addCardHelper("side");
addCardHelper(DECK_ZONE_SIDE);
}
void TabDeckEditor::actRemoveCard()
@ -898,7 +898,7 @@ void TabDeckEditor::decrementCardHelper(QString zoneName)
if(!info)
return;
if (info->getIsToken())
zoneName = "tokens";
zoneName = DECK_ZONE_TOKENS;
idx = deckModel->findCard(info->getName(), zoneName);
offsetCountAtIndex(idx, -1);
@ -906,12 +906,12 @@ void TabDeckEditor::decrementCardHelper(QString zoneName)
void TabDeckEditor::actDecrementCard()
{
decrementCardHelper("main");
decrementCardHelper(DECK_ZONE_MAIN);
}
void TabDeckEditor::actDecrementCardFromSideboard()
{
decrementCardHelper("side");
decrementCardHelper(DECK_ZONE_SIDE);
}
void TabDeckEditor::actIncrement()

View file

@ -109,7 +109,7 @@ struct CopyMainOrSide {
return;
DecklistCardNode *addedCard;
if(node->getName() == "side")
if(node->getName() == DECK_ZONE_SIDE)
addedCard = sideboard.addCard(card->getName(), node->getName());
else
addedCard = mainboard.addCard(card->getName(), node->getName());