Cockatrice/cockatrice
DawnFire42 70b41c2095
refactor: extract AbstractPlayerComponent interface for polymorphic player component management. (#6696)
Non-QObject polymorphic interface with setShortcutsActive(), setShortcutsInactive(), and retranslateUi(). Uses regular multiple inheritance to avoid diamond inheritance with Qt's MOC.

All zone menus, SayMenu, and AbstractCounter implement this interface. PlayerMenu manages them via a managedComponents list with two template helpers (addManagedMenu/registerManagedComponent), replacing individual if-guarded lifecycle calls with a single polymorphic loop.

SayMenu now owns its shortcut and translation lifecycle instead of having PlayerMenu manage its title and shortcuts externally.
Counters are iterated via Player::getCounters() rather than managedComponents to avoid duplicating the authoritative owner's map.
2026-03-24 12:31:34 -07:00
..
resources [Search] Fix OR usage in examples (#6628) 2026-02-24 01:34:23 +01:00
sounds Add cmake format (#4618) 2022-05-08 21:22:43 +02:00
src refactor: extract AbstractPlayerComponent interface for polymorphic player component management. (#6696) 2026-03-24 12:31:34 -07:00
themes Add cmake format (#4618) 2022-05-08 21:22:43 +02:00
translations Translate cockatrice/cockatrice_en@source.ts in it (#6724) 2026-03-21 10:13:43 +01:00
.qdevelop icon_draw and icon_untap added, icon_general and icon_messages modified 2009-07-31 13:37:16 +02:00
CMakeLists.txt Add local game options (#6669) 2026-03-12 14:30:01 -07:00
cockatrice.desktop Updated Spanish translation 2011-07-16 11:38:57 +02:00
cockatrice.qrc [CardDatabaseDisplay] Reduce width by using icons (#6603) 2026-02-22 20:54:58 -08:00
cockatrice.rc Included uninstaller for Windows version 2010-09-17 15:26:07 +02:00
cockatrice_en@source.ts Update translation source strings (#6465) 2026-01-06 19:35:53 +01:00