From 876a14758eb43ac281dd0f34281e96a68e7dadd3 Mon Sep 17 00:00:00 2001 From: DawnFire42 Date: Mon, 10 Aug 2026 19:35:59 -0400 Subject: [PATCH] Connect tax counter state signals to menu --- cockatrice/src/game_graphics/player/menu/command_zone_menu.h | 4 +++- cockatrice/src/game_graphics/player/menu/player_menu.h | 5 +++++ cockatrice/src/game_graphics/player/player_graphics_item.cpp | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/game_graphics/player/menu/command_zone_menu.h b/cockatrice/src/game_graphics/player/menu/command_zone_menu.h index 7b87f9c78..17f4fd275 100644 --- a/cockatrice/src/game_graphics/player/menu/command_zone_menu.h +++ b/cockatrice/src/game_graphics/player/menu/command_zone_menu.h @@ -42,11 +42,13 @@ private: QAction *aTogglePartnerTaxCounter = nullptr; ///< Toggles partner commander tax counter visibility QAction *aToggleMinimized = nullptr; ///< Toggles command zone minimized state +public slots: + void updateTaxCounterActionStates(); + private slots: void actToggleMinimized(); private: - void updateTaxCounterActionStates(); PlayerGraphicsItem *player; QString incTaxShortcutKey; diff --git a/cockatrice/src/game_graphics/player/menu/player_menu.h b/cockatrice/src/game_graphics/player/menu/player_menu.h index 5532c3ceb..c32b785d0 100644 --- a/cockatrice/src/game_graphics/player/menu/player_menu.h +++ b/cockatrice/src/game_graphics/player/menu/player_menu.h @@ -71,6 +71,11 @@ public: return utilityMenu; } + [[nodiscard]] CommandZoneMenu *getCommandZoneMenu() const + { + return commandZoneMenu; + } + [[nodiscard]] bool getShortcutsActive() const { return shortcutsActive; diff --git a/cockatrice/src/game_graphics/player/player_graphics_item.cpp b/cockatrice/src/game_graphics/player/player_graphics_item.cpp index 48174e6c7..8cc47d469 100644 --- a/cockatrice/src/game_graphics/player/player_graphics_item.cpp +++ b/cockatrice/src/game_graphics/player/player_graphics_item.cpp @@ -241,6 +241,11 @@ void PlayerGraphicsItem::onCounterAdded(CounterState *state) widget = new CommanderTaxCounter(state, player, commandZoneGraphicsItem); widget->setActive(state->isActive()); commandZoneGraphicsItem->registerTaxCounter(widget); + + if (auto *menu = playerMenu->getCommandZoneMenu()) { + connect(state, &CounterState::activeChanged, menu, &CommandZoneMenu::updateTaxCounterActionStates); + connect(state, &CounterState::valueChanged, menu, &CommandZoneMenu::updateTaxCounterActionStates); + } } else { widget = new GeneralCounter(state, player, true, this); }