From d6ba3ae332c38729e42e3e1a3e8406863d98e724 Mon Sep 17 00:00:00 2001 From: AlexeyZavar Date: Sat, 23 Nov 2024 12:34:26 +0300 Subject: [PATCH] feat: wide messages --- .gitmodules | 2 +- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/ayu/ayu_infra.cpp | 5 +- Telegram/SourceFiles/ayu/ayu_settings.cpp | 6 ++ Telegram/SourceFiles/ayu/ayu_settings.h | 5 ++ .../ayu/ui/boxes/font_selector.cpp | 4 +- .../ayu/ui/settings/settings_ayu.cpp | 74 +++++++++++++++++++ Telegram/SourceFiles/core/application.cpp | 2 + Telegram/SourceFiles/storage/localstorage.cpp | 3 - Telegram/codegen | 2 +- Telegram/lib_ui | 2 +- 11 files changed, 96 insertions(+), 10 deletions(-) diff --git a/.gitmodules b/.gitmodules index 23ed731c2..f6fa03612 100644 --- a/.gitmodules +++ b/.gitmodules @@ -24,7 +24,7 @@ url = https://github.com/desktop-app/lib_base.git [submodule "Telegram/codegen"] path = Telegram/codegen - url = https://github.com/desktop-app/codegen.git + url = https://github.com/AyuGram/codegen.git [submodule "Telegram/lib_ui"] path = Telegram/lib_ui url = https://github.com/AyuGram/lib_ui.git diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 69205e1f4..9be66d4ae 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -5903,6 +5903,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ayu_MessageFieldElementVoice" = "Voice"; "ayu_DrawerElementsHeader" = "Drawer Elements"; "ayu_TrayElementsHeader" = "Tray Elements"; +"ayu_SettingsWideMultiplier" = "Wide Messages Multiplier"; "ayu_SettingsSpoofWebviewAsAndroid" = "Spoof Client as Android"; "ayu_SettingsBiggerWindow" = "Bigger Window"; "ayu_SettingsIncreaseWebviewHeight" = "Increase Content Height"; diff --git a/Telegram/SourceFiles/ayu/ayu_infra.cpp b/Telegram/SourceFiles/ayu/ayu_infra.cpp index 06d5bfb9f..4d05fdb9d 100644 --- a/Telegram/SourceFiles/ayu/ayu_infra.cpp +++ b/Telegram/SourceFiles/ayu/ayu_infra.cpp @@ -8,8 +8,8 @@ #include "ayu/ayu_lang.h" #include "ayu/ayu_worker.h" -#include "ayu/ayu_fonts.h" #include "ayu/ayu_settings.h" +#include "ayu/ayu_ui_settings.h" #include "ayu/data/ayu_database.h" #include "lang/lang_instance.h" @@ -29,7 +29,8 @@ void initLang() { void initFonts() { auto settings = &AyuSettings::getInstance(); - AyuFonts::setMonoFont(settings->monoFont); + AyuUiSettings::setMonoFont(settings->monoFont); + AyuUiSettings::setWideMultiplier(settings->wideMultiplier); } void initDatabase() { diff --git a/Telegram/SourceFiles/ayu/ayu_settings.cpp b/Telegram/SourceFiles/ayu/ayu_settings.cpp index 5ccef65dc..30d220297 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.cpp +++ b/Telegram/SourceFiles/ayu/ayu_settings.cpp @@ -222,6 +222,8 @@ AyuGramSettings::AyuGramSettings() { collapseSimilarChannels = true; hideSimilarChannels = false; + wideMultiplier = 1.0; + spoofWebviewAsAndroid = false; increaseWebviewHeight = false; increaseWebviewWidth = false; @@ -385,6 +387,10 @@ void AyuGramSettings::set_hideSimilarChannels(bool val) { hideSimilarChannels = val; } +void AyuGramSettings::set_wideMultiplier(double val) { + wideMultiplier = val; +} + void AyuGramSettings::set_spoofWebviewAsAndroid(bool val) { spoofWebviewAsAndroid = val; } diff --git a/Telegram/SourceFiles/ayu/ayu_settings.h b/Telegram/SourceFiles/ayu/ayu_settings.h index 831b76525..c9ddc58c6 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.h +++ b/Telegram/SourceFiles/ayu/ayu_settings.h @@ -40,6 +40,8 @@ public: bool collapseSimilarChannels; bool hideSimilarChannels; + double wideMultiplier; + bool spoofWebviewAsAndroid; bool increaseWebviewHeight; bool increaseWebviewWidth; @@ -117,6 +119,8 @@ public: void set_collapseSimilarChannels(bool val); void set_hideSimilarChannels(bool val); + void set_wideMultiplier(double val); + void set_spoofWebviewAsAndroid(bool val); void set_increaseWebviewHeight(bool val); void set_increaseWebviewWidth(bool val); @@ -189,6 +193,7 @@ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT( disableCustomBackgrounds, collapseSimilarChannels, hideSimilarChannels, + wideMultiplier, spoofWebviewAsAndroid, increaseWebviewHeight, increaseWebviewWidth, diff --git a/Telegram/SourceFiles/ayu/ui/boxes/font_selector.cpp b/Telegram/SourceFiles/ayu/ui/boxes/font_selector.cpp index 44a32f7df..12fe64c8c 100644 --- a/Telegram/SourceFiles/ayu/ui/boxes/font_selector.cpp +++ b/Telegram/SourceFiles/ayu/ui/boxes/font_selector.cpp @@ -44,7 +44,7 @@ #include -#include "ayu/ayu_fonts.h" +#include "ayu/ayu_ui_settings.h" #include "ui/ui_utility.h" struct Font @@ -665,7 +665,7 @@ void Content::setupContent( const std::vector &fonts) { using namespace rpl::mappers; - const auto current = AyuFonts::getMonoFont(); + const auto current = AyuUiSettings::getMonoFont(); const auto content = Ui::CreateChild(this); const auto add = [&](const std::vector &list) { diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp index 62e547945..50fe19ca9 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp @@ -34,6 +34,7 @@ #include "styles/style_ayu_icons.h" #include "ui/painter.h" #include "ui/vertical_list.h" +#include "ui/boxes/confirm_box.h" #include "ui/boxes/single_choice_box.h" #include "ui/text/text_utilities.h" #include "ui/toast/toast.h" @@ -1296,6 +1297,75 @@ void SetupRecentStickersLimitSlider(not_null container) { }); } +void SetupWideMultiplierSlider(not_null container, + not_null controller) { + auto settings = &AyuSettings::getInstance(); + + container->add( + object_ptr