Fix build with Xcode.

This commit is contained in:
John Preston 2022-07-18 12:09:12 +03:00
parent 57ecd918f1
commit 8383caa2b5
3 changed files with 17 additions and 5 deletions

View file

@ -2727,9 +2727,9 @@ void StickersListWidget::removeMegagroupSet(bool locally) {
} }
close(); close();
}), }),
.cancelled = crl::guard(this, [this](Fn<void()> &&close) { .cancelled = [](Fn<void()> &&close) {
close(); close();
}), },
}))); })));
} }

View file

@ -67,7 +67,7 @@ struct RecentEmojiDocument {
struct RecentEmojiId { struct RecentEmojiId {
std::variant<EmojiPtr, RecentEmojiDocument> data; std::variant<EmojiPtr, RecentEmojiDocument> data;
friend inline auto operator<=>( friend inline bool operator==(
RecentEmojiId, RecentEmojiId,
RecentEmojiId) = default; RecentEmojiId) = default;
}; };

View file

@ -258,13 +258,25 @@ void AppendFavedStickers(
} }
} }
[[nodiscard]] EmojiPack RecentEmojiSection() {
const auto list = Core::App().settings().recentEmoji();
auto result = EmojiPack();
result.reserve(list.size());
for (const auto &emoji : list) {
if (const auto one = std::get_if<EmojiPtr>(&emoji.id.data)) {
result.push_back(*one);
}
}
return result;
}
void AppendEmojiPacks( void AppendEmojiPacks(
const Data::StickersSets &sets, const Data::StickersSets &sets,
std::vector<PickerScrubberItem> &to) { std::vector<PickerScrubberItem> &to) {
for (auto i = 0; i != ChatHelpers::kEmojiSectionCount; ++i) { for (auto i = 0; i != ChatHelpers::kEmojiSectionCount; ++i) {
const auto section = static_cast<Ui::Emoji::Section>(i); const auto section = static_cast<Ui::Emoji::Section>(i);
const auto list = (section == Ui::Emoji::Section::Recent) const auto list = (section == Ui::Emoji::Section::Recent)
? Core::App().settings().recentEmojiSection() ? RecentEmojiSection()
: Ui::Emoji::GetSection(section); : Ui::Emoji::GetSection(section);
const auto title = (section == Ui::Emoji::Section::Recent) const auto title = (section == Ui::Emoji::Section::Recent)
? TitleRecentlyUsed(sets) ? TitleRecentlyUsed(sets)
@ -475,7 +487,7 @@ void AppendEmojiPacks(
if (const auto inputField = qobject_cast<QTextEdit*>( if (const auto inputField = qobject_cast<QTextEdit*>(
QApplication::focusWidget())) { QApplication::focusWidget())) {
Ui::InsertEmojiAtCursor(inputField->textCursor(), emoji); Ui::InsertEmojiAtCursor(inputField->textCursor(), emoji);
Core::App().settings().incrementRecentEmoji(emoji); Core::App().settings().incrementRecentEmoji({ emoji });
return true; return true;
} }
} }