Add premium promo for disable sharing.

This commit is contained in:
John Preston
2026-02-19 22:40:35 +04:00
parent f14c592148
commit 3621dc754a
6 changed files with 24 additions and 2 deletions
+2
View File
@@ -2938,6 +2938,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_premium_summary_about_peer_colors" = "Choose a color and logo for your profile and replies to your messages.";
"lng_premium_summary_subtitle_gifts" = "Telegram Gifts";
"lng_premium_summary_about_gifts" = "Gifts are collectible items you can trade or showcase on your profile.";
"lng_premium_summary_subtitle_no_forwards" = "Disable Sharing";
"lng_premium_summary_about_no_forwards" = "Restrict forwarding, copying, and saving content from your private chats.";
"lng_premium_summary_bottom_subtitle" = "About Telegram Premium";
"lng_premium_summary_bottom_about" = "While the free version of Telegram already gives its users more than any other messaging application, **Telegram Premium** pushes its capabilities even further.\n\n**Telegram Premium** is a paid option, because most Premium Features require additional expenses from Telegram to third parties such as data center providers and server manufacturers. Contributions from **Telegram Premium** users allow us to cover such costs and also help Telegram stay free for everyone.";
"lng_premium_summary_button" = "Subscribe for {cost} per month";
@@ -144,6 +144,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_subtitle_peer_colors();
case PremiumFeature::Gifts:
return tr::lng_premium_summary_subtitle_gifts();
case PremiumFeature::NoForwards:
return tr::lng_premium_summary_subtitle_no_forwards();
case PremiumFeature::BusinessLocation:
return tr::lng_business_subtitle_location();
@@ -215,6 +217,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_peer_colors();
case PremiumFeature::Gifts:
return tr::lng_premium_summary_about_gifts();
case PremiumFeature::NoForwards:
return tr::lng_premium_summary_about_no_forwards();
case PremiumFeature::BusinessLocation:
return tr::lng_business_about_location();
@@ -558,6 +562,7 @@ struct VideoPreviewDocument {
case PremiumFeature::TodoLists: return "todo";
case PremiumFeature::PeerColors: return "peer_colors";
case PremiumFeature::Gifts: return "gifts";
case PremiumFeature::NoForwards: return "no_forwards";
case PremiumFeature::BusinessLocation: return "business_location";
case PremiumFeature::BusinessHours: return "business_hours";
@@ -75,6 +75,7 @@ enum class PremiumFeature {
TodoLists,
PeerColors,
Gifts,
NoForwards,
// Business features.
BusinessLocation,
@@ -460,6 +460,15 @@ using Order = std::vector<QString>;
true,
},
},
{
u"no_forwards"_q,
Entry{
&st::settingsPremiumIconNoForwards,
tr::lng_premium_summary_subtitle_no_forwards(),
tr::lng_premium_summary_about_no_forwards(),
PremiumFeature::NoForwards,
},
},
};
}
@@ -1021,6 +1030,8 @@ void TopBarWithSticker::resizeEvent(QResizeEvent *e) {
return tr::lng_premium_summary_subtitle_effects(tr::now);
} else if (key == u"todo"_q) {
return tr::lng_premium_summary_subtitle_todo_lists(tr::now);
} else if (key == u"no_forwards"_q) {
return tr::lng_premium_summary_subtitle_no_forwards(tr::now);
}
return QString();
}
@@ -2097,6 +2108,8 @@ std::vector<PremiumFeature> PremiumFeaturesOrder(
return PremiumFeature::PeerColors;
} else if (s == u"gifts"_q) {
return PremiumFeature::Gifts;
} else if (s == u"no_forwards"_q) {
return PremiumFeature::NoForwards;
}
return PremiumFeature::kCount;
}) | ranges::views::filter([](PremiumFeature type) {
@@ -105,6 +105,7 @@ settingsPremiumIconBusiness: icon {{ "settings/premium/market", settingsIconFg }
settingsPremiumIconEffects: icon {{ "settings/premium/effects", settingsIconFg }};
settingsPremiumIconChecklist: icon {{ "settings/premium/checklist", settingsIconFg }};
settingsPremiumIconPeerColors: icon {{ "settings/premium/peer_colors-24x24", settingsIconFg }};
settingsPremiumIconNoForwards: icon {{ "menu/share_off-24x24", settingsIconFg }};
settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }};
settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }};
@@ -1410,7 +1410,7 @@ void ShowDisableSharingBox(
toggleNoForwards(true);
box->closeBox();
} else {
Settings::ShowPremium(controller, u"no_forwards"_q);
ShowPremiumPreviewBox(controller, PremiumFeature::NoForwards);
}
});
button->setText(
@@ -1473,7 +1473,7 @@ void Filler::addToggleNoForwards() {
if (peer->session().premium()) {
toggleNoForwards(true);
} else {
Settings::ShowPremium(controller, u"no_forwards"_q);
ShowPremiumPreviewBox(controller, PremiumFeature::NoForwards);
}
return;
}