diff --git a/cockatrice/src/game/player/menu/card_menu.h b/cockatrice/src/game/player/menu/card_menu.h index d97c0af77..931d0249f 100644 --- a/cockatrice/src/game/player/menu/card_menu.h +++ b/cockatrice/src/game/player/menu/card_menu.h @@ -17,7 +17,7 @@ public: void createGraveyardOrExileMenu(); void createHandOrCustomZoneMenu(); - QMenu *mCardCounters = nullptr; + QMenu *mCardCounters; QAction *aPlay, *aPlayFacedown; QAction *aHide; diff --git a/cockatrice/src/game/player/menu/grave_menu.cpp b/cockatrice/src/game/player/menu/grave_menu.cpp index 126091cb3..69cf537bf 100644 --- a/cockatrice/src/game/player/menu/grave_menu.cpp +++ b/cockatrice/src/game/player/menu/grave_menu.cpp @@ -16,7 +16,7 @@ GraveyardMenu::GraveyardMenu(Player *_player, QWidget *parent) : TearOffMenu(par newAction->setData(-1); connect(newAction, &QAction::triggered, player->getPlayerActions(), &PlayerActions::actRevealRandomGraveyardCard); - // allPlayersActions.append(newAction); + emit newPlayerActionCreated(newAction); mRevealRandomGraveyardCard->addSeparator(); addSeparator(); diff --git a/cockatrice/src/game/player/menu/grave_menu.h b/cockatrice/src/game/player/menu/grave_menu.h index aaa4fa12b..1e471aa6b 100644 --- a/cockatrice/src/game/player/menu/grave_menu.h +++ b/cockatrice/src/game/player/menu/grave_menu.h @@ -10,6 +10,9 @@ class Player; class GraveyardMenu : public TearOffMenu { Q_OBJECT +signals: + void newPlayerActionCreated(QAction *action); + public: explicit GraveyardMenu(Player *player, QWidget *parent = nullptr); void createMoveActions(); diff --git a/cockatrice/src/game/player/menu/library_menu.cpp b/cockatrice/src/game/player/menu/library_menu.cpp index 42f93f513..260ae09ab 100644 --- a/cockatrice/src/game/player/menu/library_menu.cpp +++ b/cockatrice/src/game/player/menu/library_menu.cpp @@ -20,11 +20,8 @@ LibraryMenu::LibraryMenu(Player *_player, QWidget *parent) : TearOffMenu(parent) addAction(aViewTopCards); addAction(aViewBottomCards); addSeparator(); - // playerLists.append(mRevealLibrary = libraryMenu->addMenu(QString())); mRevealLibrary = addMenu(QString()); - // singlePlayerLists.append(mLendLibrary = libraryMenu->addMenu(QString())); mLendLibrary = addMenu(QString()); - // playerLists.append(mRevealTopCard = libraryMenu->addMenu(QString())); mRevealTopCard = addMenu(QString()); addAction(aAlwaysRevealTopCard); addAction(aAlwaysLookAtTopCard); diff --git a/cockatrice/src/game/player/menu/player_menu.cpp b/cockatrice/src/game/player/menu/player_menu.cpp index 848edcb0f..e0511f2f1 100644 --- a/cockatrice/src/game/player/menu/player_menu.cpp +++ b/cockatrice/src/game/player/menu/player_menu.cpp @@ -28,10 +28,13 @@ PlayerMenu::PlayerMenu(Player *_player) : player(_player) if (player->getPlayerInfo()->getLocalOrJudge()) { handMenu = new HandMenu(player, player->getPlayerActions(), playerMenu); playerMenu->addMenu(handMenu); - /*playerLists.append(mRevealHand = handMenu->addMenu(QString())); - playerLists.append(mRevealRandomHandCard = handMenu->addMenu(QString()));*/ + playerLists.append(handMenu->revealHandMenu()); + playerLists.append(handMenu->revealRandomHandCardMenu()); libraryMenu = new LibraryMenu(player, playerMenu); + playerLists.append(libraryMenu->revealLibrary()); + playerLists.append(libraryMenu->lendLibraryMenu()); + playerLists.append(libraryMenu->revealTopCardMenu()); playerMenu->addMenu(libraryMenu); } else { handMenu = nullptr; @@ -39,6 +42,7 @@ PlayerMenu::PlayerMenu(Player *_player) : player(_player) } graveMenu = new GraveyardMenu(player, playerMenu); + connect(graveMenu, &GraveyardMenu::newPlayerActionCreated, this, &PlayerMenu::onNewPlayerListActionCreated); playerMenu->addMenu(graveMenu); rfgMenu = new RfgMenu(player, playerMenu); @@ -182,6 +186,11 @@ void PlayerMenu::playerListActionTriggered() player->getPlayerActions()->sendGameCommand(cmd); } +void PlayerMenu::onNewPlayerListActionCreated(QAction *action) +{ + allPlayersActions.append(action); +} + QMenu *PlayerMenu::updateCardMenu(const CardItem *card) { if (!card) { diff --git a/cockatrice/src/game/player/menu/player_menu.h b/cockatrice/src/game/player/menu/player_menu.h index 678a5a3e9..b2059250d 100644 --- a/cockatrice/src/game/player/menu/player_menu.h +++ b/cockatrice/src/game/player/menu/player_menu.h @@ -30,6 +30,7 @@ private slots: void addPlayer(Player *playerToAdd); void removePlayer(Player *playerToRemove); void playerListActionTriggered(); + void onNewPlayerListActionCreated(QAction *action); void refreshShortcuts(); public: