- Drop the in-game tournament-settings button: Command_TournamentSettingsSelect
has no server handler (RespContextError), the host-ness decision was evaluated
once at tab construction, and the button never received a label on first show.
The dialog can be re-added together with a working Server_Player override.
- Pass PlayerManager::isSpectator() to TournamentWidget instead of relying on
localPlayerId == -1, which never holds for spectators.
- Report games per match as the total series length (Best of %1) to match the
DlgTournamentSettings hint and the server's use of the value; the previous
gamesPerMatch * 2 - 1 mislabeled Bo3 as Best of 5.
- Block signals around read-only tournamentCheckBox setChecked so the disabled
settings button is not re-enabled, and seed Command_CreateGame through
mutable_tournament_settings() (field 15 became the settings message).
- return after closing a sub-game that routed to its parent tab.
Wires the tournament protocol into the client:
- DlgCreateGame gains a tournament checkbox with a games-per-match
settings sub-dialog; both values are sent with Command_CreateGame and
mirrored in the join-info variant of the dialog
- TournamentWidget renders live standings (with deck-submission state)
and pairings for the local player's perspective, and asks to open the
current match game via openMatchGameRequested()
- TournamentTabGameExtension attaches an overview page to TabGame's
stacked views, mirrors phase and submission progress onto a deck-view
status strip, and provides round-trip navigation between game view and
standings; hosts get an in-game settings dialog during deck building
- Open-match falls back to joining as spectator through TabSupervisor;
sub-games now return to their parent tab on close, falling back to
the normal leave-game flow when the parent is gone
* [Settings] Split cache_settings into multiple files
Took 9 minutes
Took 4 minutes
* [Settings] Fwd declare settings classes in cache_settings
Took 15 minutes
* Fix oracle includes.
Took 8 minutes
* Address comments, fix windows CI
Took 8 minutes
* fix copy constructor visibility
Took 3 minutes
* lint
Took 2 minutes
* Fix native format tests.
Took 5 minutes
* Remove test header guard
Took 4 seconds
* Remove tests invalid in CI environ
Took 24 seconds
* Adjust to rebase.
Took 11 minutes
* Change settings file name.
Took 8 minutes
---------
Co-authored-by: Lukas Brübach <lukas.bruebach@bdosecurity.de>
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* style: Add braces to all control flow statements
Standardize code style by adding explicit braces to all single-statement
control flow blocks (if, else, for, while) across the entire codebase.
Also documents the InsertBraces clang-format option (requires v15+) for
future automated enforcement.
* InsertBraces-check-enabled
* [Cleanup] Unused #includes
Took 44 minutes
* [Cleanup] More unused #includes
Took 55 minutes
* [Cleanup] Include QSet
Took 4 minutes
* [Cleanup] Include QDebug in deck_list.cpp
Took 3 minutes
* [Cleanup] Include protocol stuff in servatrice_database_interface.h
Took 3 minutes
* [Cleanup] Include QDialogButtonBox
Took 8 minutes
* [Cleanup] Include QUrl
Took 8 minutes
* [Cleanup] Include QTextOption in header.
Took 3 minutes
* [Cleanup] Include QMap in user_list_manager.h
Took 8 minutes
* [Cleanup] Adjust qjson
Took 8 minutes
* [Cleanup] include button box.
Took 3 minutes
* [Cleanup] Redo fwd declarations.
* [Cleanup] Redo last removed fwd declarations.
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Add button to join game as judge as well as convenience filters.
Took 1 hour 11 minutes
* Change button to filter to games created by buddies, set default filter settings to be very permissive.
Took 45 minutes
* Remove debug.
Took 3 minutes
* Update game_selector.cpp
* Add spacers, rearrange.
Took 20 minutes
Took 20 seconds
* Add explanation tooltip.
Took 39 seconds
* Try layouting.
Took 14 minutes
* Set min size, set spacing for mac os
Took 3 minutes
* Try without the labels.
Took 3 minutes
* Don't use labels.
Took 5 minutes
* Fine-tune.
Took 2 minutes
* AsJudge
Took 4 minutes
* Clear up comment.
Took 37 seconds
* Remove shift hotkey.
Took 4 minutes
* Spectate as judge.
Took 8 minutes
* Add checkBox to create game as judge.
Took 7 minutes
* Fix crash.
Took 12 minutes
* Rename, fix returns.
Took 19 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
* Have CardDatabase::getPreferredPrintingInfo respect card provider ID overrides (pinned printings)
Took 13 minutes
Took 37 seconds
Took 10 seconds
Took 10 seconds
# Commit time for manual adjustment:
# Took 30 seconds
Took 15 seconds
Took 8 minutes
Took 21 seconds
* Move settings cache and settings card preference provider out of libcockatrice_settings and into cockatrice
Took 52 minutes
Took 9 minutes
Took 1 minute
* Temp cache.
Took 16 minutes
* Dependency Injection for SettingsCache
* Turn SettingsCache into a QSharedPointer.
* Implement interfaces for settings that need it
Took 2 hours 38 minutes
* Adjust oracle.
Took 5 minutes
* Move abstract/noop interfaces to libcockatrice_interfaces so they can be linked against independently.
Took 52 minutes
* Clean up some links.
Took 3 minutes
* Cleanup two includes.
Took 3 minutes
* More fixes.
Took 7 minutes
* More includes that slipped past.
Took 3 minutes
* Stop mocking and start injecting for tests.
Took 15 minutes
* I don't know why remote_client was including main.
Took 4 minutes
* Include.
Took 3 minutes
* Lint.
Took 2 minutes
* Don't use Qt pointers.
Took 1 hour 7 minutes
* Make parser use CardSettingsInterface
Took 13 minutes
* Also adjust constructor lol.
Took 8 minutes
* Lint.
Took 32 minutes
* Revert "Lint."
This reverts commit ecb596c39e.
Took 3 minutes
* Test.
Took 3 minutes
---------
Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>