Commit f84d6fec authored by Fabio Bas's avatar Fabio Bas
Browse files

Never send wrong row numbers

parent ed24b38a
...@@ -1036,7 +1036,7 @@ void Player::actCreateToken() ...@@ -1036,7 +1036,7 @@ void Player::actCreateToken()
lastTokenPT = dlg.getPT(); lastTokenPT = dlg.getPT();
if (CardInfo *correctedCard = db->getCardBySimpleName(lastTokenName, false)) { if (CardInfo *correctedCard = db->getCardBySimpleName(lastTokenName, false)) {
lastTokenName = correctedCard->getName(); lastTokenName = correctedCard->getName();
lastTokenTableRow = 2 - correctedCard->getTableRow(); lastTokenTableRow = table->clampValidTableRow(2 - correctedCard->getTableRow());
if (lastTokenPT.isEmpty()) if (lastTokenPT.isEmpty())
lastTokenPT = correctedCard->getPowTough(); lastTokenPT = correctedCard->getPowTough();
} }
...@@ -1072,7 +1072,7 @@ void Player::actCreatePredefinedToken() ...@@ -1072,7 +1072,7 @@ void Player::actCreatePredefinedToken()
lastTokenColor = cardInfo->getColors().isEmpty() ? QString() : cardInfo->getColors().first().toLower(); lastTokenColor = cardInfo->getColors().isEmpty() ? QString() : cardInfo->getColors().first().toLower();
lastTokenPT = cardInfo->getPowTough(); lastTokenPT = cardInfo->getPowTough();
lastTokenAnnotation = cardInfo->getText(); lastTokenAnnotation = cardInfo->getText();
lastTokenTableRow = 2 - cardInfo->getTableRow(); lastTokenTableRow = table->clampValidTableRow(2 - cardInfo->getTableRow());
lastTokenDestroy = true; lastTokenDestroy = true;
aCreateAnotherToken->setEnabled(true); aCreateAnotherToken->setEnabled(true);
...@@ -1660,7 +1660,7 @@ void Player::playCard(CardItem *c, bool faceDown, bool tapped) ...@@ -1660,7 +1660,7 @@ void Player::playCard(CardItem *c, bool faceDown, bool tapped)
cmd.set_y(0); cmd.set_y(0);
} else { } else {
int tableRow = faceDown ? 2 : ci->getTableRow(); int tableRow = faceDown ? 2 : ci->getTableRow();
QPoint gridPoint = QPoint(-1, 2 - tableRow); QPoint gridPoint = QPoint(-1, table->clampValidTableRow(2 - tableRow));
cardToMove->set_face_down(faceDown); cardToMove->set_face_down(faceDown);
cardToMove->set_pt(ci->getPowTough().toStdString()); cardToMove->set_pt(ci->getPowTough().toStdString());
cardToMove->set_tapped(faceDown ? false : tapped); cardToMove->set_tapped(faceDown ? false : tapped);
......
...@@ -31,7 +31,7 @@ TableZone::TableZone(Player *_p, QGraphicsItem *parent) ...@@ -31,7 +31,7 @@ TableZone::TableZone(Player *_p, QGraphicsItem *parent)
updateBgPixmap(); updateBgPixmap();
height = 2 * BOX_LINE_WIDTH + 3 * (CARD_HEIGHT + 20) + 2 * PADDING_Y; height = 2 * BOX_LINE_WIDTH + TABLEROWS * (CARD_HEIGHT + 20) + 2 * PADDING_Y;
width = MIN_WIDTH + 2 * MARGIN_X + 2 * BOX_LINE_WIDTH; width = MIN_WIDTH + 2 * MARGIN_X + 2 * BOX_LINE_WIDTH;
currentMinimumWidth = MIN_WIDTH; currentMinimumWidth = MIN_WIDTH;
...@@ -311,7 +311,7 @@ QPointF TableZone::mapFromGrid(QPoint gridPoint) const ...@@ -311,7 +311,7 @@ QPointF TableZone::mapFromGrid(QPoint gridPoint) const
if (isInverted()) if (isInverted())
gridPoint.setY(2 - gridPoint.y()); gridPoint.setY(2 - gridPoint.y());
y = BOX_LINE_WIDTH + gridPoint.y() * (CARD_HEIGHT + PADDING_Y + 20) + (gridPoint.x() % 3) * 10; y = BOX_LINE_WIDTH + gridPoint.y() * (CARD_HEIGHT + PADDING_Y + 20) + (gridPoint.x() % TABLEROWS) * 10;
/* /*
if (isInverted()) if (isInverted())
y = height - CARD_HEIGHT - y; y = height - CARD_HEIGHT - y;
...@@ -339,7 +339,7 @@ QPoint TableZone::mapToGrid(const QPointF &mapPoint) const ...@@ -339,7 +339,7 @@ QPoint TableZone::mapToGrid(const QPointF &mapPoint) const
int resultY = round(y / (CARD_HEIGHT + PADDING_Y + 20)); int resultY = round(y / (CARD_HEIGHT + PADDING_Y + 20));
if (isInverted()) if (isInverted())
resultY = 2 - resultY; resultY = TABLEROWS - 1 - resultY;
int baseX = -1; int baseX = -1;
qreal oldTempX = 0, tempX = 0; qreal oldTempX = 0, tempX = 0;
...@@ -365,3 +365,12 @@ QPointF TableZone::closestGridPoint(const QPointF &point) ...@@ -365,3 +365,12 @@ QPointF TableZone::closestGridPoint(const QPointF &point)
gridPoint.setX(gridPoint.x() + 1); gridPoint.setX(gridPoint.x() + 1);
return mapFromGrid(gridPoint); return mapFromGrid(gridPoint);
} }
int TableZone::clampValidTableRow(const int row)
{
if(row < 0)
return 0;
if(row >= TABLEROWS)
return TABLEROWS - 1;
return row;
}
...@@ -25,6 +25,7 @@ private: ...@@ -25,6 +25,7 @@ private:
static const int PADDING_Y = 10; static const int PADDING_Y = 10;
static const int MARGIN_X = 20; static const int MARGIN_X = 20;
static const int MIN_WIDTH = 10 * CARD_WIDTH / 2; static const int MIN_WIDTH = 10 * CARD_WIDTH / 2;
static const int TABLEROWS = 3;
/* /*
Default background color, inactive mask and boarder gradient Default background color, inactive mask and boarder gradient
...@@ -117,6 +118,8 @@ public: ...@@ -117,6 +118,8 @@ public:
QPoint mapToGrid(const QPointF &mapPoint) const; QPoint mapToGrid(const QPointF &mapPoint) const;
QPointF closestGridPoint(const QPointF &point); QPointF closestGridPoint(const QPointF &point);
int clampValidTableRow(const int row);
/** /**
Removes a card from view. Removes a card from view.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment