mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-30 18:43:55 -07:00
[CardInfo] refactor some fields into a UiAttributes struct (#6322)
* refactor CardInfo * refactor everything else
This commit is contained in:
parent
722344967f
commit
9a3104c5ac
12 changed files with 73 additions and 87 deletions
|
|
@ -60,7 +60,8 @@ void AbstractCardItem::refreshCardInfo()
|
||||||
exactCard = CardDatabaseManager::query()->getCard(cardRef);
|
exactCard = CardDatabaseManager::query()->getCard(cardRef);
|
||||||
|
|
||||||
if (!exactCard && !cardRef.name.isEmpty()) {
|
if (!exactCard && !cardRef.name.isEmpty()) {
|
||||||
auto info = CardInfo::newInstance(cardRef.name, "", true, {}, {}, {}, {}, false, false, -1, false);
|
CardInfo::UiAttributes attributes = {.tableRow = -1};
|
||||||
|
auto info = CardInfo::newInstance(cardRef.name, "", true, {}, {}, {}, {}, attributes);
|
||||||
exactCard = ExactCard(info);
|
exactCard = ExactCard(info);
|
||||||
}
|
}
|
||||||
if (exactCard) {
|
if (exactCard) {
|
||||||
|
|
|
||||||
|
|
@ -238,8 +238,8 @@ void ArrowDragItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
||||||
if (startZone->getName().compare("hand") == 0) {
|
if (startZone->getName().compare("hand") == 0) {
|
||||||
startCard->playCard(false);
|
startCard->playCard(false);
|
||||||
CardInfoPtr ci = startCard->getCard().getCardPtr();
|
CardInfoPtr ci = startCard->getCard().getCardPtr();
|
||||||
if (ci && ((!SettingsCache::instance().getPlayToStack() && ci->getTableRow() == 3) ||
|
if (ci && ((!SettingsCache::instance().getPlayToStack() && ci->getUiAttributes().tableRow == 3) ||
|
||||||
(SettingsCache::instance().getPlayToStack() && ci->getTableRow() != 0 &&
|
(SettingsCache::instance().getPlayToStack() && ci->getUiAttributes().tableRow != 0 &&
|
||||||
startCard->getZone()->getName().toStdString() != "stack")))
|
startCard->getZone()->getName().toStdString() != "stack")))
|
||||||
cmd.set_start_zone("stack");
|
cmd.set_start_zone("stack");
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ void PlayerActions::playCard(CardItem *card, bool faceDown)
|
||||||
|
|
||||||
const CardInfo &info = exactCard.getInfo();
|
const CardInfo &info = exactCard.getInfo();
|
||||||
|
|
||||||
int tableRow = info.getTableRow();
|
int tableRow = info.getUiAttributes().tableRow;
|
||||||
bool playToStack = SettingsCache::instance().getPlayToStack();
|
bool playToStack = SettingsCache::instance().getPlayToStack();
|
||||||
QString currentZone = card->getZone()->getName();
|
QString currentZone = card->getZone()->getName();
|
||||||
if (currentZone == "stack" && tableRow == 3) {
|
if (currentZone == "stack" && tableRow == 3) {
|
||||||
|
|
@ -72,13 +72,13 @@ void PlayerActions::playCard(CardItem *card, bool faceDown)
|
||||||
cmd.set_x(-1);
|
cmd.set_x(-1);
|
||||||
cmd.set_y(0);
|
cmd.set_y(0);
|
||||||
} else {
|
} else {
|
||||||
tableRow = faceDown ? 2 : info.getTableRow();
|
tableRow = faceDown ? 2 : info.getUiAttributes().tableRow;
|
||||||
QPoint gridPoint = QPoint(-1, TableZone::clampValidTableRow(2 - tableRow));
|
QPoint gridPoint = QPoint(-1, TableZone::clampValidTableRow(2 - tableRow));
|
||||||
cardToMove->set_face_down(faceDown);
|
cardToMove->set_face_down(faceDown);
|
||||||
if (!faceDown) {
|
if (!faceDown) {
|
||||||
cardToMove->set_pt(info.getPowTough().toStdString());
|
cardToMove->set_pt(info.getPowTough().toStdString());
|
||||||
}
|
}
|
||||||
cardToMove->set_tapped(!faceDown && info.getCipt());
|
cardToMove->set_tapped(!faceDown && info.getUiAttributes().cipt);
|
||||||
if (tableRow != 3)
|
if (tableRow != 3)
|
||||||
cmd.set_target_zone("table");
|
cmd.set_target_zone("table");
|
||||||
cmd.set_x(gridPoint.x());
|
cmd.set_x(gridPoint.x());
|
||||||
|
|
@ -111,7 +111,7 @@ void PlayerActions::playCardToTable(const CardItem *card, bool faceDown)
|
||||||
|
|
||||||
const CardInfo &info = exactCard.getInfo();
|
const CardInfo &info = exactCard.getInfo();
|
||||||
|
|
||||||
int tableRow = faceDown ? 2 : info.getTableRow();
|
int tableRow = faceDown ? 2 : info.getUiAttributes().tableRow;
|
||||||
// default instant/sorcery cards to the noncreatures row
|
// default instant/sorcery cards to the noncreatures row
|
||||||
if (tableRow > 2) {
|
if (tableRow > 2) {
|
||||||
tableRow = 1;
|
tableRow = 1;
|
||||||
|
|
@ -122,7 +122,7 @@ void PlayerActions::playCardToTable(const CardItem *card, bool faceDown)
|
||||||
if (!faceDown) {
|
if (!faceDown) {
|
||||||
cardToMove->set_pt(info.getPowTough().toStdString());
|
cardToMove->set_pt(info.getPowTough().toStdString());
|
||||||
}
|
}
|
||||||
cardToMove->set_tapped(!faceDown && info.getCipt());
|
cardToMove->set_tapped(!faceDown && info.getUiAttributes().cipt);
|
||||||
cmd.set_target_zone("table");
|
cmd.set_target_zone("table");
|
||||||
cmd.set_x(gridPoint.x());
|
cmd.set_x(gridPoint.x());
|
||||||
cmd.set_y(gridPoint.y());
|
cmd.set_y(gridPoint.y());
|
||||||
|
|
@ -859,7 +859,7 @@ void PlayerActions::actCreateToken()
|
||||||
ExactCard correctedCard = CardDatabaseManager::query()->guessCard({lastTokenInfo.name, lastTokenInfo.providerId});
|
ExactCard correctedCard = CardDatabaseManager::query()->guessCard({lastTokenInfo.name, lastTokenInfo.providerId});
|
||||||
if (correctedCard) {
|
if (correctedCard) {
|
||||||
lastTokenInfo.name = correctedCard.getName();
|
lastTokenInfo.name = correctedCard.getName();
|
||||||
lastTokenTableRow = TableZone::clampValidTableRow(2 - correctedCard.getInfo().getTableRow());
|
lastTokenTableRow = TableZone::clampValidTableRow(2 - correctedCard.getInfo().getUiAttributes().tableRow);
|
||||||
if (lastTokenInfo.pt.isEmpty()) {
|
if (lastTokenInfo.pt.isEmpty()) {
|
||||||
lastTokenInfo.pt = correctedCard.getInfo().getPowTough();
|
lastTokenInfo.pt = correctedCard.getInfo().getPowTough();
|
||||||
}
|
}
|
||||||
|
|
@ -910,7 +910,7 @@ void PlayerActions::setLastToken(CardInfoPtr cardInfo)
|
||||||
.providerId =
|
.providerId =
|
||||||
SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardInfo->getName())};
|
SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardInfo->getName())};
|
||||||
|
|
||||||
lastTokenTableRow = TableZone::clampValidTableRow(2 - cardInfo->getTableRow());
|
lastTokenTableRow = TableZone::clampValidTableRow(2 - cardInfo->getUiAttributes().tableRow);
|
||||||
|
|
||||||
utilityMenu->setAndEnableCreateAnotherTokenAction(tr("C&reate another %1 token").arg(lastTokenInfo.name));
|
utilityMenu->setAndEnableCreateAnotherTokenAction(tr("C&reate another %1 token").arg(lastTokenInfo.name));
|
||||||
}
|
}
|
||||||
|
|
@ -1080,7 +1080,7 @@ void PlayerActions::createCard(const CardItem *sourceCard,
|
||||||
|
|
||||||
// get the target token's location
|
// get the target token's location
|
||||||
// TODO: Define this QPoint into its own function along with the one below
|
// TODO: Define this QPoint into its own function along with the one below
|
||||||
QPoint gridPoint = QPoint(-1, TableZone::clampValidTableRow(2 - cardInfo->getTableRow()));
|
QPoint gridPoint = QPoint(-1, TableZone::clampValidTableRow(2 - cardInfo->getUiAttributes().tableRow));
|
||||||
|
|
||||||
// create the token for the related card
|
// create the token for the related card
|
||||||
Command_CreateToken cmd;
|
Command_CreateToken cmd;
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ void TableZoneLogic::addCardImpl(CardItem *card, int _x, int _y)
|
||||||
if (!card->getFaceDown() && card->getPT().isEmpty()) {
|
if (!card->getFaceDown() && card->getPT().isEmpty()) {
|
||||||
card->setPT(card->getCardInfo().getPowTough());
|
card->setPT(card->getCardInfo().getPowTough());
|
||||||
}
|
}
|
||||||
if (card->getCardInfo().getCipt() && card->getCardInfo().getLandscapeOrientation()) {
|
if (card->getCardInfo().getUiAttributes().cipt && card->getCardInfo().getUiAttributes().landscapeOrientation) {
|
||||||
card->setDoesntUntap(true);
|
card->setDoesntUntap(true);
|
||||||
}
|
}
|
||||||
card->setGridPoint(QPoint(_x, _y));
|
card->setGridPoint(QPoint(_x, _y));
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ void CardPictureLoader::imageLoaded(const ExactCard &card, const QImage &image)
|
||||||
qCDebug(CardPictureLoaderLog) << "Caching NULL pixmap for" << card.getName();
|
qCDebug(CardPictureLoaderLog) << "Caching NULL pixmap for" << card.getName();
|
||||||
QPixmapCache::insert(card.getPixmapCacheKey(), QPixmap());
|
QPixmapCache::insert(card.getPixmapCacheKey(), QPixmap());
|
||||||
} else {
|
} else {
|
||||||
if (card.getInfo().getUpsideDownArt()) {
|
if (card.getInfo().getUiAttributes().upsideDownArt) {
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0))
|
||||||
QImage mirrorImage = image.flipped(Qt::Horizontal | Qt::Vertical);
|
QImage mirrorImage = image.flipped(Qt::Horizontal | Qt::Vertical);
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ void CardInfoPictureWidget::paintEvent(QPaintEvent *event)
|
||||||
|
|
||||||
QPixmap transformedPixmap = resizedPixmap; // Default pixmap
|
QPixmap transformedPixmap = resizedPixmap; // Default pixmap
|
||||||
if (SettingsCache::instance().getAutoRotateSidewaysLayoutCards()) {
|
if (SettingsCache::instance().getAutoRotateSidewaysLayoutCards()) {
|
||||||
if (exactCard.getInfo().getLandscapeOrientation()) {
|
if (exactCard.getInfo().getUiAttributes().landscapeOrientation) {
|
||||||
// Rotate pixmap 90 degrees to the left
|
// Rotate pixmap 90 degrees to the left
|
||||||
QTransform transform;
|
QTransform transform;
|
||||||
transform.rotate(90);
|
transform.rotate(90);
|
||||||
|
|
|
||||||
|
|
@ -165,8 +165,8 @@ void DlgEditTokens::actAddToken()
|
||||||
QString setName = CardSet::TOKENS_SETNAME;
|
QString setName = CardSet::TOKENS_SETNAME;
|
||||||
SetToPrintingsMap sets;
|
SetToPrintingsMap sets;
|
||||||
sets[setName].append(PrintingInfo(databaseModel->getDatabase()->getSet(setName)));
|
sets[setName].append(PrintingInfo(databaseModel->getDatabase()->getSet(setName)));
|
||||||
CardInfoPtr card = CardInfo::newInstance(name, "", true, QVariantHash(), QList<CardRelation *>(),
|
CardInfo::UiAttributes attributes = {.tableRow = -1};
|
||||||
QList<CardRelation *>(), sets, false, false, -1, false);
|
CardInfoPtr card = CardInfo::newInstance(name, "", true, {}, {}, {}, sets, attributes);
|
||||||
card->setCardType("Token");
|
card->setCardType("Token");
|
||||||
|
|
||||||
databaseModel->getDatabase()->addCard(card);
|
databaseModel->getDatabase()->addCard(card);
|
||||||
|
|
|
||||||
|
|
@ -26,13 +26,9 @@ CardInfo::CardInfo(const QString &_name,
|
||||||
const QList<CardRelation *> &_relatedCards,
|
const QList<CardRelation *> &_relatedCards,
|
||||||
const QList<CardRelation *> &_reverseRelatedCards,
|
const QList<CardRelation *> &_reverseRelatedCards,
|
||||||
SetToPrintingsMap _sets,
|
SetToPrintingsMap _sets,
|
||||||
bool _cipt,
|
const UiAttributes _uiAttributes)
|
||||||
bool _landscapeOrientation,
|
|
||||||
int _tableRow,
|
|
||||||
bool _upsideDownArt)
|
|
||||||
: name(_name), text(_text), isToken(_isToken), properties(std::move(_properties)), relatedCards(_relatedCards),
|
: name(_name), text(_text), isToken(_isToken), properties(std::move(_properties)), relatedCards(_relatedCards),
|
||||||
reverseRelatedCards(_reverseRelatedCards), setsToPrintings(std::move(_sets)), cipt(_cipt),
|
reverseRelatedCards(_reverseRelatedCards), setsToPrintings(std::move(_sets)), uiAttributes(_uiAttributes)
|
||||||
landscapeOrientation(_landscapeOrientation), tableRow(_tableRow), upsideDownArt(_upsideDownArt)
|
|
||||||
{
|
{
|
||||||
simpleName = CardInfo::simplifyName(name);
|
simpleName = CardInfo::simplifyName(name);
|
||||||
|
|
||||||
|
|
@ -41,8 +37,7 @@ CardInfo::CardInfo(const QString &_name,
|
||||||
|
|
||||||
CardInfoPtr CardInfo::newInstance(const QString &_name)
|
CardInfoPtr CardInfo::newInstance(const QString &_name)
|
||||||
{
|
{
|
||||||
return newInstance(_name, QString(), false, QVariantHash(), QList<CardRelation *>(), QList<CardRelation *>(),
|
return newInstance(_name, "", false, {}, {}, {}, {}, {});
|
||||||
SetToPrintingsMap(), false, false, 0, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CardInfoPtr CardInfo::newInstance(const QString &_name,
|
CardInfoPtr CardInfo::newInstance(const QString &_name,
|
||||||
|
|
@ -52,13 +47,10 @@ CardInfoPtr CardInfo::newInstance(const QString &_name,
|
||||||
const QList<CardRelation *> &_relatedCards,
|
const QList<CardRelation *> &_relatedCards,
|
||||||
const QList<CardRelation *> &_reverseRelatedCards,
|
const QList<CardRelation *> &_reverseRelatedCards,
|
||||||
SetToPrintingsMap _sets,
|
SetToPrintingsMap _sets,
|
||||||
bool _cipt,
|
const UiAttributes _uiAttributes)
|
||||||
bool _landscapeOrientation,
|
|
||||||
int _tableRow,
|
|
||||||
bool _upsideDownArt)
|
|
||||||
{
|
{
|
||||||
CardInfoPtr ptr(new CardInfo(_name, _text, _isToken, std::move(_properties), _relatedCards, _reverseRelatedCards,
|
CardInfoPtr ptr(new CardInfo(_name, _text, _isToken, std::move(_properties), _relatedCards, _reverseRelatedCards,
|
||||||
_sets, _cipt, _landscapeOrientation, _tableRow, _upsideDownArt));
|
_sets, _uiAttributes));
|
||||||
ptr->setSmartPointer(ptr);
|
ptr->setSmartPointer(ptr);
|
||||||
|
|
||||||
for (const auto &printings : _sets) {
|
for (const auto &printings : _sets) {
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,21 @@ class CardInfo : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* @class CardInfo::UiAttributes
|
||||||
|
* @ingroup Cards
|
||||||
|
*
|
||||||
|
* @brief Attributes of the card that affect display and game logic.
|
||||||
|
*/
|
||||||
|
struct UiAttributes
|
||||||
|
{
|
||||||
|
bool cipt = false; ///< Positioning flag used by UI.
|
||||||
|
bool landscapeOrientation = false; ///< Orientation flag for rendering.
|
||||||
|
int tableRow = 0; ///< Row index in a table or visual representation.
|
||||||
|
bool upsideDownArt = false; ///< Whether artwork is flipped for visual purposes.
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** @name Private Card Properties
|
/** @name Private Card Properties
|
||||||
* @anchor PrivateCardProperties
|
* @anchor PrivateCardProperties
|
||||||
|
|
@ -63,10 +78,7 @@ private:
|
||||||
QList<CardRelation *> reverseRelatedCardsToMe; ///< Cards that consider this card as related.
|
QList<CardRelation *> reverseRelatedCardsToMe; ///< Cards that consider this card as related.
|
||||||
SetToPrintingsMap setsToPrintings; ///< Mapping from set names to printing variations.
|
SetToPrintingsMap setsToPrintings; ///< Mapping from set names to printing variations.
|
||||||
QString setsNames; ///< Cached, human-readable list of set names.
|
QString setsNames; ///< Cached, human-readable list of set names.
|
||||||
bool cipt; ///< Positioning flag used by UI.
|
UiAttributes uiAttributes; ///< Attributes that affect display and game logic
|
||||||
bool landscapeOrientation; ///< Orientation flag for rendering.
|
|
||||||
int tableRow; ///< Row index in a table or visual representation.
|
|
||||||
bool upsideDownArt; ///< Whether artwork is flipped for visual purposes.
|
|
||||||
///@}
|
///@}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
@ -80,10 +92,7 @@ public:
|
||||||
* @param _relatedCards Forward references to related cards.
|
* @param _relatedCards Forward references to related cards.
|
||||||
* @param _reverseRelatedCards Backward references to related cards.
|
* @param _reverseRelatedCards Backward references to related cards.
|
||||||
* @param _sets Map of set names to printing information.
|
* @param _sets Map of set names to printing information.
|
||||||
* @param _cipt UI positioning flag.
|
* @param _uiAttributes Attributes that affect display and game logic
|
||||||
* @param _landscapeOrientation UI rendering orientation.
|
|
||||||
* @param _tableRow Row index for table placement.
|
|
||||||
* @param _upsideDownArt Whether the artwork should be displayed upside down.
|
|
||||||
*/
|
*/
|
||||||
explicit CardInfo(const QString &_name,
|
explicit CardInfo(const QString &_name,
|
||||||
const QString &_text,
|
const QString &_text,
|
||||||
|
|
@ -92,10 +101,7 @@ public:
|
||||||
const QList<CardRelation *> &_relatedCards,
|
const QList<CardRelation *> &_relatedCards,
|
||||||
const QList<CardRelation *> &_reverseRelatedCards,
|
const QList<CardRelation *> &_reverseRelatedCards,
|
||||||
SetToPrintingsMap _sets,
|
SetToPrintingsMap _sets,
|
||||||
bool _cipt,
|
UiAttributes _uiAttributes);
|
||||||
bool _landscapeOrientation,
|
|
||||||
int _tableRow,
|
|
||||||
bool _upsideDownArt);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Copy constructor for CardInfo.
|
* @brief Copy constructor for CardInfo.
|
||||||
|
|
@ -108,8 +114,7 @@ public:
|
||||||
: QObject(other.parent()), name(other.name), simpleName(other.simpleName), text(other.text),
|
: QObject(other.parent()), name(other.name), simpleName(other.simpleName), text(other.text),
|
||||||
isToken(other.isToken), properties(other.properties), relatedCards(other.relatedCards),
|
isToken(other.isToken), properties(other.properties), relatedCards(other.relatedCards),
|
||||||
reverseRelatedCards(other.reverseRelatedCards), reverseRelatedCardsToMe(other.reverseRelatedCardsToMe),
|
reverseRelatedCards(other.reverseRelatedCards), reverseRelatedCardsToMe(other.reverseRelatedCardsToMe),
|
||||||
setsToPrintings(other.setsToPrintings), setsNames(other.setsNames), cipt(other.cipt),
|
setsToPrintings(other.setsToPrintings), setsNames(other.setsNames), uiAttributes(other.uiAttributes)
|
||||||
landscapeOrientation(other.landscapeOrientation), tableRow(other.tableRow), upsideDownArt(other.upsideDownArt)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -133,10 +138,7 @@ public:
|
||||||
* @param _relatedCards Forward relationships.
|
* @param _relatedCards Forward relationships.
|
||||||
* @param _reverseRelatedCards Reverse relationships.
|
* @param _reverseRelatedCards Reverse relationships.
|
||||||
* @param _sets Printing information per set.
|
* @param _sets Printing information per set.
|
||||||
* @param _cipt UI positioning flag.
|
* @param _uiAttributes Attributes that affect display and game logic
|
||||||
* @param _landscapeOrientation UI rendering orientation.
|
|
||||||
* @param _tableRow Row index for table placement.
|
|
||||||
* @param _upsideDownArt Artwork orientation flag.
|
|
||||||
* @return Shared pointer to the new CardInfo instance.
|
* @return Shared pointer to the new CardInfo instance.
|
||||||
*/
|
*/
|
||||||
static CardInfoPtr newInstance(const QString &_name,
|
static CardInfoPtr newInstance(const QString &_name,
|
||||||
|
|
@ -146,10 +148,7 @@ public:
|
||||||
const QList<CardRelation *> &_relatedCards,
|
const QList<CardRelation *> &_relatedCards,
|
||||||
const QList<CardRelation *> &_reverseRelatedCards,
|
const QList<CardRelation *> &_reverseRelatedCards,
|
||||||
SetToPrintingsMap _sets,
|
SetToPrintingsMap _sets,
|
||||||
bool _cipt,
|
UiAttributes _uiAttributes);
|
||||||
bool _landscapeOrientation,
|
|
||||||
int _tableRow,
|
|
||||||
bool _upsideDownArt);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Clones the current CardInfo instance.
|
* @brief Clones the current CardInfo instance.
|
||||||
|
|
@ -254,29 +253,14 @@ public:
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/** @name UI Positioning */ //@{
|
/** @name UI Positioning */ //@{
|
||||||
bool getCipt() const
|
const UiAttributes &getUiAttributes() const
|
||||||
{
|
{
|
||||||
return cipt;
|
return uiAttributes;
|
||||||
}
|
}
|
||||||
bool getLandscapeOrientation() const
|
|
||||||
{
|
|
||||||
return landscapeOrientation;
|
|
||||||
}
|
|
||||||
int getTableRow() const
|
|
||||||
{
|
|
||||||
return tableRow;
|
|
||||||
}
|
|
||||||
void setTableRow(int _tableRow)
|
|
||||||
{
|
|
||||||
tableRow = _tableRow;
|
|
||||||
}
|
|
||||||
bool getUpsideDownArt() const
|
|
||||||
{
|
|
||||||
return upsideDownArt;
|
|
||||||
}
|
|
||||||
const QChar getColorChar() const;
|
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
const QChar getColorChar() const;
|
||||||
|
|
||||||
/** @name Legacy/Convenience Property Accessors */ //@{
|
/** @name Legacy/Convenience Property Accessors */ //@{
|
||||||
const QString getCardType() const;
|
const QString getCardType() const;
|
||||||
void setCardType(const QString &value);
|
void setCardType(const QString &value);
|
||||||
|
|
|
||||||
|
|
@ -282,9 +282,13 @@ void CockatriceXml3Parser::loadCardsFromXml(QXmlStreamReader &xml)
|
||||||
}
|
}
|
||||||
|
|
||||||
properties.insert("colors", colors);
|
properties.insert("colors", colors);
|
||||||
CardInfoPtr newCard =
|
|
||||||
CardInfo::newInstance(name, text, isToken, properties, relatedCards, reverseRelatedCards, _sets, cipt,
|
CardInfo::UiAttributes attributes = {.cipt = cipt,
|
||||||
landscapeOrientation, tableRow, upsideDown);
|
.landscapeOrientation = landscapeOrientation,
|
||||||
|
.tableRow = tableRow,
|
||||||
|
.upsideDownArt = upsideDown};
|
||||||
|
CardInfoPtr newCard = CardInfo::newInstance(name, text, isToken, properties, relatedCards,
|
||||||
|
reverseRelatedCards, _sets, attributes);
|
||||||
emit addCard(newCard);
|
emit addCard(newCard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -417,14 +421,15 @@ static QXmlStreamWriter &operator<<(QXmlStreamWriter &xml, const CardInfoPtr &in
|
||||||
}
|
}
|
||||||
|
|
||||||
// positioning
|
// positioning
|
||||||
xml.writeTextElement("tablerow", QString::number(info->getTableRow()));
|
const CardInfo::UiAttributes &attributes = info->getUiAttributes();
|
||||||
if (info->getCipt()) {
|
xml.writeTextElement("tablerow", QString::number(attributes.tableRow));
|
||||||
|
if (attributes.cipt) {
|
||||||
xml.writeTextElement("cipt", "1");
|
xml.writeTextElement("cipt", "1");
|
||||||
}
|
}
|
||||||
if (info->getLandscapeOrientation()) {
|
if (attributes.landscapeOrientation) {
|
||||||
xml.writeTextElement("landscapeOrientation", "1");
|
xml.writeTextElement("landscapeOrientation", "1");
|
||||||
}
|
}
|
||||||
if (info->getUpsideDownArt()) {
|
if (attributes.upsideDownArt) {
|
||||||
xml.writeTextElement("upsidedown", "1");
|
xml.writeTextElement("upsidedown", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -262,9 +262,12 @@ void CockatriceXml4Parser::loadCardsFromXml(QXmlStreamReader &xml)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CardInfoPtr newCard =
|
CardInfo::UiAttributes attributes = {.cipt = cipt,
|
||||||
CardInfo::newInstance(name, text, isToken, properties, relatedCards, reverseRelatedCards, _sets, cipt,
|
.landscapeOrientation = landscapeOrientation,
|
||||||
landscapeOrientation, tableRow, upsideDown);
|
.tableRow = tableRow,
|
||||||
|
.upsideDownArt = upsideDown};
|
||||||
|
CardInfoPtr newCard = CardInfo::newInstance(name, text, isToken, properties, relatedCards,
|
||||||
|
reverseRelatedCards, _sets, attributes);
|
||||||
emit addCard(newCard);
|
emit addCard(newCard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -379,14 +382,15 @@ static QXmlStreamWriter &operator<<(QXmlStreamWriter &xml, const CardInfoPtr &in
|
||||||
}
|
}
|
||||||
|
|
||||||
// positioning
|
// positioning
|
||||||
xml.writeTextElement("tablerow", QString::number(info->getTableRow()));
|
const CardInfo::UiAttributes &attributes = info->getUiAttributes();
|
||||||
if (info->getCipt()) {
|
xml.writeTextElement("tablerow", QString::number(attributes.tableRow));
|
||||||
|
if (attributes.cipt) {
|
||||||
xml.writeTextElement("cipt", "1");
|
xml.writeTextElement("cipt", "1");
|
||||||
}
|
}
|
||||||
if (info->getLandscapeOrientation()) {
|
if (attributes.landscapeOrientation) {
|
||||||
xml.writeTextElement("landscapeOrientation", "1");
|
xml.writeTextElement("landscapeOrientation", "1");
|
||||||
}
|
}
|
||||||
if (info->getUpsideDownArt()) {
|
if (attributes.upsideDownArt) {
|
||||||
xml.writeTextElement("upsidedown", "1");
|
xml.writeTextElement("upsidedown", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -204,11 +204,11 @@ CardInfoPtr OracleImporter::addCard(QString name,
|
||||||
bool upsideDown = layout == "flip" && side == "back";
|
bool upsideDown = layout == "flip" && side == "back";
|
||||||
|
|
||||||
// insert the card and its properties
|
// insert the card and its properties
|
||||||
QList<CardRelation *> reverseRelatedCards;
|
|
||||||
SetToPrintingsMap setsInfo;
|
SetToPrintingsMap setsInfo;
|
||||||
setsInfo[printingInfo.getSet()->getShortName()].append(printingInfo);
|
setsInfo[printingInfo.getSet()->getShortName()].append(printingInfo);
|
||||||
CardInfoPtr newCard = CardInfo::newInstance(name, text, isToken, properties, relatedCards, reverseRelatedCards,
|
CardInfo::UiAttributes attributes = {cipt, landscapeOrientation, tableRow, upsideDown};
|
||||||
setsInfo, cipt, landscapeOrientation, tableRow, upsideDown);
|
CardInfoPtr newCard =
|
||||||
|
CardInfo::newInstance(name, text, isToken, properties, relatedCards, {}, setsInfo, attributes);
|
||||||
|
|
||||||
if (name.isEmpty()) {
|
if (name.isEmpty()) {
|
||||||
qDebug() << "warning: an empty card was added to set" << printingInfo.getSet()->getShortName();
|
qDebug() << "warning: an empty card was added to set" << printingInfo.getSet()->getShortName();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue