From a396f507f8c9ee2a567d380ebc3e89f8e33691d2 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 3 Oct 2025 11:27:28 +0300 Subject: [PATCH] Slightly improved share message phrase factory to be more flexible. --- Telegram/SourceFiles/boxes/share_box.cpp | 8 ++++++-- .../chat_helpers/share_message_phrase_factory.cpp | 3 +++ .../chat_helpers/share_message_phrase_factory.h | 1 + Telegram/SourceFiles/window/window_peer_menu.cpp | 4 +++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/boxes/share_box.cpp b/Telegram/SourceFiles/boxes/share_box.cpp index 4c6eb01e0b..6e84dbb82f 100644 --- a/Telegram/SourceFiles/boxes/share_box.cpp +++ b/Telegram/SourceFiles/boxes/share_box.cpp @@ -1796,7 +1796,9 @@ ShareBox::SubmitCallback ShareBox::DefaultForwardCallback( auto phrase = rpl::variable( ChatHelpers::ForwardedMessagePhrase( donePhraseArgs)).current(); - show->showToast(std::move(phrase)); + if (!phrase.empty()) { + show->showToast(std::move(phrase)); + } show->hideLayer(); } } @@ -1954,7 +1956,9 @@ void FastShareMessageToSelf( auto phrase = rpl::variable( ChatHelpers::ForwardedMessagePhrase( donePhraseArgs)).current(); - show->showToast(std::move(phrase)); + if (!phrase.empty()) { + show->showToast(std::move(phrase)); + } }); } diff --git a/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.cpp b/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.cpp index 3d08fb958f..26912176e2 100644 --- a/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.cpp +++ b/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.cpp @@ -19,6 +19,9 @@ rpl::producer ForwardedMessagePhrase( Assert(args.to1); if (args.to1->isSelf()) { + if (args.toSelfWithPremiumIsEmpty && args.to1->isPremium()) { + return {}; + } return (args.singleMessage ? tr::lng_share_message_to_saved_messages : tr::lng_share_messages_to_saved_messages)( diff --git a/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.h b/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.h index a97addadee..b6f6efcb0e 100644 --- a/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.h +++ b/Telegram/SourceFiles/chat_helpers/share_message_phrase_factory.h @@ -16,6 +16,7 @@ struct ForwardedMessagePhraseArgs final { bool singleMessage = false; PeerData *to1 = nullptr; PeerData *to2 = nullptr; + bool toSelfWithPremiumIsEmpty = true; }; rpl::producer ForwardedMessagePhrase( diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index dc949fd085..fb909c9259 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -3908,7 +3908,9 @@ void ForwardToSelf( .singleMessage = (count == 1), .to1 = session->user(), })).current(); - show->showToast(std::move(phrase)); + if (!phrase.empty()) { + show->showToast(std::move(phrase)); + } }); } }