From 9a872a355ed999327b55f93f4af9ce98d8cec64a Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Sun, 4 Jul 2021 22:44:33 +0300 Subject: [PATCH] Option to control auto-login on Telegram sites --- Telegram/Resources/langs/lang.strings | 2 ++ Telegram/Resources/langs/rewrites/en.json | 1 + Telegram/Resources/langs/rewrites/ru.json | 1 + Telegram/SourceFiles/core/ui_integration.cpp | 3 ++- Telegram/SourceFiles/kotato/json_settings.cpp | 5 +++++ Telegram/SourceFiles/kotato/settings.cpp | 2 ++ Telegram/SourceFiles/kotato/settings.h | 2 ++ Telegram/SourceFiles/kotato/settings_menu.cpp | 2 ++ 8 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 671e1e39d..92e54c3b5 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2897,6 +2897,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "ktg_net_speed_boost_medium" = "Medium"; "ktg_net_speed_boost_big" = "Big"; +"ktg_settings_telegram_sites_autologin" = "Auto-login on Telegram sites"; + "ktg_settings_system" = "System"; "ktg_settings_qt_scale" = "Qt scaling engine"; "ktg_settings_gtk_integration" = "GTK integration"; diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 36fda5290..28fa3b63e 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -221,5 +221,6 @@ "ktg_filters_hide_button": "Hide button", "ktg_filters_hide_all_chats_toast": "\"All Chats\" folder is hidden.\nYou can enable it back in Kotatogram Settings.", "ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.", + "ktg_settings_telegram_sites_autologin": "Auto-login on Telegram sites", "dummy_last_string": "" } diff --git a/Telegram/Resources/langs/rewrites/ru.json b/Telegram/Resources/langs/rewrites/ru.json index be0032f10..c23b75646 100644 --- a/Telegram/Resources/langs/rewrites/ru.json +++ b/Telegram/Resources/langs/rewrites/ru.json @@ -221,5 +221,6 @@ "ktg_filters_hide_button": "Скрыть кнопку", "ktg_filters_hide_all_chats_toast": "Папка «Все чаты» скрыта.\nВы можете включить её обратно в настройках Kotatogram.", "ktg_filters_hide_edit_toast": "Кнопка изменения скрыта.\nВы можете включить её обратно в настройках Kotatogram.", + "ktg_settings_telegram_sites_autologin": "Авто-вход на сайты Telegram", "dummy_last_string": "" } diff --git a/Telegram/SourceFiles/core/ui_integration.cpp b/Telegram/SourceFiles/core/ui_integration.cpp index c5e209b66..d25f25c01 100644 --- a/Telegram/SourceFiles/core/ui_integration.cpp +++ b/Telegram/SourceFiles/core/ui_integration.cpp @@ -49,7 +49,8 @@ const auto kBadPrefix = u"http://"_q; const auto domains = config.get>( "autologin_domains", {}); - if (token.isEmpty() + if (!cTelegramSitesAutologin() + || token.isEmpty() || domain.isEmpty() || !ranges::contains(domains, domain)) { return url; diff --git a/Telegram/SourceFiles/kotato/json_settings.cpp b/Telegram/SourceFiles/kotato/json_settings.cpp index 46e9bdec5..d0a6e13f3 100644 --- a/Telegram/SourceFiles/kotato/json_settings.cpp +++ b/Telegram/SourceFiles/kotato/json_settings.cpp @@ -389,6 +389,7 @@ QByteArray GenerateSettingsJson(bool areDefault = false) { settings.insert(qsl("monospace_large_bubbles"), MonospaceLargeBubbles()); settings.insert(qsl("forward_retain_selection"), cForwardRetainSelection()); settings.insert(qsl("forward_on_click"), cForwardChatOnClick()); + settings.insert(qsl("telegram_sites_autologin"), cTelegramSitesAutologin()); settingsFonts.insert(qsl("size"), cFontSize()); settingsFonts.insert(qsl("use_system_font"), cUseSystemFont()); @@ -963,6 +964,10 @@ bool Manager::readCustomFile() { ReadBoolOption(settings, "forward_on_click", [&](auto v) { cSetForwardChatOnClick(v); }); + + ReadBoolOption(settings, "telegram_sites_autologin", [&](auto v) { + cSetTelegramSitesAutologin(v); + }); return true; } diff --git a/Telegram/SourceFiles/kotato/settings.cpp b/Telegram/SourceFiles/kotato/settings.cpp index 11501f842..76c72b0cc 100644 --- a/Telegram/SourceFiles/kotato/settings.cpp +++ b/Telegram/SourceFiles/kotato/settings.cpp @@ -265,3 +265,5 @@ bool gForwardGrouped = false; bool gAutoScrollUnfocused = false; LocalFolderVector gLocalFolders; + +bool gTelegramSitesAutologin = true; diff --git a/Telegram/SourceFiles/kotato/settings.h b/Telegram/SourceFiles/kotato/settings.h index 928cdf240..85448f02f 100644 --- a/Telegram/SourceFiles/kotato/settings.h +++ b/Telegram/SourceFiles/kotato/settings.h @@ -177,3 +177,5 @@ struct LocalFolder { using LocalFolderVector = std::vector; DeclareRefSetting(LocalFolderVector, LocalFolders); + +DeclareSetting(bool, TelegramSitesAutologin); diff --git a/Telegram/SourceFiles/kotato/settings_menu.cpp b/Telegram/SourceFiles/kotato/settings_menu.cpp index 6974810d0..fc075c65e 100644 --- a/Telegram/SourceFiles/kotato/settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/settings_menu.cpp @@ -417,6 +417,8 @@ void SetupKotatoNetwork(not_null container) { }, true)); }); + SettingsMenuCSwitch(ktg_settings_telegram_sites_autologin, TelegramSitesAutologin); + AddSkip(container); }