Cockatrice/libcockatrice_models/libcockatrice/models/deck_list
Lukas Brübach f796e2e419 [Models] Mirror custom deck zones in the deck list model
DeckListModel now surfaces the custom zones from the deck tree so
views can render and edit them alongside criteria groups.

- rebuildTree mirrors each custom zone as a DecklistModelSubZoneNode
  under its board zone, cards flat inside (no further grouping).
- The freshly built shadow tree is sorted while the model reset is
  still open, so views never observe unsorted intermediate order and
  proxies cannot desync.
- Custom zones always sort after criteria groups within a board,
  regardless of their names. sortHelper remaps persistent indexes
  through the pre-shift rows to keep selections valid.
- addCard inserts flat into a custom zone by name and keeps grouping
  by active criteria for board zones. findCardNode resolves cards in
  both layouts, legacy top-level zones unchanged.
- New IsCustomZoneRole lets views tell zones apart from groups.
- Empty custom zones survive row removal. Zone rows themselves are
  only mutable through the deck tree API.

Took 5 minutes


Took 20 minutes
2026-08-26 23:18:50 +02:00
..
CMakeLists.txt [CI] Remove Qt5 (#7071) 2026-08-08 22:04:50 +02:00
deck_list_model.cpp [Models] Mirror custom deck zones in the deck list model 2026-08-26 23:18:50 +02:00
deck_list_model.h [Models] Mirror custom deck zones in the deck list model 2026-08-26 23:18:50 +02:00
deck_list_sort_filter_proxy_model.cpp Run formatter on all our files (#6942) 2026-05-26 15:11:38 -07:00
deck_list_sort_filter_proxy_model.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00