mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Remove fake generated Premium Sticker Set.
This commit is contained in:
parent
ffb2c5093d
commit
d4897c8a95
8 changed files with 5 additions and 106 deletions
|
@ -1830,7 +1830,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
"lng_group_stickers" = "Group stickers";
|
"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_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_group_stickers_add" = "Choose sticker set";
|
||||||
"lng_premium_stickers" = "Premium stickers";
|
|
||||||
|
|
||||||
"lng_premium" = "Premium";
|
"lng_premium" = "Premium";
|
||||||
"lng_premium_free" = "Free";
|
"lng_premium_free" = "Free";
|
||||||
|
|
|
@ -239,7 +239,7 @@ void GradientPremiumStar::renderOnDemand() const {
|
||||||
gradient.setStops({
|
gradient.setStops({
|
||||||
{ 0., st::stickerPanPremium1->c },
|
{ 0., st::stickerPanPremium1->c },
|
||||||
{ 1., st::stickerPanPremium2->c },
|
{ 1., st::stickerPanPremium2->c },
|
||||||
});
|
});
|
||||||
p.fillRect(QRect(QPoint(), size), gradient);
|
p.fillRect(QRect(QPoint(), size), gradient);
|
||||||
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
|
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
|
||||||
p.drawImage(QRect(QPoint(), size), mask);
|
p.drawImage(QRect(QPoint(), size), mask);
|
||||||
|
@ -1468,12 +1468,6 @@ void StickersListFooter::paintSetIconToCache(
|
||||||
(st().footer - size) / 2,
|
(st().footer - size) / 2,
|
||||||
width(),
|
width(),
|
||||||
st::stickerGroupCategorySize);
|
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 {
|
} else {
|
||||||
using Section = Ui::Emoji::Section;
|
using Section = Ui::Emoji::Section;
|
||||||
const auto sectionIcon = [&](Section section, bool active) {
|
const auto sectionIcon = [&](Section section, bool active) {
|
||||||
|
|
|
@ -291,7 +291,6 @@ private:
|
||||||
OverState _pressed = SpecialOver::None;
|
OverState _pressed = SpecialOver::None;
|
||||||
|
|
||||||
QPoint _iconsMousePos, _iconsMouseDown;
|
QPoint _iconsMousePos, _iconsMouseDown;
|
||||||
GradientPremiumStar _premiumIcon;
|
|
||||||
int _iconsLeft = 0;
|
int _iconsLeft = 0;
|
||||||
int _iconsRight = 0;
|
int _iconsRight = 0;
|
||||||
int _iconsTop = 0;
|
int _iconsTop = 0;
|
||||||
|
|
|
@ -1436,8 +1436,6 @@ bool StickersListWidget::hasRemoveButton(int index) const {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return !set.stickers.empty() && _megagroupSet->canEditStickers();
|
return !set.stickers.empty() && _megagroupSet->canEditStickers();
|
||||||
} else if (set.id == Data::Stickers::PremiumSetId) {
|
|
||||||
return !set.stickers.empty();
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1867,45 +1865,19 @@ void StickersListWidget::refreshMySets() {
|
||||||
_favedStickersMap.clear();
|
_favedStickersMap.clear();
|
||||||
_mySets.reserve(defaultSetsOrder().size() + 3);
|
_mySets.reserve(defaultSetsOrder().size() + 3);
|
||||||
|
|
||||||
refreshPremiumStickers();
|
|
||||||
refreshFavedStickers();
|
refreshFavedStickers();
|
||||||
refreshRecentStickers(false);
|
refreshRecentStickers(false);
|
||||||
refreshMegagroupStickers(GroupStickersPlace::Visible);
|
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()) {
|
for (const auto setId : defaultSetsOrder()) {
|
||||||
const auto externalLayout = false;
|
const auto externalLayout = false;
|
||||||
appendSet(_mySets, setId, externalLayout, AppendSkip::Archived);
|
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);
|
refreshMegagroupStickers(GroupStickersPlace::Hidden);
|
||||||
|
|
||||||
takeHeavyData(_mySets, wasSets);
|
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() {
|
void StickersListWidget::refreshFeaturedSets() {
|
||||||
auto wasFeaturedSetsCount = base::take(_featuredSetsCount);
|
auto wasFeaturedSetsCount = base::take(_featuredSetsCount);
|
||||||
auto wereOfficial = base::take(_officialSets);
|
auto wereOfficial = base::take(_officialSets);
|
||||||
|
@ -2043,19 +2015,6 @@ bool StickersListWidget::appendSet(
|
||||||
externalLayout,
|
externalLayout,
|
||||||
std::move(elements));
|
std::move(elements));
|
||||||
to.back().thumbnailDocument = set->lookupThumbnailDocument();
|
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;
|
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() {
|
void StickersListWidget::refreshFavedStickers() {
|
||||||
if (_isMasks) {
|
if (_isMasks) {
|
||||||
return;
|
return;
|
||||||
|
@ -2328,10 +2268,6 @@ std::vector<StickerIcon> StickersListWidget::fillIcons() {
|
||||||
result.emplace_back(Data::Stickers::RecentSetId);
|
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) {
|
for (auto l = _mySets.size(); i != l; ++i) {
|
||||||
if (_mySets[i].id == Data::Stickers::MegagroupSetId) {
|
if (_mySets[i].id == Data::Stickers::MegagroupSetId) {
|
||||||
result.emplace_back(Data::Stickers::MegagroupSetId);
|
result.emplace_back(Data::Stickers::MegagroupSetId);
|
||||||
|
@ -2685,22 +2621,6 @@ StickersListWidget::~StickersListWidget() = default;
|
||||||
object_ptr<Ui::BoxContent> MakeConfirmRemoveSetBox(
|
object_ptr<Ui::BoxContent> MakeConfirmRemoveSetBox(
|
||||||
not_null<Main::Session*> session,
|
not_null<Main::Session*> session,
|
||||||
uint64 setId) {
|
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<void()> &&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 &sets = session->data().stickers().sets();
|
||||||
const auto it = sets.find(setId);
|
const auto it = sets.find(setId);
|
||||||
if (it == sets.cend()) {
|
if (it == sets.cend()) {
|
||||||
|
|
|
@ -217,7 +217,6 @@ private:
|
||||||
bool stickerHasDeleteButton(const Set &set, int index) const;
|
bool stickerHasDeleteButton(const Set &set, int index) const;
|
||||||
std::vector<Sticker> collectRecentStickers();
|
std::vector<Sticker> collectRecentStickers();
|
||||||
void refreshRecentStickers(bool resize = true);
|
void refreshRecentStickers(bool resize = true);
|
||||||
void refreshPremiumStickers();
|
|
||||||
void refreshFavedStickers();
|
void refreshFavedStickers();
|
||||||
enum class GroupStickersPlace {
|
enum class GroupStickersPlace {
|
||||||
Visible,
|
Visible,
|
||||||
|
@ -225,7 +224,6 @@ private:
|
||||||
};
|
};
|
||||||
void refreshMegagroupStickers(GroupStickersPlace place);
|
void refreshMegagroupStickers(GroupStickersPlace place);
|
||||||
void refreshSettingsVisibility();
|
void refreshSettingsVisibility();
|
||||||
void appendPremiumCloudSet();
|
|
||||||
|
|
||||||
void updateSelected();
|
void updateSelected();
|
||||||
void setSelected(OverState newSelected);
|
void setSelected(OverState newSelected);
|
||||||
|
@ -338,7 +336,6 @@ private:
|
||||||
std::vector<Set> _mySets;
|
std::vector<Set> _mySets;
|
||||||
std::vector<Set> _officialSets;
|
std::vector<Set> _officialSets;
|
||||||
std::vector<Set> _searchSets;
|
std::vector<Set> _searchSets;
|
||||||
int _premiumsIndex = -1;
|
|
||||||
int _featuredSetsCount = 0;
|
int _featuredSetsCount = 0;
|
||||||
std::vector<bool> _custom;
|
std::vector<bool> _custom;
|
||||||
base::flat_set<not_null<DocumentData*>> _favedStickersMap;
|
base::flat_set<not_null<DocumentData*>> _favedStickersMap;
|
||||||
|
|
|
@ -48,8 +48,7 @@ public:
|
||||||
static constexpr auto RecentSetId = 0xFFFFFFFFFFFFFFFEULL;
|
static constexpr auto RecentSetId = 0xFFFFFFFFFFFFFFFEULL;
|
||||||
static constexpr auto NoneSetId = 0xFFFFFFFFFFFFFFFDULL;
|
static constexpr auto NoneSetId = 0xFFFFFFFFFFFFFFFDULL;
|
||||||
static constexpr auto FeaturedSetId = 0xFFFFFFFFFFFFFFFBULL;
|
static constexpr auto FeaturedSetId = 0xFFFFFFFFFFFFFFFBULL;
|
||||||
static constexpr auto PremiumSetId = 0xFFFFFFFFFFFFFFF8ULL;
|
|
||||||
|
|
||||||
// For cloud-stored recent stickers.
|
// For cloud-stored recent stickers.
|
||||||
static constexpr auto CloudRecentSetId = 0xFFFFFFFFFFFFFFFCULL;
|
static constexpr auto CloudRecentSetId = 0xFFFFFFFFFFFFFFFCULL;
|
||||||
static constexpr auto CloudRecentAttachedSetId = 0xFFFFFFFFFFFFFFF9ULL;
|
static constexpr auto CloudRecentAttachedSetId = 0xFFFFFFFFFFFFFFF9ULL;
|
||||||
|
|
|
@ -83,7 +83,7 @@ QByteArray SessionSettings::serialize() const {
|
||||||
stream << quint64(period);
|
stream << quint64(period);
|
||||||
}
|
}
|
||||||
stream
|
stream
|
||||||
<< qint32(_skipPremiumStickersSet ? 1 : 0)
|
<< qint32(0) // old _skipPremiumStickersSet
|
||||||
<< qint32(_hiddenPinnedMessages.size());
|
<< qint32(_hiddenPinnedMessages.size());
|
||||||
for (const auto &[key, value] : _hiddenPinnedMessages) {
|
for (const auto &[key, value] : _hiddenPinnedMessages) {
|
||||||
stream
|
stream
|
||||||
|
@ -152,7 +152,7 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||||
qint32 supportAllSilent = _supportAllSilent ? 1 : 0;
|
qint32 supportAllSilent = _supportAllSilent ? 1 : 0;
|
||||||
qint32 photoEditorHintShowsCount = _photoEditorHintShowsCount;
|
qint32 photoEditorHintShowsCount = _photoEditorHintShowsCount;
|
||||||
std::vector<TimeId> mutePeriods;
|
std::vector<TimeId> mutePeriods;
|
||||||
qint32 skipPremiumStickersSet = _skipPremiumStickersSet ? 1 : 0;
|
qint32 legacySkipPremiumStickersSet = 0;
|
||||||
|
|
||||||
stream >> versionTag;
|
stream >> versionTag;
|
||||||
if (versionTag == kVersionTag) {
|
if (versionTag == kVersionTag) {
|
||||||
|
@ -388,7 +388,7 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!stream.atEnd()) {
|
if (!stream.atEnd()) {
|
||||||
stream >> skipPremiumStickersSet;
|
stream >> legacySkipPremiumStickersSet;
|
||||||
}
|
}
|
||||||
if (!stream.atEnd()) {
|
if (!stream.atEnd()) {
|
||||||
auto count = qint32(0);
|
auto count = qint32(0);
|
||||||
|
@ -454,7 +454,6 @@ void SessionSettings::addFromSerialized(const QByteArray &serialized) {
|
||||||
_supportAllSilent = (supportAllSilent == 1);
|
_supportAllSilent = (supportAllSilent == 1);
|
||||||
_photoEditorHintShowsCount = std::move(photoEditorHintShowsCount);
|
_photoEditorHintShowsCount = std::move(photoEditorHintShowsCount);
|
||||||
_mutePeriods = std::move(mutePeriods);
|
_mutePeriods = std::move(mutePeriods);
|
||||||
_skipPremiumStickersSet = (skipPremiumStickersSet == 1);
|
|
||||||
|
|
||||||
if (version < 2) {
|
if (version < 2) {
|
||||||
app.setLastSeenWarningSeen(appLastSeenWarningSeen == 1);
|
app.setLastSeenWarningSeen(appLastSeenWarningSeen == 1);
|
||||||
|
|
|
@ -122,13 +122,6 @@ public:
|
||||||
[[nodiscard]] std::vector<TimeId> mutePeriods() const;
|
[[nodiscard]] std::vector<TimeId> mutePeriods() const;
|
||||||
void addMutePeriod(TimeId period);
|
void addMutePeriod(TimeId period);
|
||||||
|
|
||||||
[[nodiscard]] bool skipPremiumStickersSet() const {
|
|
||||||
return _skipPremiumStickersSet;
|
|
||||||
}
|
|
||||||
void setSkipPremiumStickersSet(bool value) {
|
|
||||||
_skipPremiumStickersSet = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr auto kDefaultSupportChatsLimitSlice = 7 * 24 * 60 * 60;
|
static constexpr auto kDefaultSupportChatsLimitSlice = 7 * 24 * 60 * 60;
|
||||||
static constexpr auto kPhotoEditorHintMaxShowsCount = 5;
|
static constexpr auto kPhotoEditorHintMaxShowsCount = 5;
|
||||||
|
@ -154,7 +147,6 @@ private:
|
||||||
bool _dialogsFiltersEnabled = false;
|
bool _dialogsFiltersEnabled = false;
|
||||||
int _photoEditorHintShowsCount = 0;
|
int _photoEditorHintShowsCount = 0;
|
||||||
std::vector<TimeId> _mutePeriods;
|
std::vector<TimeId> _mutePeriods;
|
||||||
bool _skipPremiumStickersSet = false;
|
|
||||||
|
|
||||||
Support::SwitchSettings _supportSwitch;
|
Support::SwitchSettings _supportSwitch;
|
||||||
bool _supportFixChatsOrder = true;
|
bool _supportFixChatsOrder = true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue