From b24513038cd66941e26b304dd8667957850243e8 Mon Sep 17 00:00:00 2001 From: Andrew Hong Date: Wed, 24 Aug 2022 02:54:24 -0400 Subject: [PATCH] Add popupdialog button to copy url --- osu.Game/Online/Chat/ExternalLinkOpener.cs | 2 +- osu.Game/Overlays/Chat/ExternalLinkDialog.cs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/osu.Game/Online/Chat/ExternalLinkOpener.cs b/osu.Game/Online/Chat/ExternalLinkOpener.cs index e557b9933e..4141a6fb60 100644 --- a/osu.Game/Online/Chat/ExternalLinkOpener.cs +++ b/osu.Game/Online/Chat/ExternalLinkOpener.cs @@ -32,7 +32,7 @@ namespace osu.Game.Online.Chat public void OpenUrlExternally(string url, bool bypassWarning = false) { if (!bypassWarning && externalLinkWarning.Value) - dialogOverlay.Push(new ExternalLinkDialog(url, () => host.OpenUrlExternally(url))); + dialogOverlay.Push(new ExternalLinkDialog(url, () => host.OpenUrlExternally(url), () => host.GetClipboard().SetText(url))); else host.OpenUrlExternally(url); } diff --git a/osu.Game/Overlays/Chat/ExternalLinkDialog.cs b/osu.Game/Overlays/Chat/ExternalLinkDialog.cs index f0d39346e0..09650a13bd 100644 --- a/osu.Game/Overlays/Chat/ExternalLinkDialog.cs +++ b/osu.Game/Overlays/Chat/ExternalLinkDialog.cs @@ -11,7 +11,7 @@ namespace osu.Game.Overlays.Chat { public class ExternalLinkDialog : PopupDialog { - public ExternalLinkDialog(string url, Action openExternalLinkAction) + public ExternalLinkDialog(string url, Action openExternalLinkAction, Action copyExternalLinkAction) { HeaderText = "Just checking..."; BodyText = $"You are about to leave osu! and open the following link in a web browser:\n\n{url}"; @@ -25,6 +25,11 @@ namespace osu.Game.Overlays.Chat Text = @"Yes. Go for it.", Action = openExternalLinkAction }, + new PopupDialogOkButton + { + Text = @"No! Copy the URL instead!", + Action = copyExternalLinkAction + }, new PopupDialogCancelButton { Text = @"No! Abort mission!"