From f9dd8c182fb6fbac70ae153d0eb3adb826cb2cc2 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 5 Jun 2022 09:10:28 +0300 Subject: [PATCH] Added ability to copy link of public user. --- .../SourceFiles/window/window_peer_menu.cpp | 24 +++++++++++++++++++ Telegram/lib_ui | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index 2181c1cc21..9a48a110ba 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -27,6 +27,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/boxes/report_box.h" #include "ui/toast/toast.h" #include "ui/text/format_values.h" +#include "ui/text/text_entity.h" #include "ui/text/text_utilities.h" #include "ui/widgets/labels.h" #include "ui/widgets/checkbox.h" @@ -196,6 +197,7 @@ private: void addExportChat(); void addReport(); void addNewContact(); + void addShareUsername(); void addShareContact(); void addEditContact(); void addBotToGroup(); @@ -650,6 +652,27 @@ void Filler::addNewContact() { &st::menuIconInvite); } +void Filler::addShareUsername() { + const auto user = _peer->asUser(); + if (!user || user->userName().isEmpty()) { + return; + } + _addAction( + tr::lng_group_invite_share(tr::now), + [=, controller = _controller] { + const auto link = controller->session().createInternalLinkFull( + user->userName()); + if (link.isEmpty()) { + return; + } + TextUtilities::SetClipboardText(TextForMimeData::Simple(link)); + Ui::Toast::Show( + Window::Show(controller).toastParent(), + tr::lng_username_copied(tr::now)); + }, + &st::menuIconShare); +} + void Filler::addShareContact() { const auto user = _peer->asUser(); if (!user || !user->canShareThisContact()) { @@ -856,6 +879,7 @@ void Filler::fillProfileActions() { addSupportInfo(); addNewContact(); addShareContact(); + addShareUsername(); addEditContact(); addBotToGroup(); addNewMembers(); diff --git a/Telegram/lib_ui b/Telegram/lib_ui index 6ae122f1b2..0a713c1c7b 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit 6ae122f1b27332a27316892dada6050e2f225ad8 +Subproject commit 0a713c1c7b9d1890b98eb7c6d1e29bd199914ad7