From cc2b6093146aeae3e3ed21c9256cccff64e686b7 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Fri, 26 Aug 2022 15:39:43 +0300 Subject: [PATCH] [Option][GUI] Big emoji outline --- Telegram/Resources/langs/rewrites/en.json | 1 + .../chat_helpers/stickers_emoji_image_loader.cpp | 5 ++++- .../SourceFiles/chat_helpers/stickers_emoji_pack.cpp | 8 ++++++++ Telegram/SourceFiles/history/history_widget.cpp | 9 +++++++++ Telegram/SourceFiles/kotato/kotato_settings.cpp | 3 +++ Telegram/SourceFiles/kotato/kotato_settings_menu.cpp | 2 ++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index b72e24466..0cc94dd72 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -28,6 +28,7 @@ "ktg_mac_menu_show": "Show Kotatogram", "ktg_settings_kotato": "Kotatogram Settings", "ktg_settings_chats": "Chats", + "ktg_settings_emoji_outline": "Big emoji outline", "ktg_fonts_title": "Fonts", "ktg_settings_fonts": "Change application fonts", "ktg_fonts_reset": "Reset", diff --git a/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.cpp b/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.cpp index b4fec27de..8cf713581 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "chat_helpers/stickers_emoji_image_loader.h" +#include "kotato/kotato_settings.h" #include "styles/style_chat.h" namespace Stickers { @@ -33,7 +34,9 @@ QImage EmojiImageLoader::prepare(EmojiPtr emoji) const { auto tinted = QImage( QSize(st::largeEmojiSize, st::largeEmojiSize) * factor, QImage::Format_ARGB32_Premultiplied); - tinted.fill(Qt::white); + tinted.fill(::Kotato::JsonSettings::GetBool("big_emoji_outline") + ? Qt::white + : QColor(0, 0, 0, 0)); if (loaded) { QPainter p(&tinted); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); diff --git a/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp b/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp index 35af9b1d5..2973dad03 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "chat_helpers/stickers_emoji_pack.h" +#include "kotato/kotato_settings.h" #include "chat_helpers/stickers_emoji_image_loader.h" #include "history/view/history_view_element.h" #include "history/history_item.h" @@ -114,6 +115,13 @@ EmojiPack::EmojiPack(not_null session) refreshAll(); }, _lifetime); + ::Kotato::JsonSettings::Events( + "big_emoji_outline" + ) | rpl::start_with_next([=] { + _images.clear(); + refreshAll(); + }, _lifetime); + Ui::Emoji::Updated( ) | rpl::start_with_next([=] { _images.clear(); diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 186fe72fd..4aedcecce 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "history/history_widget.h" +#include "kotato/kotato_settings.h" #include "api/api_editing.h" #include "api/api_bot.h" #include "api/api_chat_participants.h" @@ -573,6 +574,14 @@ HistoryWidget::HistoryWidget( }); }, lifetime()); + ::Kotato::JsonSettings::Events( + "big_emoji_outline" + ) | rpl::start_with_next([=] { + crl::on_main(this, [=] { + updateHistoryGeometry(); + }); + }, lifetime()); + session().data().channelDifferenceTooLong( ) | rpl::filter([=](not_null channel) { return _peer == channel.get(); diff --git a/Telegram/SourceFiles/kotato/kotato_settings.cpp b/Telegram/SourceFiles/kotato/kotato_settings.cpp index 32fb8f3eb..e4aeedeef 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings.cpp @@ -243,6 +243,9 @@ const std::map> DefinitionMap { { "fonts/use_original_metrics", { .type = SettingType::BoolSetting, .defaultValue = false, }}, + { "big_emoji_outline", { + .type = SettingType::BoolSetting, + .defaultValue = true, }}, }; using OldOptionKey = QString; diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp index fde6ffc30..85d4f4573 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp @@ -88,6 +88,8 @@ void SetupKotatoChats( void SetupKotatoMessages(not_null container) { Ui::AddSubsectionTitle(container, rktr("ktg_settings_messages")); + SettingsMenuJsonSwitch(ktg_settings_emoji_outline, big_emoji_outline); + Ui::AddSkip(container); }