From 08a6b77bb1bfc73ad831bd9a72f8d945f2191cb1 Mon Sep 17 00:00:00 2001 From: People-11 <41558215+People-11@users.noreply.github.com> Date: Sun, 29 Jun 2025 17:17:51 +0930 Subject: [PATCH 1/2] Open link without warning --- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/ayu/ayu_settings.cpp | 5 +++++ Telegram/SourceFiles/ayu/ayu_settings.h | 4 ++++ .../ayu/ui/settings/settings_ayu.cpp | 19 +++++++++++++++++++ .../SourceFiles/core/click_handler_types.cpp | 5 ++++- 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 779778df3e..12241b5bda 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -6642,6 +6642,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ayu_KeepAliveService" = "AyuGram Push Service"; "ayu_DisableAds" = "Disable Ads"; "ayu_DisableStories" = "Disable Stories"; +"ayu_DisableOpenLinkWarning" = "Disable Open Link Warning"; "ayu_DisableCustomBackgrounds" = "Disable Custom Backgrounds"; "ayu_DisableNotificationsDelay" = "Disable Notify Delay"; "ayu_LocalPremium" = "Local Telegram Premium"; diff --git a/Telegram/SourceFiles/ayu/ayu_settings.cpp b/Telegram/SourceFiles/ayu/ayu_settings.cpp index f38b86d612..4c8faa5084 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.cpp +++ b/Telegram/SourceFiles/ayu/ayu_settings.cpp @@ -222,6 +222,7 @@ AyuGramSettings::AyuGramSettings() { showOnlyAddedEmojisAndStickers = false; collapseSimilarChannels = true; hideSimilarChannels = false; + disableOpenLinkWarning = false; wideMultiplier = 1.0; @@ -393,6 +394,10 @@ void set_hideSimilarChannels(bool val) { settings->hideSimilarChannels = val; } +void set_disableOpenLinkWarning(bool val) { + settings->disableOpenLinkWarning = val; +} + void set_wideMultiplier(double val) { settings->wideMultiplier = val; } diff --git a/Telegram/SourceFiles/ayu/ayu_settings.h b/Telegram/SourceFiles/ayu/ayu_settings.h index 017cf313a1..01305853c4 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.h +++ b/Telegram/SourceFiles/ayu/ayu_settings.h @@ -67,6 +67,7 @@ public: bool showOnlyAddedEmojisAndStickers; bool collapseSimilarChannels; bool hideSimilarChannels; + bool disableOpenLinkWarning; double wideMultiplier; @@ -149,6 +150,7 @@ void set_disableCustomBackgrounds(bool val); void set_showOnlyAddedEmojisAndStickers(bool val); void set_collapseSimilarChannels(bool val); void set_hideSimilarChannels(bool val); +void set_disableOpenLinkWarning(bool val); void set_wideMultiplier(double val); @@ -224,6 +226,7 @@ inline void to_json(nlohmann::json &nlohmann_json_j, const AyuGramSettings &nloh NLOHMANN_JSON_TO(showOnlyAddedEmojisAndStickers) NLOHMANN_JSON_TO(collapseSimilarChannels) NLOHMANN_JSON_TO(hideSimilarChannels) + NLOHMANN_JSON_TO(disableOpenLinkWarning) NLOHMANN_JSON_TO(wideMultiplier) NLOHMANN_JSON_TO(spoofWebviewAsAndroid) NLOHMANN_JSON_TO(increaseWebviewHeight) @@ -287,6 +290,7 @@ inline void from_json(const nlohmann::json &nlohmann_json_j, AyuGramSettings &nl NLOHMANN_JSON_FROM_WITH_DEFAULT(showOnlyAddedEmojisAndStickers) NLOHMANN_JSON_FROM_WITH_DEFAULT(collapseSimilarChannels) NLOHMANN_JSON_FROM_WITH_DEFAULT(hideSimilarChannels) + NLOHMANN_JSON_FROM_WITH_DEFAULT(disableOpenLinkWarning) NLOHMANN_JSON_FROM_WITH_DEFAULT(wideMultiplier) NLOHMANN_JSON_FROM_WITH_DEFAULT(spoofWebviewAsAndroid) NLOHMANN_JSON_FROM_WITH_DEFAULT(increaseWebviewHeight) diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp index 520ea113b9..876261526f 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp @@ -785,6 +785,25 @@ void SetupQoLToggles(not_null container) { AddCollapsibleToggle(container, tr::ayu_DisableSimilarChannels(), checkboxes, true); + AddButtonWithIcon( + container, + tr::ayu_DisableOpenLinkWarning(), + st::settingsButtonNoIcon + )->toggleOn( + rpl::single(settings->disableOpenLinkWarning) + )->toggledValue( + ) | rpl::filter( + [=](bool enabled) + { + return (enabled != settings->disableOpenLinkWarning); + }) | start_with_next( + [=](bool enabled) + { + AyuSettings::set_disableOpenLinkWarning(enabled); + AyuSettings::save(); + }, + container->lifetime()); + AddSkip(container); AddDivider(container); AddSkip(container); diff --git a/Telegram/SourceFiles/core/click_handler_types.cpp b/Telegram/SourceFiles/core/click_handler_types.cpp index 9e290988f9..090df71170 100644 --- a/Telegram/SourceFiles/core/click_handler_types.cpp +++ b/Telegram/SourceFiles/core/click_handler_types.cpp @@ -31,6 +31,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_calls.h" // groupCallBoxLabel #include "styles/style_layers.h" +// AyuGram includes +#include "ayu/ayu_settings.h" + namespace { // Possible context owners: media viewer, profile, history widget. @@ -126,7 +129,7 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { const auto parsedUrl = url.startsWith(u"tonsite://"_q) ? QUrl(url) : QUrl::fromUserInput(url); - if (UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { + if (!AyuSettings::getInstance().disableOpenLinkWarning && UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { const auto my = context.value(); if (!my.show) { Core::App().hideMediaView(); From 95a62eaeb632fc36bb005149036533748619a6d1 Mon Sep 17 00:00:00 2001 From: People-11 <41558215+People-11@users.noreply.github.com> Date: Sun, 29 Jun 2025 17:17:51 +0930 Subject: [PATCH 2/2] Open link without warning --- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/ayu/ayu_settings.cpp | 5 +++++ Telegram/SourceFiles/ayu/ayu_settings.h | 4 ++++ .../ayu/ui/settings/settings_ayu.cpp | 19 +++++++++++++++++++ .../SourceFiles/core/click_handler_types.cpp | 5 ++++- 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 9adfa372ef..0c80d5eba9 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -6647,6 +6647,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ayu_KeepAliveService" = "AyuGram Push Service"; "ayu_DisableAds" = "Disable Ads"; "ayu_DisableStories" = "Disable Stories"; +"ayu_DisableOpenLinkWarning" = "Disable Open Link Warning"; "ayu_DisableCustomBackgrounds" = "Disable Custom Backgrounds"; "ayu_DisableNotificationsDelay" = "Disable Notify Delay"; "ayu_LocalPremium" = "Local Telegram Premium"; diff --git a/Telegram/SourceFiles/ayu/ayu_settings.cpp b/Telegram/SourceFiles/ayu/ayu_settings.cpp index f6bb469bd2..bb51dd4f3f 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.cpp +++ b/Telegram/SourceFiles/ayu/ayu_settings.cpp @@ -222,6 +222,7 @@ AyuGramSettings::AyuGramSettings() { showOnlyAddedEmojisAndStickers = false; collapseSimilarChannels = true; hideSimilarChannels = false; + disableOpenLinkWarning = false; wideMultiplier = 1.0; @@ -395,6 +396,10 @@ void set_hideSimilarChannels(bool val) { settings->hideSimilarChannels = val; } +void set_disableOpenLinkWarning(bool val) { + settings->disableOpenLinkWarning = val; +} + void set_wideMultiplier(double val) { settings->wideMultiplier = val; } diff --git a/Telegram/SourceFiles/ayu/ayu_settings.h b/Telegram/SourceFiles/ayu/ayu_settings.h index 192e59f2ee..ebaaca68a4 100644 --- a/Telegram/SourceFiles/ayu/ayu_settings.h +++ b/Telegram/SourceFiles/ayu/ayu_settings.h @@ -67,6 +67,7 @@ public: bool showOnlyAddedEmojisAndStickers; bool collapseSimilarChannels; bool hideSimilarChannels; + bool disableOpenLinkWarning; double wideMultiplier; @@ -151,6 +152,7 @@ void set_disableCustomBackgrounds(bool val); void set_showOnlyAddedEmojisAndStickers(bool val); void set_collapseSimilarChannels(bool val); void set_hideSimilarChannels(bool val); +void set_disableOpenLinkWarning(bool val); void set_wideMultiplier(double val); @@ -228,6 +230,7 @@ inline void to_json(nlohmann::json &nlohmann_json_j, const AyuGramSettings &nloh NLOHMANN_JSON_TO(showOnlyAddedEmojisAndStickers) NLOHMANN_JSON_TO(collapseSimilarChannels) NLOHMANN_JSON_TO(hideSimilarChannels) + NLOHMANN_JSON_TO(disableOpenLinkWarning) NLOHMANN_JSON_TO(wideMultiplier) NLOHMANN_JSON_TO(spoofWebviewAsAndroid) NLOHMANN_JSON_TO(increaseWebviewHeight) @@ -293,6 +296,7 @@ inline void from_json(const nlohmann::json &nlohmann_json_j, AyuGramSettings &nl NLOHMANN_JSON_FROM_WITH_DEFAULT(showOnlyAddedEmojisAndStickers) NLOHMANN_JSON_FROM_WITH_DEFAULT(collapseSimilarChannels) NLOHMANN_JSON_FROM_WITH_DEFAULT(hideSimilarChannels) + NLOHMANN_JSON_FROM_WITH_DEFAULT(disableOpenLinkWarning) NLOHMANN_JSON_FROM_WITH_DEFAULT(wideMultiplier) NLOHMANN_JSON_FROM_WITH_DEFAULT(spoofWebviewAsAndroid) NLOHMANN_JSON_FROM_WITH_DEFAULT(increaseWebviewHeight) diff --git a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp index 298bbb667d..d058dccc6c 100644 --- a/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp +++ b/Telegram/SourceFiles/ayu/ui/settings/settings_ayu.cpp @@ -785,6 +785,25 @@ void SetupQoLToggles(not_null container) { AddCollapsibleToggle(container, tr::ayu_DisableSimilarChannels(), checkboxes, true); + AddButtonWithIcon( + container, + tr::ayu_DisableOpenLinkWarning(), + st::settingsButtonNoIcon + )->toggleOn( + rpl::single(settings->disableOpenLinkWarning) + )->toggledValue( + ) | rpl::filter( + [=](bool enabled) + { + return (enabled != settings->disableOpenLinkWarning); + }) | start_with_next( + [=](bool enabled) + { + AyuSettings::set_disableOpenLinkWarning(enabled); + AyuSettings::save(); + }, + container->lifetime()); + AddSkip(container); AddDivider(container); AddSkip(container); diff --git a/Telegram/SourceFiles/core/click_handler_types.cpp b/Telegram/SourceFiles/core/click_handler_types.cpp index 9e290988f9..090df71170 100644 --- a/Telegram/SourceFiles/core/click_handler_types.cpp +++ b/Telegram/SourceFiles/core/click_handler_types.cpp @@ -31,6 +31,9 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "styles/style_calls.h" // groupCallBoxLabel #include "styles/style_layers.h" +// AyuGram includes +#include "ayu/ayu_settings.h" + namespace { // Possible context owners: media viewer, profile, history widget. @@ -126,7 +129,7 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { const auto parsedUrl = url.startsWith(u"tonsite://"_q) ? QUrl(url) : QUrl::fromUserInput(url); - if (UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { + if (!AyuSettings::getInstance().disableOpenLinkWarning && UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { const auto my = context.value(); if (!my.show) { Core::App().hideMediaView();