diff --git a/Telegram/Resources/icons/chat/mini_copy.png b/Telegram/Resources/icons/chat/mini_copy.png new file mode 100644 index 000000000..05af01e49 Binary files /dev/null and b/Telegram/Resources/icons/chat/mini_copy.png differ diff --git a/Telegram/Resources/icons/chat/mini_copy@2x.png b/Telegram/Resources/icons/chat/mini_copy@2x.png new file mode 100644 index 000000000..69693d749 Binary files /dev/null and b/Telegram/Resources/icons/chat/mini_copy@2x.png differ diff --git a/Telegram/Resources/icons/chat/mini_copy@3x.png b/Telegram/Resources/icons/chat/mini_copy@3x.png new file mode 100644 index 000000000..809361d53 Binary files /dev/null and b/Telegram/Resources/icons/chat/mini_copy@3x.png differ diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 98e41d30e..503f0a020 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2686,6 +2686,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_formatting_link_create" = "Create"; "lng_text_copied" = "Text copied to clipboard."; +"lng_code_copied" = "Code copied to clipboard."; "lng_spellchecker_submenu" = "Spelling"; "lng_spellchecker_add" = "Add to Dictionary"; diff --git a/Telegram/SourceFiles/core/ui_integration.cpp b/Telegram/SourceFiles/core/ui_integration.cpp index 8f1be8324..1fe33e654 100644 --- a/Telegram/SourceFiles/core/ui_integration.cpp +++ b/Telegram/SourceFiles/core/ui_integration.cpp @@ -243,6 +243,16 @@ bool UiIntegration::handleUrlClick( return true; } +bool UiIntegration::copyPreOnClick(const QVariant &context) { + const auto my = context.value(); + if (const auto window = my.sessionWindow.get()) { + window->showToast(tr::lng_code_copied(tr::now)); + } else if (my.show) { + my.show->showToast(tr::lng_code_copied(tr::now)); + } + return true; +} + std::unique_ptr UiIntegration::createCustomEmoji( const QString &data, const std::any &context) { diff --git a/Telegram/SourceFiles/core/ui_integration.h b/Telegram/SourceFiles/core/ui_integration.h index cd3e4ff58..0515c732f 100644 --- a/Telegram/SourceFiles/core/ui_integration.h +++ b/Telegram/SourceFiles/core/ui_integration.h @@ -53,6 +53,7 @@ public: bool handleUrlClick( const QString &url, const QVariant &context) override; + bool copyPreOnClick(const QVariant &context) override; rpl::producer<> forcePopupMenuHideRequests() override; const Ui::Emoji::One *defaultEmojiVariant( const Ui::Emoji::One *emoji) override; diff --git a/Telegram/SourceFiles/ui/chat/chat.style b/Telegram/SourceFiles/ui/chat/chat.style index 5c126895d..f13781bfe 100644 --- a/Telegram/SourceFiles/ui/chat/chat.style +++ b/Telegram/SourceFiles/ui/chat/chat.style @@ -56,6 +56,8 @@ messageTextStyle: TextStyle(defaultTextStyle) { header: 20px; headerPosition: point(10px, 2px); scrollable: true; + icon: icon{{ "chat/mini_copy", windowFg }}; + iconPosition: point(4px, 2px); } } msgDateTextStyle: defaultTextStyle; diff --git a/Telegram/SourceFiles/ui/chat/chat_style.cpp b/Telegram/SourceFiles/ui/chat/chat_style.cpp index a2604b247..b1e22f808 100644 --- a/Telegram/SourceFiles/ui/chat/chat_style.cpp +++ b/Telegram/SourceFiles/ui/chat/chat_style.cpp @@ -60,6 +60,8 @@ void EnsurePreCache( cache->outline.setAlphaF(0.9); cache->header = color->c; cache->header.setAlphaF(0.25); + cache->icon = cache->outline; + cache->icon.setAlphaF(0.6); } } // namespace diff --git a/Telegram/ThirdParty/libprisma b/Telegram/ThirdParty/libprisma index 7f62494bb..629dc69fb 160000 --- a/Telegram/ThirdParty/libprisma +++ b/Telegram/ThirdParty/libprisma @@ -1 +1 @@ -Subproject commit 7f62494bb8cb6478a7cb6053ad7b5668fa013366 +Subproject commit 629dc69fbffa5d63954c8e8909a26efdd98573b0 diff --git a/Telegram/lib_spellcheck b/Telegram/lib_spellcheck index 5227bec65..c97b3fe73 160000 --- a/Telegram/lib_spellcheck +++ b/Telegram/lib_spellcheck @@ -1 +1 @@ -Subproject commit 5227bec65b6cb8c2b3172747ecb5f3468580de10 +Subproject commit c97b3fe73ddfbc80c9ecacfbf2cda824e5b05ff5 diff --git a/Telegram/lib_ui b/Telegram/lib_ui index 9eb9fcf04..17d73a5c0 160000 --- a/Telegram/lib_ui +++ b/Telegram/lib_ui @@ -1 +1 @@ -Subproject commit 9eb9fcf043276bb3a73f1fc25531e4f4862d6fc9 +Subproject commit 17d73a5c0cb7350a2330b85347a919ad639ad1cf