mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-03-31 07:52:06 +00:00
Display correct amount of stickers in search.
This commit is contained in:
parent
61700577d0
commit
cba12980f9
@ -147,12 +147,14 @@ StickersListWidget::Set::Set(
|
|||||||
MTPDstickerSet::Flags flags,
|
MTPDstickerSet::Flags flags,
|
||||||
const QString &title,
|
const QString &title,
|
||||||
bool externalLayout,
|
bool externalLayout,
|
||||||
|
int count,
|
||||||
const Stickers::Pack &pack)
|
const Stickers::Pack &pack)
|
||||||
: id(id)
|
: id(id)
|
||||||
, flags(flags)
|
, flags(flags)
|
||||||
, title(title)
|
, title(title)
|
||||||
, pack(pack)
|
, pack(pack)
|
||||||
, externalLayout(externalLayout) {
|
, externalLayout(externalLayout)
|
||||||
|
, count(count) {
|
||||||
}
|
}
|
||||||
|
|
||||||
StickersListWidget::Set::Set(Set &&other) = default;
|
StickersListWidget::Set::Set(Set &&other) = default;
|
||||||
@ -986,6 +988,7 @@ void StickersListWidget::addSearchRow(not_null<const Stickers::Set*> set) {
|
|||||||
set->flags,
|
set->flags,
|
||||||
set->title,
|
set->title,
|
||||||
!SetInMyList(set->flags),
|
!SetInMyList(set->flags),
|
||||||
|
set->count,
|
||||||
set->stickers.empty() ? set->covers : set->stickers));
|
set->stickers.empty() ? set->covers : set->stickers));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1114,7 +1117,10 @@ void StickersListWidget::paintStickers(Painter &p, QRect clip) {
|
|||||||
}
|
}
|
||||||
auto &set = sets[info.section];
|
auto &set = sets[info.section];
|
||||||
if (set.externalLayout) {
|
if (set.externalLayout) {
|
||||||
auto size = int(set.pack.size());
|
const auto size = (set.flags
|
||||||
|
& MTPDstickerSet_ClientFlag::f_not_loaded)
|
||||||
|
? set.count
|
||||||
|
: int(set.pack.size());
|
||||||
|
|
||||||
auto widthForTitle = stickersRight() - (st::emojiPanHeaderLeft - st::buttonRadius);
|
auto widthForTitle = stickersRight() - (st::emojiPanHeaderLeft - st::buttonRadius);
|
||||||
if (featuredHasAddButton(info.section)) {
|
if (featuredHasAddButton(info.section)) {
|
||||||
@ -1785,6 +1791,7 @@ void StickersListWidget::appendSet(
|
|||||||
it->flags,
|
it->flags,
|
||||||
it->title,
|
it->title,
|
||||||
externalLayout,
|
externalLayout,
|
||||||
|
it->count,
|
||||||
it->stickers));
|
it->stickers));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1862,6 +1869,7 @@ void StickersListWidget::refreshRecentStickers(bool performResize) {
|
|||||||
| MTPDstickerSet_ClientFlag::f_special),
|
| MTPDstickerSet_ClientFlag::f_special),
|
||||||
lang(lng_recent_stickers),
|
lang(lng_recent_stickers),
|
||||||
externalLayout,
|
externalLayout,
|
||||||
|
recentPack.size(),
|
||||||
recentPack));
|
recentPack));
|
||||||
} else {
|
} else {
|
||||||
recentIt->pack = recentPack;
|
recentIt->pack = recentPack;
|
||||||
@ -1890,6 +1898,7 @@ void StickersListWidget::refreshFavedStickers() {
|
|||||||
| MTPDstickerSet_ClientFlag::f_special),
|
| MTPDstickerSet_ClientFlag::f_special),
|
||||||
Lang::Hard::FavedSetTitle(),
|
Lang::Hard::FavedSetTitle(),
|
||||||
externalLayout,
|
externalLayout,
|
||||||
|
it->count,
|
||||||
it->stickers));
|
it->stickers));
|
||||||
_favedStickersMap = base::flat_set<not_null<DocumentData*>> { it->stickers.begin(), it->stickers.end() };
|
_favedStickersMap = base::flat_set<not_null<DocumentData*>> { it->stickers.begin(), it->stickers.end() };
|
||||||
}
|
}
|
||||||
@ -1907,11 +1916,13 @@ void StickersListWidget::refreshMegagroupStickers(GroupStickersPlace place) {
|
|||||||
auto hidden = Auth().settings().isGroupStickersSectionHidden(_megagroupSet->id);
|
auto hidden = Auth().settings().isGroupStickersSectionHidden(_megagroupSet->id);
|
||||||
if (isShownHere(hidden)) {
|
if (isShownHere(hidden)) {
|
||||||
const auto externalLayout = false;
|
const auto externalLayout = false;
|
||||||
|
const auto count = 0;
|
||||||
_mySets.push_back(Set(
|
_mySets.push_back(Set(
|
||||||
Stickers::MegagroupSetId,
|
Stickers::MegagroupSetId,
|
||||||
MTPDstickerSet_ClientFlag::f_special | 0,
|
MTPDstickerSet_ClientFlag::f_special | 0,
|
||||||
lang(lng_group_stickers),
|
lang(lng_group_stickers),
|
||||||
externalLayout));
|
externalLayout,
|
||||||
|
count));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -1943,6 +1954,7 @@ void StickersListWidget::refreshMegagroupStickers(GroupStickersPlace place) {
|
|||||||
MTPDstickerSet_ClientFlag::f_special | 0,
|
MTPDstickerSet_ClientFlag::f_special | 0,
|
||||||
lang(lng_group_stickers),
|
lang(lng_group_stickers),
|
||||||
externalLayout,
|
externalLayout,
|
||||||
|
it->count,
|
||||||
it->stickers));
|
it->stickers));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -142,6 +142,7 @@ private:
|
|||||||
MTPDstickerSet::Flags flags,
|
MTPDstickerSet::Flags flags,
|
||||||
const QString &title,
|
const QString &title,
|
||||||
bool externalLayout,
|
bool externalLayout,
|
||||||
|
int count,
|
||||||
const Stickers::Pack &pack = Stickers::Pack());
|
const Stickers::Pack &pack = Stickers::Pack());
|
||||||
Set(Set &&other);
|
Set(Set &&other);
|
||||||
Set &operator=(Set &&other);
|
Set &operator=(Set &&other);
|
||||||
@ -153,6 +154,7 @@ private:
|
|||||||
Stickers::Pack pack;
|
Stickers::Pack pack;
|
||||||
std::unique_ptr<Ui::RippleAnimation> ripple;
|
std::unique_ptr<Ui::RippleAnimation> ripple;
|
||||||
bool externalLayout = false;
|
bool externalLayout = false;
|
||||||
|
int count = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Callback>
|
template <typename Callback>
|
||||||
|
Loading…
Reference in New Issue
Block a user