mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 17:15:09 -07:00
[Client] Route cockatrice:// link clicks from chat to the intent chain (#7136)
* [Client] Route cockatrice:// link clicks from chat to the intent chain A cockatrice:// link clicked in chat is currently handed to the OS (or does nothing in-process). Clicks now emit a cockatriceLinkActivated signal that travels ChatView -> Tab -> TabSupervisor -> MainWindow, which feeds the URL through the same IntentUrlParser the OS activation path uses, so the join runs entirely in-process. card/user schemes and all other links behave as before. * [Client] Route cockatrice:// link clicks from the in-game chat to the intent chain * [Client] Reuse one IntentUrlParser instance for cockatrice:// links Took 59 seconds --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
parent
3de7882f0c
commit
60ee81cfbe
10 changed files with 25 additions and 0 deletions
|
|
@ -777,6 +777,11 @@ void ChatView::mouseReleaseEvent(QMouseEvent *event)
|
|||
|
||||
void ChatView::openLink(const QUrl &link)
|
||||
{
|
||||
if (link.scheme() == "cockatrice") {
|
||||
emit cockatriceLinkActivated(link.toString(QUrl::FullyEncoded));
|
||||
return;
|
||||
}
|
||||
|
||||
if ((link.scheme() == "card") || (link.scheme() == "user")) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ signals:
|
|||
void addMentionTag(QString mentionTag);
|
||||
void messageClickedSignal();
|
||||
void showMentionPopup(const QString &userName);
|
||||
void cockatriceLinkActivated(const QString &url);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue