From c8b6d7bf83edf661ffbbf1501810b511de1902d6 Mon Sep 17 00:00:00 2001 From: Mmonge123 Date: Mon, 25 May 2026 13:35:45 +0100 Subject: [PATCH] refactor: Create forManagedComponents method --- cockatrice/src/game/player/menu/player_menu.cpp | 12 +++--------- cockatrice/src/game/player/menu/player_menu.h | 8 ++++++++ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/cockatrice/src/game/player/menu/player_menu.cpp b/cockatrice/src/game/player/menu/player_menu.cpp index c382e595d..c3b388c33 100644 --- a/cockatrice/src/game/player/menu/player_menu.cpp +++ b/cockatrice/src/game/player/menu/player_menu.cpp @@ -144,9 +144,7 @@ void PlayerMenu::setShortcutsActive() } if (!player->getGame()->getGameMetaInfo()->started()) { - for (auto *component : managedComponents) { - component->setShortcutsInactive(); - } + forManagedComponents([](auto *component) { component->setShortcutsInactive(); }); QMapIterator counterIterator(player->getCounters()); while (counterIterator.hasNext()) { @@ -159,9 +157,7 @@ void PlayerMenu::setShortcutsActive() return; } - for (auto *component : managedComponents) { - component->setShortcutsActive(); - } + forManagedComponents([](auto *component) { component->setShortcutsActive(); }); // Counters implement AbstractPlayerComponent but are iterated via Player::counters // (the authoritative source) rather than managedComponents to avoid a redundant @@ -176,9 +172,7 @@ void PlayerMenu::setShortcutsInactive() { shortcutsActive = false; - for (auto *component : managedComponents) { - component->setShortcutsInactive(); - } + forManagedComponents([](auto *component) { component->setShortcutsInactive(); }); QMapIterator counterIterator(player->getCounters()); while (counterIterator.hasNext()) { diff --git a/cockatrice/src/game/player/menu/player_menu.h b/cockatrice/src/game/player/menu/player_menu.h index d5fb3b785..e1d5a94fa 100644 --- a/cockatrice/src/game/player/menu/player_menu.h +++ b/cockatrice/src/game/player/menu/player_menu.h @@ -111,6 +111,14 @@ private: managedComponents.append(component); return component; } + + /// Runs a normal for loop over all managedComponents, applying the provided function. + template void forManagedComponents(Func func) + { + for (auto *component : managedComponents) { + func(component); + } + } }; #endif // COCKATRICE_PLAYER_MENU_H