diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 7b819584..a9c054eb 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -359,6 +359,7 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T aCreateAnotherToken->setEnabled(false); createPredefinedTokenMenu = new QMenu(QString()); + createPredefinedTokenMenu->setEnabled(false); playerMenu->addSeparator(); countersMenu = playerMenu->addMenu(QString()); @@ -380,6 +381,7 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, bool _judge, T if (local || judge) { aCardMenu = new QAction(this); + aCardMenu->setEnabled(false); playerMenu->addSeparator(); playerMenu->addAction(aCardMenu); } else { @@ -921,6 +923,7 @@ void Player::initSayMenu() sayMenu->clear(); int count = SettingsCache::instance().messages().getCount(); + sayMenu->setEnabled(count > 0); for (int i = 0; i < count; ++i) { auto *newAction = new QAction(SettingsCache::instance().messages().getMessageAt(i), this); @@ -938,10 +941,14 @@ void Player::setDeck(const DeckLoader &_deck) aOpenDeckInDeckEditor->setEnabled(deck); createPredefinedTokenMenu->clear(); + createPredefinedTokenMenu->setEnabled(false); predefinedTokens.clear(); InnerDecklistNode *tokenZone = dynamic_cast(deck->getRoot()->findChild(DECK_ZONE_TOKENS)); - if (tokenZone) + if (tokenZone) { + if (tokenZone->size() > 0) + createPredefinedTokenMenu->setEnabled(true); + for (int i = 0; i < tokenZone->size(); ++i) { const QString tokenName = tokenZone->at(i)->getName(); predefinedTokens.append(tokenName); @@ -951,6 +958,7 @@ void Player::setDeck(const DeckLoader &_deck) } connect(a, SIGNAL(triggered()), this, SLOT(actCreatePredefinedToken())); } + } } void Player::actViewLibrary() @@ -3230,6 +3238,7 @@ void Player::addRelatedCardActions(const CardItem *card, QMenu *cardMenu) void Player::setCardMenu(QMenu *menu) { if (aCardMenu) { + aCardMenu->setEnabled(menu != nullptr); aCardMenu->setMenu(menu); } }