Merge pull request #2348 from Cockatrice/counters

Condensed Card Counter Context Menu
This commit is contained in:
poixen 2017-01-06 20:07:52 +01:00 committed by GitHub
commit 847d959326
3 changed files with 27 additions and 8 deletions

View file

@ -26,6 +26,9 @@ CardItem::CardItem(Player *_owner, const QString &_name, int _cardid, bool _reve
cardMenu = new QMenu;
ptMenu = new QMenu;
moveMenu = new QMenu;
addCounterMenu = new QMenu;
removeCounterMenu = new QMenu;
setCounterMenu = new QMenu;
retranslateUi();
emit updateCardMenu(this);
@ -41,6 +44,9 @@ CardItem::~CardItem()
delete cardMenu;
delete ptMenu;
delete moveMenu;
delete addCounterMenu;
delete removeCounterMenu;
delete setCounterMenu;
deleteDragItem();
}
@ -82,6 +88,9 @@ void CardItem::retranslateUi()
{
moveMenu->setTitle(tr("&Move to"));
ptMenu->setTitle(tr("&Power / toughness"));
addCounterMenu->setTitle(tr("Add Counter"));
removeCounterMenu->setTitle(tr("Remove Counter"));
setCounterMenu->setTitle(tr("Set Counters"));
}
void CardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

View file

@ -32,7 +32,7 @@ private:
CardItem *attachedTo;
QList<CardItem *> attachedCards;
QMenu *cardMenu, *ptMenu, *moveMenu;
QMenu *cardMenu, *ptMenu, *moveMenu, *addCounterMenu, *removeCounterMenu, *setCounterMenu;
void prepareDelete();
public slots:
@ -75,6 +75,9 @@ public:
QMenu *getCardMenu() const { return cardMenu; }
QMenu *getPTMenu() const { return ptMenu; }
QMenu *getMoveMenu() const { return moveMenu; }
QMenu *getAddCounterMenu() const { return addCounterMenu; }
QMenu *getRemoveCounterMenu() const { return removeCounterMenu; }
QMenu *getSetCounterMenu() const { return setCounterMenu; }
bool animationEvent();
CardDragItem *createDragItem(int _id, const QPointF &_pos, const QPointF &_scenePos, bool faceDown);

View file

@ -698,13 +698,13 @@ void Player::retranslateUi()
counterColors.append(tr("Green"));
for (int i = 0; i < aAddCounter.size(); ++i){
aAddCounter[i]->setText(tr("&Add counter (%1)").arg(counterColors[i]));
aAddCounter[i]->setText(tr("%1").arg(counterColors[i]));
}
for (int i = 0; i < aRemoveCounter.size(); ++i){
aRemoveCounter[i]->setText(tr("&Remove counter (%1)").arg(counterColors[i]));
aRemoveCounter[i]->setText(tr("%1").arg(counterColors[i]));
}
for (int i = 0; i < aSetCounter.size(); ++i){
aSetCounter[i]->setText(tr("&Set counters (%1)...").arg(counterColors[i]));
aSetCounter[i]->setText(tr("%1...").arg(counterColors[i]));
}
aMoveToTopLibrary->setText(tr("&Top of library"));
@ -2294,6 +2294,9 @@ void Player::updateCardMenu(CardItem *card)
QMenu *cardMenu = card->getCardMenu();
QMenu *ptMenu = card->getPTMenu();
QMenu *moveMenu = card->getMoveMenu();
QMenu *addCounterMenu = card->getAddCounterMenu();
QMenu *removeCounterMenu = card->getRemoveCounterMenu();
QMenu *setCountersMenu = card->getSetCounterMenu();
cardMenu->clear();
@ -2378,11 +2381,15 @@ void Player::updateCardMenu(CardItem *card)
cardMenu->addMenu(moveMenu);
for (int i = 0; i < aAddCounter.size(); ++i) {
cardMenu->addSeparator();
cardMenu->addAction(aAddCounter[i]);
cardMenu->addAction(aRemoveCounter[i]);
cardMenu->addAction(aSetCounter[i]);
addCounterMenu->addAction(aAddCounter[i]);
removeCounterMenu->addAction(aRemoveCounter[i]);
setCountersMenu->addAction(aSetCounter[i]);
}
cardMenu->addSeparator();
cardMenu->addMenu(addCounterMenu);
cardMenu->addMenu(removeCounterMenu);
cardMenu->addMenu(setCountersMenu);
cardMenu->addSeparator();
} else if (card->getZone()->getName() == "stack") {
cardMenu->addAction(aDrawArrow);