diff --git a/Telegram/Resources/default_kotato-settings-custom.json b/Telegram/Resources/default_kotato-settings-custom.json index 6463fd6ef..0278e8a8d 100644 --- a/Telegram/Resources/default_kotato-settings-custom.json +++ b/Telegram/Resources/default_kotato-settings-custom.json @@ -8,5 +8,6 @@ // "semibold_is_bold": false, // "monospaced": "Consolas" // }, - // "sticker_height": 256 + // "sticker_height": 256, + // "big_emoji_outline": true } diff --git a/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp b/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp index a55952717..ccc8e583d 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp @@ -327,7 +327,7 @@ QImage EmojiImageLoader::prepare(EmojiPtr emoji) { auto tinted = QImage( QSize(st::largeEmojiSize, st::largeEmojiSize) * factor, QImage::Format_ARGB32_Premultiplied); - tinted.fill(QColor(0, 0, 0, 0)); + tinted.fill(cBigEmojiOutline() ? Qt::white : QColor(0, 0, 0, 0)); if (loaded) { QPainter p(&tinted); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); diff --git a/Telegram/SourceFiles/core/kotato_settings.cpp b/Telegram/SourceFiles/core/kotato_settings.cpp index 0d7372bfd..eeaacf3bb 100644 --- a/Telegram/SourceFiles/core/kotato_settings.cpp +++ b/Telegram/SourceFiles/core/kotato_settings.cpp @@ -158,10 +158,15 @@ bool Manager::readCustomFile() { const auto settingsStickerHeightIterator = settings.constFind(qsl("sticker_height")); if (settingsStickerHeightIterator != settingsFonts.constEnd()) { const auto settingsStickerHeight = (*settingsStickerHeightIterator).toInt(); - if (settingsStickerHeight > 0) { + if (settingsStickerHeight >= 128 || settingsStickerHeight <= 256) { cSetStickerHeight(settingsStickerHeight); } } + + const auto settingsBigEmojiOutlineIterator = settings.constFind(qsl("big_emoji_outline")); + if (settingsBigEmojiOutlineIterator != settingsFonts.constEnd() && (*settingsBigEmojiOutlineIterator).isBool()) { + cSetBigEmojiOutline((*settingsBigEmojiOutlineIterator).toBool()); + } return true; } @@ -190,6 +195,7 @@ void Manager::writeDefaultFile() { settings.insert(qsl("fonts"), settingsFonts); settings.insert(qsl("sticker_height"), cStickerHeight()); + settings.insert(qsl("big_emoji_outline"), cBigEmojiOutline()); auto document = QJsonDocument(); document.setObject(settings); diff --git a/Telegram/SourceFiles/settings.cpp b/Telegram/SourceFiles/settings.cpp index 0c05a94f3..a6070e8ae 100644 --- a/Telegram/SourceFiles/settings.cpp +++ b/Telegram/SourceFiles/settings.cpp @@ -210,4 +210,5 @@ rpl::producer<> UpdatedRecentEmoji() { QString gMainFont, gSemiboldFont, gMonospaceFont; bool gSemiboldFontIsBold = false; -int gStickerHeight = 256; \ No newline at end of file +int gStickerHeight = 256; +bool gBigEmojiOutline = true; \ No newline at end of file diff --git a/Telegram/SourceFiles/settings.h b/Telegram/SourceFiles/settings.h index e6e8b3b7b..f632fda14 100644 --- a/Telegram/SourceFiles/settings.h +++ b/Telegram/SourceFiles/settings.h @@ -184,11 +184,5 @@ DeclareSetting(QString, SemiboldFont); DeclareSetting(bool, SemiboldFontIsBold); DeclareSetting(QString, MonospaceFont); -inline int cSetStickerHeight(int height) { - gStickerHeight = (height > 256) ? 256 : (height < 128) ? 128 : height; -} - -inline int cStickerHeight() { - return gStickerHeight; -} - +DeclareSetting(int, StickerHeight); +DeclareSetting(bool, BigEmojiOutline);