Add centralized Z-value management for Qt's stacking order system. This
replaces scattered magic numbers with semantic constants, making the rendering
hierarchy explicit and maintainable.
The architecture defines three layers:
- Zone layer (0-999): Zone backgrounds and containers
- Card layer (1-40M): Cards on the table zone using position-based formula
- Overlay layer (200M+): UI elements that always render above cards
ZValueLayerManager provides validation utilities and the overlayZValue()
function for computing overlay Z-values. ZValues namespace provides the
semantic constants used throughout the codebase.
The 5x gap between card max (40M) and overlay base (200M) provides safety
margin for future table zone expansions.
Replace hardcoded zone name strings with ZoneNames::* constants
for existing zones. This improves maintainability and type safety.
Zones converted:
- "hand" -> ZoneNames::HAND
- "deck" -> ZoneNames::DECK
- "grave" -> ZoneNames::GRAVE
- "rfg" -> ZoneNames::EXILE
- "sb" -> ZoneNames::SIDEBOARD
Add a centralized header for zone name string constants used in protocol
messages and zone lookups. This replaces scattered hardcoded string literals
with type-safe constants, improving maintainability and reducing typo risks.
The ZoneNames namespace provides constants for core game zones: table, grave,
exile (rfg), hand, deck, sideboard, and stack.
Adds a new default theme that causes the QT Fusion theme to be
selected. This theme looks a bit nicer than 'Windows' and supports
both light and dark mode out of the box.
* add doxygen-theme-css submodule
* enable theme and disable not needed code references
* hide nav sync button
* css and cleanup
* Move comments to dedicated README to not fail config check
* [TabArchidekt] Cleaner filters, infinite scrolling, and a "go back button"
Took 46 minutes
Took 5 seconds
* Fix infinite scroll triggering in detail view.
Took 25 minutes
Took 3 seconds
* Use setLabelText() so it's white
Took 2 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [VDE] A stab at things
Took 14 minutes
Took 10 minutes
Took 5 minutes
Took 4 minutes
Took 41 seconds
Took 10 minutes
Took 3 minutes
* [VDE] Use placeholder image for deck view if deck is empty.
Took 15 minutes
Took 9 seconds
Took 5 seconds
* Sort CMakeList correctly.
Took 35 seconds
Took 23 seconds
* Visibility updates got lost in the rebase.
Took 7 minutes
* Same treatment for printing selector.
Took 42 minutes
* Actually add file.
Took 4 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [VDD] Reorder quick filters
Took 1 hour 10 minutes
Took 5 seconds
Took 49 seconds
* [VDD] Use Font Awesome Icons
Took 49 minutes
Took 5 seconds
* [VDD] Shuffle some widgets around, label things.
Took 31 minutes
Took 5 seconds
* Change buttons to be push rather than toggle.
Took 17 minutes
Took 9 seconds
* Reduce margins, retranslate button texts.
Took 15 minutes
Took 9 seconds
* Actually do it, don't commit the commented out testing version lol
Took 3 minutes
* Start sets in include, correct subtype include/exact match logic.
Took 12 minutes
* Block sync.
Took 16 minutes
Took 8 seconds
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* [ColorIdentityWidget] Refactor and add setter
* rename manaCost field
* nvm, just refactor for now
* use QtUtils
* move clearLayout into populate
* add back cardInfo constructor