Cockatrice/cockatrice/src/interface/widgets
BruebachL fe53f9c3eb
[Chat] Render game link buttons (#7135)
* [Chat] Render cockatrice://joingame links in chat as clickable buttons

Words starting with cockatrice:// become button-style anchors labelled with
the game description, id and server (falling back to id + server for links
built without a description). The description is spliced via the multi-arg
arg() overloads so a title containing "%…" cannot corrupt the label.

Keyboard link access is enabled so the anchors are reachable without a mouse.

* [Chat] Fix percent-encoding and scheme gating in game-link chat labels

Game descriptions containing '%' were rendered as '%25' in the chat
button label because QUrlQuery's default decode leaves %25 untouched.
Use QUrl::FullyDecoded for the description item, and restrict the
invite-button treatment to cockatrice://joingame links; any other
cockatrice:// scheme now falls through to plain text.

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-08-17 00:26:33 +02:00
..
cards [CardSearch] Add card completion popups to chats and search fields (#7089) 2026-08-11 18:50:30 +02:00
deck_analytics [CI] Remove Qt5 (#7071) 2026-08-08 22:04:50 +02:00
deck_editor [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415) 2026-08-09 00:46:17 +02:00
dialogs [GamesModel] Rename 'Creator' column to 'Host' (#7083) 2026-08-13 18:58:21 +02:00
general [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
menus [Settings] Shuffle some settings around (#7084) 2026-08-08 22:27:41 +02:00
printing_selector [CI] Remove Qt5 (#7071) 2026-08-08 22:04:50 +02:00
quick_settings [CI] Remove Qt5 (#7071) 2026-08-08 22:04:50 +02:00
replay [Replay] Implement option to skip empty sections (#7069) 2026-08-08 23:12:10 -07:00
server [Chat] Render game link buttons (#7135) 2026-08-17 00:26:33 +02:00
settings_page [Tabs] Add a setting to define startup tab on application launch (#7121) 2026-08-15 22:16:37 +02:00
tabs [Client] Keep the message draft and notify when the recipient is offline (#7142) 2026-08-17 00:16:55 +02:00
utility [CardSearch] Add card completion popups to chats and search fields (#7089) 2026-08-11 18:50:30 +02:00
visual_database_display [VDD] Defer heavy construction until after the tab paints (#7115) 2026-08-14 11:39:10 +02:00
visual_deck_editor [DeckEditor] Reuse the inherited CardDatabaseModel in the visual editor (#7112) 2026-08-14 07:11:26 +02:00
visual_deck_storage [Refactor] Decouple DeckFilterString from DeckPreviewWidget (#7104) 2026-08-13 19:04:16 +02:00