Fixed search categories in list of stickers from userpic emoji builder.

This commit is contained in:
23rd 2023-02-08 18:51:11 +03:00
parent 9090b8ce6b
commit 08644a9c31
4 changed files with 18 additions and 6 deletions

View file

@ -165,17 +165,18 @@ StickersListWidget::StickersListWidget(
QWidget *parent, QWidget *parent,
not_null<Window::SessionController*> controller, not_null<Window::SessionController*> controller,
Window::GifPauseReason level, Window::GifPauseReason level,
bool masks) Mode mode)
: Inner( : Inner(
parent, parent,
st::defaultEmojiPan, st::defaultEmojiPan,
&controller->session(), &controller->session(),
Window::PausedIn(controller, level)) Window::PausedIn(controller, level))
, _mode(mode)
, _controller(controller) , _controller(controller)
, _api(&session().mtp()) , _api(&session().mtp())
, _localSetsManager(std::make_unique<LocalStickersManager>(&session())) , _localSetsManager(std::make_unique<LocalStickersManager>(&session()))
, _section(Section::Stickers) , _section(Section::Stickers)
, _isMasks(masks) , _isMasks(mode == Mode::Masks)
, _updateItemsTimer([=] { updateItems(); }) , _updateItemsTimer([=] { updateItems(); })
, _updateSetsTimer([=] { updateSets(); }) , _updateSetsTimer([=] { updateSets(); })
, _trendingAddBgOver( , _trendingAddBgOver(
@ -2565,7 +2566,7 @@ void StickersListWidget::setupSearch() {
return a.isEmpty() ? b : (a + ' ' + b); return a.isEmpty() ? b : (a + ' ' + b);
}); });
searchForSets(std::move(text), SearchEmoji(query, set)); searchForSets(std::move(text), SearchEmoji(query, set));
}, session); }, session, false, (_mode == Mode::UserpicBuilder));
} }
void StickersListWidget::displaySet(uint64 setId) { void StickersListWidget::displaySet(uint64 setId) {

View file

@ -59,13 +59,21 @@ enum class ValidateIconAnimations;
class StickersListFooter; class StickersListFooter;
class LocalStickersManager; class LocalStickersManager;
enum class StickersListMode {
Full,
Masks,
UserpicBuilder,
};
class StickersListWidget final : public TabbedSelector::Inner { class StickersListWidget final : public TabbedSelector::Inner {
public: public:
using Mode = StickersListMode;
StickersListWidget( StickersListWidget(
QWidget *parent, QWidget *parent,
not_null<Window::SessionController*> controller, not_null<Window::SessionController*> controller,
Window::GifPauseReason level, Window::GifPauseReason level,
bool masks = false); Mode mode = Mode::Full);
rpl::producer<FileChosen> chosen() const; rpl::producer<FileChosen> chosen() const;
rpl::producer<> scrollUpdated() const; rpl::producer<> scrollUpdated() const;
@ -331,6 +339,8 @@ private:
int index, int index,
not_null<DocumentData*> document); not_null<DocumentData*> document);
const Mode _mode;
not_null<Window::SessionController*> _controller; not_null<Window::SessionController*> _controller;
std::unique_ptr<Ui::TabbedSearch> _search; std::unique_ptr<Ui::TabbedSearch> _search;
MTP::Sender _api; MTP::Sender _api;

View file

@ -500,7 +500,7 @@ TabbedSelector::Tab TabbedSelector::createTab(SelectorTab type, int index) {
this, this,
_controller, _controller,
_level, _level,
true); StickersListWidget::Mode::Masks);
} }
Unexpected("Type in TabbedSelector::createTab."); Unexpected("Type in TabbedSelector::createTab.");
}; };

View file

@ -274,7 +274,8 @@ EmojiSelector::Selector EmojiSelector::createStickersList(
object_ptr<ChatHelpers::StickersListWidget>( object_ptr<ChatHelpers::StickersListWidget>(
scroll, scroll,
_controller, _controller,
Window::GifPauseReason::Any)); Window::GifPauseReason::Any,
ChatHelpers::StickersListMode::UserpicBuilder));
const auto footer = list->createFooter().data(); const auto footer = list->createFooter().data();
list->refreshRecent(); list->refreshRecent();
list->chosen( list->chosen(