diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 0ab97dc5e..7b8ff9622 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1830,7 +1830,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_group_stickers" = "Group stickers"; "lng_group_stickers_description" = "You can choose a sticker set which will be available for every member while in the group chat."; "lng_group_stickers_add" = "Choose sticker set"; -"lng_premium_stickers" = "Premium stickers"; "lng_premium" = "Premium"; "lng_premium_free" = "Free"; diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp index 4a5354fda..5fd65bdbe 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp @@ -239,7 +239,7 @@ void GradientPremiumStar::renderOnDemand() const { gradient.setStops({ { 0., st::stickerPanPremium1->c }, { 1., st::stickerPanPremium2->c }, - }); + }); p.fillRect(QRect(QPoint(), size), gradient); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); p.drawImage(QRect(QPoint(), size), mask); @@ -1468,12 +1468,6 @@ void StickersListFooter::paintSetIconToCache( (st().footer - size) / 2, width(), st::stickerGroupCategorySize); - } else if (icon.setId == Data::Stickers::PremiumSetId) { - const auto size = st::emojiStatusDefault.size(); - p.drawImage( - (_singleWidth - size.width()) / 2, - (st().footer - size.height()) / 2, - _premiumIcon.image()); } else { using Section = Ui::Emoji::Section; const auto sectionIcon = [&](Section section, bool active) { diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.h b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.h index 353118d32..6b51106ee 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.h +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.h @@ -291,7 +291,6 @@ private: OverState _pressed = SpecialOver::None; QPoint _iconsMousePos, _iconsMouseDown; - GradientPremiumStar _premiumIcon; int _iconsLeft = 0; int _iconsRight = 0; int _iconsTop = 0; diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp index 900a6a95d..a00aaaa36 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp @@ -1436,8 +1436,6 @@ bool StickersListWidget::hasRemoveButton(int index) const { return true; } return !set.stickers.empty() && _megagroupSet->canEditStickers(); - } else if (set.id == Data::Stickers::PremiumSetId) { - return !set.stickers.empty(); } return false; } @@ -1867,45 +1865,19 @@ void StickersListWidget::refreshMySets() { _favedStickersMap.clear(); _mySets.reserve(defaultSetsOrder().size() + 3); - refreshPremiumStickers(); refreshFavedStickers(); refreshRecentStickers(false); refreshMegagroupStickers(GroupStickersPlace::Visible); - const auto i = ranges::find( - _mySets, - Data::Stickers::PremiumSetId, - &Set::id); - _premiumsIndex = (i != end(_mySets)) ? int(i - begin(_mySets)) : -1; - for (const auto setId : defaultSetsOrder()) { const auto externalLayout = false; appendSet(_mySets, setId, externalLayout, AppendSkip::Archived); } - if (_premiumsIndex >= 0) { - appendPremiumCloudSet(); - } - - if (_premiumsIndex >= 0 && _mySets[_premiumsIndex].stickers.empty()) { - _mySets.erase(_mySets.begin() + _premiumsIndex); - _premiumsIndex = -1; - } - refreshMegagroupStickers(GroupStickersPlace::Hidden); takeHeavyData(_mySets, wasSets); } -void StickersListWidget::appendPremiumCloudSet() { - Expects(_premiumsIndex >= 0 && _premiumsIndex < _mySets.size()); - - auto &set = _mySets[_premiumsIndex]; - for (const auto &document : session().api().premium().cloudSet()) { - set.stickers.push_back(Sticker{ document }); - ++set.count; - } -} - void StickersListWidget::refreshFeaturedSets() { auto wasFeaturedSetsCount = base::take(_featuredSetsCount); auto wereOfficial = base::take(_officialSets); @@ -2043,19 +2015,6 @@ bool StickersListWidget::appendSet( externalLayout, std::move(elements)); to.back().thumbnailDocument = set->lookupThumbnailDocument(); - if (!externalLayout && _premiumsIndex >= 0 && session().premium()) { - for (const auto &sticker : to.back().stickers) { - const auto document = sticker.document; - if (document->isPremiumSticker()) { - auto &set = to[_premiumsIndex]; - auto &list = set.stickers; - if (!ranges::contains(list, document, &Sticker::document)) { - list.push_back(Sticker{ document }); - ++set.count; - } - } - } - } return true; } @@ -2165,25 +2124,6 @@ void StickersListWidget::refreshRecentStickers(bool performResize) { } } -void StickersListWidget::refreshPremiumStickers() { - if (_isMasks || session().settings().skipPremiumStickersSet()) { - return; - } - clearSelection(); - const auto externalLayout = false; - const auto shortName = QString(); - const auto count = 0; - _mySets.insert(_mySets.begin(), Set{ - Data::Stickers::PremiumSetId, - nullptr, - (SetFlag::Official | SetFlag::Special), - tr::lng_premium_stickers(tr::now), - shortName, - count, - externalLayout - }); -} - void StickersListWidget::refreshFavedStickers() { if (_isMasks) { return; @@ -2328,10 +2268,6 @@ std::vector StickersListWidget::fillIcons() { result.emplace_back(Data::Stickers::RecentSetId); } } - if (i != _mySets.size() && _mySets[i].id == Data::Stickers::PremiumSetId) { - ++i; - result.emplace_back(Data::Stickers::PremiumSetId); - } for (auto l = _mySets.size(); i != l; ++i) { if (_mySets[i].id == Data::Stickers::MegagroupSetId) { result.emplace_back(Data::Stickers::MegagroupSetId); @@ -2685,22 +2621,6 @@ StickersListWidget::~StickersListWidget() = default; object_ptr MakeConfirmRemoveSetBox( not_null session, uint64 setId) { - if (setId == Data::Stickers::PremiumSetId) { - return Ui::MakeConfirmBox({ - .text = tr::lng_stickers_remove_pack( - tr::now, - lt_sticker_pack, - tr::lng_premium_stickers(tr::now)), - .confirmed = [=](Fn &&close) { - close(); - session->settings().setSkipPremiumStickersSet(true); - session->saveSettingsDelayed(); - session->data().stickers().notifyUpdated( - Data::StickersType::Stickers); - }, - .confirmText = tr::lng_stickers_remove_pack_confirm(), - }); - } const auto &sets = session->data().stickers().sets(); const auto it = sets.find(setId); if (it == sets.cend()) { diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.h b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.h index 32a7bf49e..594cf06c1 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_widget.h +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_widget.h @@ -217,7 +217,6 @@ private: bool stickerHasDeleteButton(const Set &set, int index) const; std::vector collectRecentStickers(); void refreshRecentStickers(bool resize = true); - void refreshPremiumStickers(); void refreshFavedStickers(); enum class GroupStickersPlace { Visible, @@ -225,7 +224,6 @@ private: }; void refreshMegagroupStickers(GroupStickersPlace place); void refreshSettingsVisibility(); - void appendPremiumCloudSet(); void updateSelected(); void setSelected(OverState newSelected); @@ -338,7 +336,6 @@ private: std::vector _mySets; std::vector _officialSets; std::vector _searchSets; - int _premiumsIndex = -1; int _featuredSetsCount = 0; std::vector _custom; base::flat_set> _favedStickersMap; diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.h b/Telegram/SourceFiles/data/stickers/data_stickers.h index fde6877b9..502b8b79d 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.h +++ b/Telegram/SourceFiles/data/stickers/data_stickers.h @@ -48,8 +48,7 @@ public: static constexpr auto RecentSetId = 0xFFFFFFFFFFFFFFFEULL; static constexpr auto NoneSetId = 0xFFFFFFFFFFFFFFFDULL; static constexpr auto FeaturedSetId = 0xFFFFFFFFFFFFFFFBULL; - static constexpr auto PremiumSetId = 0xFFFFFFFFFFFFFFF8ULL; - + // For cloud-stored recent stickers. static constexpr auto CloudRecentSetId = 0xFFFFFFFFFFFFFFFCULL; static constexpr auto CloudRecentAttachedSetId = 0xFFFFFFFFFFFFFFF9ULL; diff --git a/Telegram/SourceFiles/main/main_session_settings.cpp b/Telegram/SourceFiles/main/main_session_settings.cpp index 136ee2035..7bd301e55 100644 --- a/Telegram/SourceFiles/main/main_session_settings.cpp +++ b/Telegram/SourceFiles/main/main_session_settings.cpp @@ -83,7 +83,7 @@ QByteArray SessionSettings::serialize() const { stream << quint64(period); } stream - << qint32(_skipPremiumStickersSet ? 1 : 0) + << qint32(0) // old _skipPremiumStickersSet << qint32(_hiddenPinnedMessages.size()); for (const auto &[key, value] : _hiddenPinnedMessages) { stream @@ -152,7 +152,7 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) { qint32 supportAllSilent = _supportAllSilent ? 1 : 0; qint32 photoEditorHintShowsCount = _photoEditorHintShowsCount; std::vector mutePeriods; - qint32 skipPremiumStickersSet = _skipPremiumStickersSet ? 1 : 0; + qint32 legacySkipPremiumStickersSet = 0; stream >> versionTag; if (versionTag == kVersionTag) { @@ -388,7 +388,7 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) { } } if (!stream.atEnd()) { - stream >> skipPremiumStickersSet; + stream >> legacySkipPremiumStickersSet; } if (!stream.atEnd()) { auto count = qint32(0); @@ -454,7 +454,6 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) { _supportAllSilent = (supportAllSilent == 1); _photoEditorHintShowsCount = std::move(photoEditorHintShowsCount); _mutePeriods = std::move(mutePeriods); - _skipPremiumStickersSet = (skipPremiumStickersSet == 1); if (version < 2) { app.setLastSeenWarningSeen(appLastSeenWarningSeen == 1); diff --git a/Telegram/SourceFiles/main/main_session_settings.h b/Telegram/SourceFiles/main/main_session_settings.h index 8ccbb7761..44d9e9a4a 100644 --- a/Telegram/SourceFiles/main/main_session_settings.h +++ b/Telegram/SourceFiles/main/main_session_settings.h @@ -122,13 +122,6 @@ public: [[nodiscard]] std::vector mutePeriods() const; void addMutePeriod(TimeId period); - [[nodiscard]] bool skipPremiumStickersSet() const { - return _skipPremiumStickersSet; - } - void setSkipPremiumStickersSet(bool value) { - _skipPremiumStickersSet = value; - } - private: static constexpr auto kDefaultSupportChatsLimitSlice = 7 * 24 * 60 * 60; static constexpr auto kPhotoEditorHintMaxShowsCount = 5; @@ -154,7 +147,6 @@ private: bool _dialogsFiltersEnabled = false; int _photoEditorHintShowsCount = 0; std::vector _mutePeriods; - bool _skipPremiumStickersSet = false; Support::SwitchSettings _supportSwitch; bool _supportFixChatsOrder = true;