diff --git a/Telegram/Resources/icons/settings/premium/lastseen.png b/Telegram/Resources/icons/settings/premium/lastseen.png new file mode 100644 index 000000000..9299ed216 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/lastseen.png differ diff --git a/Telegram/Resources/icons/settings/premium/lastseen@2x.png b/Telegram/Resources/icons/settings/premium/lastseen@2x.png new file mode 100644 index 000000000..994a90719 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/lastseen@2x.png differ diff --git a/Telegram/Resources/icons/settings/premium/lastseen@3x.png b/Telegram/Resources/icons/settings/premium/lastseen@3x.png new file mode 100644 index 000000000..42b3f1865 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/lastseen@3x.png differ diff --git a/Telegram/Resources/icons/settings/premium/privacy.png b/Telegram/Resources/icons/settings/premium/privacy.png new file mode 100644 index 000000000..9d2309768 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/privacy.png differ diff --git a/Telegram/Resources/icons/settings/premium/privacy@2x.png b/Telegram/Resources/icons/settings/premium/privacy@2x.png new file mode 100644 index 000000000..f82d78947 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/privacy@2x.png differ diff --git a/Telegram/Resources/icons/settings/premium/privacy@3x.png b/Telegram/Resources/icons/settings/premium/privacy@3x.png new file mode 100644 index 000000000..ce3c77543 Binary files /dev/null and b/Telegram/Resources/icons/settings/premium/privacy@3x.png differ diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 7b57efbe0..25b35e849 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2035,6 +2035,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_premium_summary_about_infinite_reactions" = "React with thousands of emoji — with multiple reactions per message."; "lng_premium_summary_subtitle_tags_for_messages" = "Tags for Messages"; "lng_premium_summary_about_tags_for_messages" = "Organize your Saved Messages with tags for quicker access."; +"lng_premium_summary_subtitle_last_seen" = "Last Seen Times"; +"lng_premium_summary_about_last_seen" = "View the last seen and read times of others even if you hide yours."; +"lng_premium_summary_subtitle_message_privacy" = "Message Privacy"; +"lng_premium_summary_about_message_privacy" = "Restrict people you don't know from sending you messages."; "lng_premium_summary_subtitle_premium_stickers" = "Premium Stickers"; "lng_premium_summary_about_premium_stickers" = "Exclusive enlarged stickers featuring additional effects, updated monthly."; "lng_premium_summary_subtitle_animated_emoji" = "Animated Emoji"; diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.cpp b/Telegram/SourceFiles/boxes/premium_preview_box.cpp index 8baf8a535..93df20cfa 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_preview_box.cpp @@ -112,6 +112,10 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_subtitle_infinite_reactions(); case PremiumPreview::TagsForMessages: return tr::lng_premium_summary_subtitle_tags_for_messages(); + case PremiumPreview::LastSeen: + return tr::lng_premium_summary_subtitle_last_seen(); + case PremiumPreview::MessagePrivacy: + return tr::lng_premium_summary_subtitle_message_privacy(); case PremiumPreview::Stickers: return tr::lng_premium_summary_subtitle_premium_stickers(); case PremiumPreview::AnimatedEmoji: @@ -150,6 +154,10 @@ void PreloadSticker(const std::shared_ptr &media) { return tr::lng_premium_summary_about_infinite_reactions(); case PremiumPreview::TagsForMessages: return tr::lng_premium_summary_about_tags_for_messages(); + case PremiumPreview::LastSeen: + return tr::lng_premium_summary_about_last_seen(); + case PremiumPreview::MessagePrivacy: + return tr::lng_premium_summary_about_message_privacy(); case PremiumPreview::Stickers: return tr::lng_premium_summary_about_premium_stickers(); case PremiumPreview::AnimatedEmoji: @@ -480,6 +488,8 @@ struct VideoPreviewDocument { case PremiumPreview::AnimatedUserpics: return "animated_userpics"; case PremiumPreview::RealTimeTranslation: return "translations"; case PremiumPreview::Wallpapers: return "wallpapers"; + case PremiumPreview::LastSeen: return "last_seen"; + case PremiumPreview::MessagePrivacy: return "message_privacy"; } return ""; }(); diff --git a/Telegram/SourceFiles/boxes/premium_preview_box.h b/Telegram/SourceFiles/boxes/premium_preview_box.h index ba6dae46b..b7fb7a40e 100644 --- a/Telegram/SourceFiles/boxes/premium_preview_box.h +++ b/Telegram/SourceFiles/boxes/premium_preview_box.h @@ -62,6 +62,8 @@ enum class PremiumPreview { RealTimeTranslation, Wallpapers, TagsForMessages, + LastSeen, + MessagePrivacy, kCount, }; diff --git a/Telegram/SourceFiles/settings/settings.style b/Telegram/SourceFiles/settings/settings.style index d61f61738..0df986eb0 100644 --- a/Telegram/SourceFiles/settings/settings.style +++ b/Telegram/SourceFiles/settings/settings.style @@ -92,6 +92,8 @@ settingsPremiumIconVoice: icon {{ "settings/premium/voice", settingsIconFg }}; settingsPremiumIconFiles: icon {{ "settings/premium/files", settingsIconFg }}; settingsPremiumIconTranslations: icon {{ "settings/premium/translations", settingsIconFg }}; settingsPremiumIconTags: icon {{ "settings/premium/tags", settingsIconFg }}; +settingsPremiumIconLastSeen: icon {{ "settings/premium/lastseen", settingsIconFg }}; +settingsPremiumIconPrivacy: icon {{ "settings/premium/privacy", settingsIconFg }}; settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }}; settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }}; diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 337f413ac..cde74eb5a 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -177,22 +177,26 @@ using Order = std::vector; [[nodiscard]] Order FallbackOrder() { return Order{ - u"wallpapers"_q, u"stories"_q, - u"double_limits"_q, u"more_upload"_q, - u"faster_download"_q, + u"double_limits"_q, + u"last_seen"_q, u"voice_to_text"_q, - u"no_ads"_q, + u"faster_download"_q, + u"translations"_q, + u"animated_emoji"_q, u"emoji_status"_q, u"saved_tags"_q, - u"infinite_reactions"_q, - u"premium_stickers"_q, - u"animated_emoji"_q, - u"advanced_chat_management"_q, + //u"peer_colors"_q, + u"wallpapers"_q, u"profile_badge"_q, + u"message_privacy"_q, + u"advanced_chat_management"_q, + u"no_ads"_q, + //u"app_icons"_q, + u"infinite_reactions"_q, u"animated_userpics"_q, - u"translations"_q, + u"premium_stickers"_q, }; } @@ -208,6 +212,26 @@ using Order = std::vector; true, }, }, + { + u"last_seen"_q, + Entry{ + &st::settingsPremiumIconLastSeen, + tr::lng_premium_summary_subtitle_last_seen(), + tr::lng_premium_summary_about_last_seen(), + PremiumPreview::LastSeen, + true, + }, + }, + { + u"message_privacy"_q, + Entry{ + &st::settingsPremiumIconPrivacy, + tr::lng_premium_summary_subtitle_message_privacy(), + tr::lng_premium_summary_about_message_privacy(), + PremiumPreview::MessagePrivacy, + true, + }, + }, { u"wallpapers"_q, Entry{ @@ -1522,6 +1546,10 @@ not_null CreateSubscribeButton( return PremiumPreview::InfiniteReactions; } else if (s == u"saved_tags"_q) { return PremiumPreview::TagsForMessages; + } else if (s == u"last_seen"_q) { + return PremiumPreview::LastSeen; + } else if (s == u"message_privacy"_q) { + return PremiumPreview::MessagePrivacy; } else if (s == u"premium_stickers"_q) { return PremiumPreview::Stickers; } else if (s == u"animated_emoji"_q) {