From 2d216807c73f0abc7ebc7969833d55950d7465a6 Mon Sep 17 00:00:00 2001 From: poixen Date: Fri, 6 Jan 2017 19:07:31 +0100 Subject: [PATCH] Condensed counter menu --- cockatrice/src/carditem.cpp | 9 +++++++++ cockatrice/src/carditem.h | 5 ++++- cockatrice/src/player.cpp | 21 ++++++++++++++------- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/cockatrice/src/carditem.cpp b/cockatrice/src/carditem.cpp index 99d59478..8323d24c 100644 --- a/cockatrice/src/carditem.cpp +++ b/cockatrice/src/carditem.cpp @@ -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) diff --git a/cockatrice/src/carditem.h b/cockatrice/src/carditem.h index 524c1695..8c4aa72f 100644 --- a/cockatrice/src/carditem.h +++ b/cockatrice/src/carditem.h @@ -32,7 +32,7 @@ private: CardItem *attachedTo; QList 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); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index f55f704f..7ad4a35c 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -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);