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; cardMenu = new QMenu;
ptMenu = new QMenu; ptMenu = new QMenu;
moveMenu = new QMenu; moveMenu = new QMenu;
addCounterMenu = new QMenu;
removeCounterMenu = new QMenu;
setCounterMenu = new QMenu;
retranslateUi(); retranslateUi();
emit updateCardMenu(this); emit updateCardMenu(this);
@ -41,6 +44,9 @@ CardItem::~CardItem()
delete cardMenu; delete cardMenu;
delete ptMenu; delete ptMenu;
delete moveMenu; delete moveMenu;
delete addCounterMenu;
delete removeCounterMenu;
delete setCounterMenu;
deleteDragItem(); deleteDragItem();
} }
@ -82,6 +88,9 @@ void CardItem::retranslateUi()
{ {
moveMenu->setTitle(tr("&Move to")); moveMenu->setTitle(tr("&Move to"));
ptMenu->setTitle(tr("&Power / toughness")); 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) void CardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

View file

@ -32,7 +32,7 @@ private:
CardItem *attachedTo; CardItem *attachedTo;
QList<CardItem *> attachedCards; QList<CardItem *> attachedCards;
QMenu *cardMenu, *ptMenu, *moveMenu; QMenu *cardMenu, *ptMenu, *moveMenu, *addCounterMenu, *removeCounterMenu, *setCounterMenu;
void prepareDelete(); void prepareDelete();
public slots: public slots:
@ -75,6 +75,9 @@ public:
QMenu *getCardMenu() const { return cardMenu; } QMenu *getCardMenu() const { return cardMenu; }
QMenu *getPTMenu() const { return ptMenu; } QMenu *getPTMenu() const { return ptMenu; }
QMenu *getMoveMenu() const { return moveMenu; } QMenu *getMoveMenu() const { return moveMenu; }
QMenu *getAddCounterMenu() const { return addCounterMenu; }
QMenu *getRemoveCounterMenu() const { return removeCounterMenu; }
QMenu *getSetCounterMenu() const { return setCounterMenu; }
bool animationEvent(); bool animationEvent();
CardDragItem *createDragItem(int _id, const QPointF &_pos, const QPointF &_scenePos, bool faceDown); 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")); counterColors.append(tr("Green"));
for (int i = 0; i < aAddCounter.size(); ++i){ 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){ 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){ 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")); aMoveToTopLibrary->setText(tr("&Top of library"));
@ -2294,6 +2294,9 @@ void Player::updateCardMenu(CardItem *card)
QMenu *cardMenu = card->getCardMenu(); QMenu *cardMenu = card->getCardMenu();
QMenu *ptMenu = card->getPTMenu(); QMenu *ptMenu = card->getPTMenu();
QMenu *moveMenu = card->getMoveMenu(); QMenu *moveMenu = card->getMoveMenu();
QMenu *addCounterMenu = card->getAddCounterMenu();
QMenu *removeCounterMenu = card->getRemoveCounterMenu();
QMenu *setCountersMenu = card->getSetCounterMenu();
cardMenu->clear(); cardMenu->clear();
@ -2378,11 +2381,15 @@ void Player::updateCardMenu(CardItem *card)
cardMenu->addMenu(moveMenu); cardMenu->addMenu(moveMenu);
for (int i = 0; i < aAddCounter.size(); ++i) { for (int i = 0; i < aAddCounter.size(); ++i) {
cardMenu->addSeparator(); addCounterMenu->addAction(aAddCounter[i]);
cardMenu->addAction(aAddCounter[i]); removeCounterMenu->addAction(aRemoveCounter[i]);
cardMenu->addAction(aRemoveCounter[i]); setCountersMenu->addAction(aSetCounter[i]);
cardMenu->addAction(aSetCounter[i]);
} }
cardMenu->addSeparator();
cardMenu->addMenu(addCounterMenu);
cardMenu->addMenu(removeCounterMenu);
cardMenu->addMenu(setCountersMenu);
cardMenu->addSeparator(); cardMenu->addSeparator();
} else if (card->getZone()->getName() == "stack") { } else if (card->getZone()->getName() == "stack") {
cardMenu->addAction(aDrawArrow); cardMenu->addAction(aDrawArrow);