Cockatrice/libcockatrice_deck_list/libcockatrice/deck_list/tree
Lukas Brübach ff97b73af9
[Client] Add zone management to the deck state manager
State-layer operations for custom deck zones, plus the shared prompt
dialog that later editor menus will call into.

- moveCardToZone relocates every copy of a card row into any zone,
  refusing non-card rows and tokens so miswired selections can never
  shred a group or turn tokens into deck cards. The current zone is
  found by walking ancestors, which also handles legacy top-level
  zones.
- createCustomZone, renameCustomZone, moveCustomZone and
  removeCustomZone wrap the tree API with memento history, model
  rebuilds and deck hash refreshes via modifyTree.
- Same-board zone moves return success without minting a history
  entry, keeping the undo log honest.
- promptForNewZone asks for a name and the parent zone, keeps Ok
  disabled until the trimmed name passes a caller-supplied validator
  (shown inline as an error), and reports its own translation context.

Took 14 minutes

# Commit time for manual adjustment:
# Took 6 minutes

# Commit time for manual adjustment:
# Took 33 seconds
2026-09-05 20:19:29 +02:00
..
abstract_deck_list_card_node.cpp add a limit to the size of deckfiles cockatrice can load (#7163) 2026-08-29 15:21:04 +02:00
abstract_deck_list_card_node.h add a limit to the size of deckfiles cockatrice can load (#7163) 2026-08-29 15:21:04 +02:00
abstract_deck_list_node.cpp [DeckList] Move decklist node classes into new folder (#6381) 2025-11-30 13:05:49 +01:00
abstract_deck_list_node.h add a limit to the size of deckfiles cockatrice can load (#7163) 2026-08-29 15:21:04 +02:00
deck_list_card_node.cpp [DeckList] Move decklist node classes into new folder (#6381) 2025-11-30 13:05:49 +01:00
deck_list_card_node.h Standardize Doxygen documentation (#6885) 2026-05-21 22:58:07 +02:00
inner_deck_list_node.cpp [Client] Add zone management to the deck state manager 2026-09-05 20:19:29 +02:00
inner_deck_list_node.h [Client] Add zone management to the deck state manager 2026-09-05 20:19:29 +02:00