mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-09-05 00:46:08 +00:00
Use emoji/stickers/gifs slider in EmojiPan.
Also rename EmojiTabs to EmojiSections.
This commit is contained in:
@@ -24,11 +24,60 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
|
||||
#include "storage/file_download.h"
|
||||
#include "window/notifications_manager.h"
|
||||
|
||||
QByteArray AuthSessionData::serialize() const {
|
||||
auto size = sizeof(qint32) * 2;
|
||||
|
||||
auto result = QByteArray();
|
||||
result.reserve(size);
|
||||
{
|
||||
QBuffer buffer(&result);
|
||||
if (!buffer.open(QIODevice::WriteOnly)) {
|
||||
Unexpected("Can't open data for AuthSessionData::serialize()");
|
||||
}
|
||||
|
||||
QDataStream stream(&buffer);
|
||||
stream.setVersion(QDataStream::Qt_5_1);
|
||||
stream << static_cast<qint32>(_variables.emojiPanTab);
|
||||
stream << qint32(_variables.lastSeenWarningSeen ? 1 : 0);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void AuthSessionData::constructFromSerialized(const QByteArray &serialized) {
|
||||
if (serialized.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto readonly = serialized;
|
||||
QBuffer buffer(&readonly);
|
||||
if (!buffer.open(QIODevice::ReadOnly)) {
|
||||
Unexpected("Can't open data for DcOptions::constructFromSerialized()");
|
||||
}
|
||||
QDataStream stream(&buffer);
|
||||
stream.setVersion(QDataStream::Qt_5_1);
|
||||
qint32 emojiPanTab = static_cast<qint32>(EmojiPanTabType::Emoji);
|
||||
qint32 lastSeenWarningSeen = 0;
|
||||
stream >> emojiPanTab;
|
||||
stream >> lastSeenWarningSeen;
|
||||
if (stream.status() != QDataStream::Ok) {
|
||||
LOG(("App Error: Bad data for AuthSessionData::constructFromSerialized()"));
|
||||
return;
|
||||
}
|
||||
|
||||
auto uncheckedTab = static_cast<EmojiPanTabType>(emojiPanTab);
|
||||
switch (uncheckedTab) {
|
||||
case EmojiPanTabType::Emoji:
|
||||
case EmojiPanTabType::Stickers:
|
||||
case EmojiPanTabType::Gifs: _variables.emojiPanTab = uncheckedTab; break;
|
||||
}
|
||||
_variables.lastSeenWarningSeen = (lastSeenWarningSeen == 1);
|
||||
}
|
||||
|
||||
AuthSession::AuthSession(UserId userId)
|
||||
: _userId(userId)
|
||||
, _downloader(std::make_unique<Storage::Downloader>())
|
||||
, _notifications(std::make_unique<Window::Notifications::System>(this)) {
|
||||
t_assert(_userId != 0);
|
||||
Expects(_userId != 0);
|
||||
}
|
||||
|
||||
bool AuthSession::Exists() {
|
||||
|
Reference in New Issue
Block a user