From 3710d61a09699eebd65fc18c610abb70361745df Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 16 Jan 2024 16:53:46 +0400 Subject: [PATCH] Show "Hide read time" only on non-trivial privacy. --- Telegram/Resources/langs/lang.strings | 2 +- .../SourceFiles/boxes/edit_privacy_box.cpp | 8 +++-- Telegram/SourceFiles/boxes/edit_privacy_box.h | 3 +- .../settings/settings_privacy_controllers.cpp | 34 ++++++++++++++++--- .../settings/settings_privacy_controllers.h | 12 +++++-- 5 files changed, 49 insertions(+), 10 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 13a2347550..3e4f9da5ee 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1108,7 +1108,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_edit_privacy_lastseen_always_title" = "Always share with"; "lng_edit_privacy_lastseen_never_title" = "Never share with"; "lng_edit_lastseen_hide_read_time" = "Hide read time"; -"lng_edit_lastseen_hide_read_time_about" = "Do not show the time when you read a message to people you hid your last seen from. If you turn this on, their read time will also be hidden from you. This does not affect group chats."; +"lng_edit_lastseen_hide_read_time_about" = "Hide the time when you read messages from people who can't see your last seen. If you turn this on, their read time will also be hidden from you. This setting does not affect group chats."; "lng_edit_lastseen_subscribe" = "Subscribe to Telegram Premium"; "lng_edit_lastseen_subscribe_about" = "If you subscribe to Premium, you will see other users' last seen and read time even if you hid yours from them (unless they specifically restricted it)."; diff --git a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp index 0a8bc866da..e1cbe8e10a 100644 --- a/Telegram/SourceFiles/boxes/edit_privacy_box.cpp +++ b/Telegram/SourceFiles/boxes/edit_privacy_box.cpp @@ -379,7 +379,7 @@ void EditPrivacyBox::setupContent() { auto middle = _controller->setupMiddleWidget( _window, content, - std::move(optionValue)); + rpl::duplicate(optionValue)); if (middle) { content->add(std::move(middle)); } @@ -396,7 +396,11 @@ void EditPrivacyBox::setupContent() { _controller->exceptionsDescription() | Ui::Text::ToWithEntities(), st::defaultVerticalListSkip); - if (auto below = _controller->setupBelowWidget(_window, content)) { + auto below = _controller->setupBelowWidget( + _window, + content, + rpl::duplicate(optionValue)); + if (below) { content->add(std::move(below)); } diff --git a/Telegram/SourceFiles/boxes/edit_privacy_box.h b/Telegram/SourceFiles/boxes/edit_privacy_box.h index 66cd759480..c715ef4734 100644 --- a/Telegram/SourceFiles/boxes/edit_privacy_box.h +++ b/Telegram/SourceFiles/boxes/edit_privacy_box.h @@ -75,7 +75,8 @@ public: } [[nodiscard]] virtual object_ptr setupBelowWidget( not_null controller, - not_null parent) { + not_null parent, + rpl::producer