mirror of https://github.com/procxx/kepka.git
Setting for cloud stickers suggestions.
This commit is contained in:
parent
3406f88fdc
commit
4a32b00068
|
@ -296,6 +296,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
"lng_settings_section_chat_settings" = "Chat Settings";
|
"lng_settings_section_chat_settings" = "Chat Settings";
|
||||||
"lng_settings_replace_emojis" = "Replace emoji";
|
"lng_settings_replace_emojis" = "Replace emoji";
|
||||||
|
"lng_settings_suggest_by_emoji" = "Suggest popular stickers by emoji";
|
||||||
"lng_settings_view_emojis" = "View list";
|
"lng_settings_view_emojis" = "View list";
|
||||||
"lng_settings_send_enter" = "Send by Enter";
|
"lng_settings_send_enter" = "Send by Enter";
|
||||||
"lng_settings_send_ctrlenter" = "Send by Ctrl+Enter";
|
"lng_settings_send_ctrlenter" = "Send by Ctrl+Enter";
|
||||||
|
|
|
@ -783,9 +783,9 @@ std::vector<not_null<DocumentData*>> GetListByEmoji(
|
||||||
addList(
|
addList(
|
||||||
Auth().data().stickerSetsOrder(),
|
Auth().data().stickerSetsOrder(),
|
||||||
MTPDstickerSet::Flag::f_archived);
|
MTPDstickerSet::Flag::f_archived);
|
||||||
addList(
|
//addList(
|
||||||
Auth().data().featuredStickerSetsOrder(),
|
// Auth().data().featuredStickerSetsOrder(),
|
||||||
MTPDstickerSet::Flag::f_installed_date);
|
// MTPDstickerSet::Flag::f_installed_date);
|
||||||
|
|
||||||
if (!setsToRequest.empty()) {
|
if (!setsToRequest.empty()) {
|
||||||
for (const auto [setId, accessHash] : setsToRequest) {
|
for (const auto [setId, accessHash] : setsToRequest) {
|
||||||
|
@ -794,13 +794,15 @@ std::vector<not_null<DocumentData*>> GetListByEmoji(
|
||||||
Auth().api().requestStickerSets();
|
Auth().api().requestStickerSets();
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto others = Auth().api().stickersByEmoji(original);
|
if (Global::SuggestStickersByEmoji()) {
|
||||||
if (!others) {
|
const auto others = Auth().api().stickersByEmoji(original);
|
||||||
return {};
|
if (!others) {
|
||||||
}
|
return {};
|
||||||
result.reserve(result.size() + others->size());
|
}
|
||||||
for (const auto document : *others) {
|
result.reserve(result.size() + others->size());
|
||||||
add(document, CreateOtherSortKey(document));
|
for (const auto document : *others) {
|
||||||
|
add(document, CreateOtherSortKey(document));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ranges::action::sort(
|
ranges::action::sort(
|
||||||
|
|
|
@ -552,6 +552,7 @@ struct Data {
|
||||||
QByteArray DownloadPathBookmark;
|
QByteArray DownloadPathBookmark;
|
||||||
base::Observable<void> DownloadPathChanged;
|
base::Observable<void> DownloadPathChanged;
|
||||||
|
|
||||||
|
bool SuggestStickersByEmoji = true;
|
||||||
bool SoundNotify = true;
|
bool SoundNotify = true;
|
||||||
bool DesktopNotify = true;
|
bool DesktopNotify = true;
|
||||||
bool RestoreSoundNotifyFromTray = false;
|
bool RestoreSoundNotifyFromTray = false;
|
||||||
|
@ -674,6 +675,7 @@ DefineVar(Global, QString, DownloadPath);
|
||||||
DefineVar(Global, QByteArray, DownloadPathBookmark);
|
DefineVar(Global, QByteArray, DownloadPathBookmark);
|
||||||
DefineRefVar(Global, base::Observable<void>, DownloadPathChanged);
|
DefineRefVar(Global, base::Observable<void>, DownloadPathChanged);
|
||||||
|
|
||||||
|
DefineVar(Global, bool, SuggestStickersByEmoji);
|
||||||
DefineVar(Global, bool, SoundNotify);
|
DefineVar(Global, bool, SoundNotify);
|
||||||
DefineVar(Global, bool, DesktopNotify);
|
DefineVar(Global, bool, DesktopNotify);
|
||||||
DefineVar(Global, bool, RestoreSoundNotifyFromTray);
|
DefineVar(Global, bool, RestoreSoundNotifyFromTray);
|
||||||
|
|
|
@ -360,6 +360,7 @@ DeclareVar(QString, DownloadPath);
|
||||||
DeclareVar(QByteArray, DownloadPathBookmark);
|
DeclareVar(QByteArray, DownloadPathBookmark);
|
||||||
DeclareRefVar(base::Observable<void>, DownloadPathChanged);
|
DeclareRefVar(base::Observable<void>, DownloadPathChanged);
|
||||||
|
|
||||||
|
DeclareVar(bool, SuggestStickersByEmoji);
|
||||||
DeclareVar(bool, SoundNotify);
|
DeclareVar(bool, SoundNotify);
|
||||||
DeclareVar(bool, DesktopNotify);
|
DeclareVar(bool, DesktopNotify);
|
||||||
DeclareVar(bool, RestoreSoundNotifyFromTray);
|
DeclareVar(bool, RestoreSoundNotifyFromTray);
|
||||||
|
|
|
@ -140,7 +140,8 @@ void ChatSettingsWidget::createControls() {
|
||||||
style::margins marginSub(0, 0, 0, st::settingsSubSkip);
|
style::margins marginSub(0, 0, 0, st::settingsSubSkip);
|
||||||
style::margins slidedPadding(0, marginSub.bottom() / 2, 0, marginSub.bottom() - (marginSub.bottom() / 2));
|
style::margins slidedPadding(0, marginSub.bottom() / 2, 0, marginSub.bottom() - (marginSub.bottom() / 2));
|
||||||
|
|
||||||
createChildRow(_replaceEmoji, marginSkip, lang(lng_settings_replace_emojis), [this](bool) { onReplaceEmoji(); }, cReplaceEmojis());
|
createChildRow(_replaceEmoji, marginSmall, lang(lng_settings_replace_emojis), [this](bool) { toggleReplaceEmoji(); }, cReplaceEmojis());
|
||||||
|
createChildRow(_suggestByEmoji, marginSkip, lang(lng_settings_suggest_by_emoji), [this](bool) { toggleSuggestStickersByEmoji(); }, Global::SuggestStickersByEmoji());
|
||||||
|
|
||||||
#ifndef OS_WIN_STORE
|
#ifndef OS_WIN_STORE
|
||||||
auto pathMargin = marginSub;
|
auto pathMargin = marginSub;
|
||||||
|
@ -168,11 +169,16 @@ void ChatSettingsWidget::createControls() {
|
||||||
createChildRow(_manageStickerSets, marginSmall, lang(lng_stickers_you_have), SLOT(onManageStickerSets()));
|
createChildRow(_manageStickerSets, marginSmall, lang(lng_stickers_you_have), SLOT(onManageStickerSets()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatSettingsWidget::onReplaceEmoji() {
|
void ChatSettingsWidget::toggleReplaceEmoji() {
|
||||||
cSetReplaceEmojis(_replaceEmoji->checked());
|
cSetReplaceEmojis(_replaceEmoji->checked());
|
||||||
Local::writeUserSettings();
|
Local::writeUserSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ChatSettingsWidget::toggleSuggestStickersByEmoji() {
|
||||||
|
Global::SetSuggestStickersByEmoji(_suggestByEmoji->checked());
|
||||||
|
Local::writeUserSettings();
|
||||||
|
}
|
||||||
|
|
||||||
void ChatSettingsWidget::onDontAskDownloadPath() {
|
void ChatSettingsWidget::onDontAskDownloadPath() {
|
||||||
Global::SetAskDownloadPath(!_dontAskDownloadPath->checked());
|
Global::SetAskDownloadPath(!_dontAskDownloadPath->checked());
|
||||||
Local::writeUserSettings();
|
Local::writeUserSettings();
|
||||||
|
|
|
@ -81,7 +81,6 @@ public:
|
||||||
ChatSettingsWidget(QWidget *parent, UserData *self);
|
ChatSettingsWidget(QWidget *parent, UserData *self);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onReplaceEmoji();
|
|
||||||
void onDontAskDownloadPath();
|
void onDontAskDownloadPath();
|
||||||
void onAutomaticMediaDownloadSettings();
|
void onAutomaticMediaDownloadSettings();
|
||||||
void onManageStickerSets();
|
void onManageStickerSets();
|
||||||
|
@ -94,7 +93,11 @@ private:
|
||||||
void sendByChanged(SendByType value);
|
void sendByChanged(SendByType value);
|
||||||
void createControls();
|
void createControls();
|
||||||
|
|
||||||
|
void toggleReplaceEmoji();
|
||||||
|
void toggleSuggestStickersByEmoji();
|
||||||
|
|
||||||
Ui::Checkbox *_replaceEmoji = nullptr;
|
Ui::Checkbox *_replaceEmoji = nullptr;
|
||||||
|
Ui::Checkbox *_suggestByEmoji = nullptr;
|
||||||
Ui::Checkbox *_dontAskDownloadPath = nullptr;
|
Ui::Checkbox *_dontAskDownloadPath = nullptr;
|
||||||
|
|
||||||
#ifndef OS_WIN_STORE
|
#ifndef OS_WIN_STORE
|
||||||
|
|
|
@ -571,6 +571,7 @@ enum {
|
||||||
dbiLangPackKey = 0x4e,
|
dbiLangPackKey = 0x4e,
|
||||||
dbiConnectionType = 0x4f,
|
dbiConnectionType = 0x4f,
|
||||||
dbiStickersFavedLimit = 0x50,
|
dbiStickersFavedLimit = 0x50,
|
||||||
|
dbiSuggestStickersByEmoji = 0x51,
|
||||||
|
|
||||||
dbiEncryptedWithSalt = 333,
|
dbiEncryptedWithSalt = 333,
|
||||||
dbiEncrypted = 444,
|
dbiEncrypted = 444,
|
||||||
|
@ -998,6 +999,14 @@ bool _readSetting(quint32 blockId, QDataStream &stream, int version, ReadSetting
|
||||||
Global::SetSoundNotify(v == 1);
|
Global::SetSoundNotify(v == 1);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
case dbiSuggestStickersByEmoji: {
|
||||||
|
qint32 v;
|
||||||
|
stream >> v;
|
||||||
|
if (!_checkStreamStatus(stream)) return false;
|
||||||
|
|
||||||
|
Global::SetSuggestStickersByEmoji(v == 1);
|
||||||
|
} break;
|
||||||
|
|
||||||
case dbiAutoDownload: {
|
case dbiAutoDownload: {
|
||||||
qint32 photo, audio, gif;
|
qint32 photo, audio, gif;
|
||||||
stream >> photo >> audio >> gif;
|
stream >> photo >> audio >> gif;
|
||||||
|
@ -1766,7 +1775,7 @@ void _writeUserSettings() {
|
||||||
? userDataInstance->serialize()
|
? userDataInstance->serialize()
|
||||||
: QByteArray();
|
: QByteArray();
|
||||||
|
|
||||||
uint32 size = 21 * (sizeof(quint32) + sizeof(qint32));
|
uint32 size = 22 * (sizeof(quint32) + sizeof(qint32));
|
||||||
size += sizeof(quint32) + Serialize::stringSize(Global::AskDownloadPath() ? QString() : Global::DownloadPath()) + Serialize::bytearraySize(Global::AskDownloadPath() ? QByteArray() : Global::DownloadPathBookmark());
|
size += sizeof(quint32) + Serialize::stringSize(Global::AskDownloadPath() ? QString() : Global::DownloadPath()) + Serialize::bytearraySize(Global::AskDownloadPath() ? QByteArray() : Global::DownloadPathBookmark());
|
||||||
|
|
||||||
size += sizeof(quint32) + sizeof(qint32);
|
size += sizeof(quint32) + sizeof(qint32);
|
||||||
|
@ -1809,6 +1818,7 @@ void _writeUserSettings() {
|
||||||
data.stream << quint32(dbiModerateMode) << qint32(Global::ModerateModeEnabled() ? 1 : 0);
|
data.stream << quint32(dbiModerateMode) << qint32(Global::ModerateModeEnabled() ? 1 : 0);
|
||||||
data.stream << quint32(dbiAutoPlay) << qint32(cAutoPlayGif() ? 1 : 0);
|
data.stream << quint32(dbiAutoPlay) << qint32(cAutoPlayGif() ? 1 : 0);
|
||||||
data.stream << quint32(dbiUseExternalVideoPlayer) << qint32(cUseExternalVideoPlayer());
|
data.stream << quint32(dbiUseExternalVideoPlayer) << qint32(cUseExternalVideoPlayer());
|
||||||
|
data.stream << quint32(dbiSuggestStickersByEmoji) << qint32(Global::SuggestStickersByEmoji() ? 1 : 0);
|
||||||
if (!userData.isEmpty()) {
|
if (!userData.isEmpty()) {
|
||||||
data.stream << quint32(dbiAuthSessionSettings) << userData;
|
data.stream << quint32(dbiAuthSessionSettings) << userData;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue