Cockatrice/cockatrice/src/interface
BruebachL 48776cfeba
Some checks are pending
Build Desktop / Configure (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Fedora 43 (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / macOS 15 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Docker Image / amd64 & arm64 (push) Waiting to run
[Game] Generic Animation Interface (#7098)
* Introduce generic IAnimatedItem interface for scene animations

GameScene's shared 10ms animation timer previously only knew about
CardItems (cardsToAnimate). Generalize it so any scene item can tick on
the shared timer instead of owning its own QTimer:

- New IAnimatedItem interface with a single animationEvent() tick.
- GameScene tracks animated items in a QHash keyed by QObject and
  auto-unregisters items when they are destroyed, so an item deleted
  mid-animation (concede, removePlayer, deleteLater) can never leave a
  dangling pointer in the set.
- GameScene::~GameScene disconnects incoming connections before the
  animation timer is deleted; all timer stops are null-guarded so
  destruction ordering no longer matters.
- AbstractCardItem implements IAnimatedItem with a no-op tick so the
  existing tap-animation registration path keeps working; CardItem
  overrides it with the real rotate animation.

Took 5 minutes

* Add Enable/Disable all animations buttons to settings

The animation settings group gets two push buttons that toggle every
per-effect animation checkbox at once. The base branch carries the
buttons and the shared slots; per-effect toggles (life counter,
battlefield, arrow draw) are added by the feature branches on top.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-08-12 20:36:33 +02:00
..
card_picture_loader [PictureLoader] Schedule exponential backoff on 429 - Too many request handler and call failed on fail (#7053) 2026-08-08 22:55:27 +02:00
deck_loader Fix #6952: prevent deck loss when saving to a full disk (#6978) 2026-06-09 07:54:01 +02:00
intents Define Cockatrice as an editor/handler for .cod files and cockatrice:// protocol on all platforms (#6775) 2026-08-08 19:02:19 +02:00
layouts Run formatter on all our files (#6942) 2026-05-26 15:11:38 -07:00
palette_editor Fix up a small rebase/merge conflict (#7061) 2026-07-27 03:59:57 -07:00
widgets [Game] Generic Animation Interface (#7098) 2026-08-12 20:36:33 +02:00
key_signals.cpp style: Add braces to all control flow statements (#6887) 2026-05-16 19:19:53 +02:00
key_signals.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
logger.cpp style: Add braces to all control flow statements (#6887) 2026-05-16 19:19:53 +02:00
logger.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
pixel_map_generator.cpp style: Add braces to all control flow statements (#6887) 2026-05-16 19:19:53 +02:00
pixel_map_generator.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
theme_config.cpp [PaletteEditor] Ensure directory is writeable, don't fall back to alternate palette (#7048) 2026-07-27 11:23:41 +02:00
theme_config.h [App/Theme] Palette Editor (#6877) 2026-05-17 10:08:00 +02:00
theme_manager.cpp [Settings] Split cache_settings monolith into multiple SettingsManager sub-classes (#7050) 2026-07-27 11:25:39 +02:00
theme_manager.h [PaletteEditor] Ensure directory is writeable, don't fall back to alternate palette (#7048) 2026-07-27 11:23:41 +02:00
window_main.cpp [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
window_main.h [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00