From ca2a0d41c9ee5d174f8c1c10e5e907f44f9f7697 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 10 Apr 2023 02:32:47 +0300 Subject: [PATCH] Moved some app config values to separated file. --- Telegram/CMakeLists.txt | 2 ++ .../info/profile/info_profile_phone_menu.cpp | 34 +++++++------------ .../main/main_app_config_values.cpp | 30 ++++++++++++++++ .../SourceFiles/main/main_app_config_values.h | 18 ++++++++++ 4 files changed, 63 insertions(+), 21 deletions(-) create mode 100644 Telegram/SourceFiles/main/main_app_config_values.cpp create mode 100644 Telegram/SourceFiles/main/main_app_config_values.h diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 709a7290b..008c71b15 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -924,6 +924,8 @@ PRIVATE main/main_account.h main/main_app_config.cpp main/main_app_config.h + main/main_app_config_values.cpp + main/main_app_config_values.h main/main_domain.cpp main/main_domain.h main/main_session.cpp diff --git a/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp b/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp index 9318229d7..0fea4cdb6 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp @@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "lang/lang_keys.h" #include "main/main_account.h" #include "main/main_app_config.h" +#include "main/main_app_config_values.h" #include "main/main_session.h" #include "ui/text/text_utilities.h" #include "ui/widgets/labels.h" @@ -127,28 +128,19 @@ void AddPhoneMenu(not_null menu, not_null user) { return; } } - const auto domains = user->session().account().appConfig().get( - u"whitelisted_domains"_q, - std::vector()); - const auto proj = [&, domain = u"fragment"_q](const QString &p) { - return p.contains(domain); - }; - const auto it = ranges::find_if(domains, proj); - if (it == end(domains)) { - return; + if (const auto url = AppConfig::FragmentLink(&user->session())) { + menu->addSeparator(&st::expandedMenuSeparator); + const auto link = Ui::Text::Link( + tr::lng_info_mobile_context_menu_fragment_about_link(tr::now), + *url); + menu->addAction(base::make_unique_q( + menu->menu(), + st::reactionMenu.menu, + tr::lng_info_mobile_context_menu_fragment_about( + lt_link, + rpl::single(link), + Ui::Text::RichLangValue))); } - - menu->addSeparator(&st::expandedMenuSeparator); - const auto link = Ui::Text::Link( - tr::lng_info_mobile_context_menu_fragment_about_link(tr::now), - *it); - menu->addAction(base::make_unique_q( - menu->menu(), - st::reactionMenu.menu, - tr::lng_info_mobile_context_menu_fragment_about( - lt_link, - rpl::single(link), - Ui::Text::RichLangValue))); } } // namespace Profile diff --git a/Telegram/SourceFiles/main/main_app_config_values.cpp b/Telegram/SourceFiles/main/main_app_config_values.cpp new file mode 100644 index 000000000..92faf0b1e --- /dev/null +++ b/Telegram/SourceFiles/main/main_app_config_values.cpp @@ -0,0 +1,30 @@ +/* +This file is part of Telegram Desktop, +the official desktop application for the Telegram messaging service. + +For license and copyright information please follow this link: +https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL +*/ +#include "main/main_app_config_values.h" + +#include "main/main_account.h" +#include "main/main_app_config.h" +#include "main/main_session.h" + +namespace AppConfig { + +std::optional FragmentLink(not_null session) { + using Strings = std::vector; + const auto domains = session->account().appConfig().get( + u"whitelisted_domains"_q, + std::vector()); + const auto proj = [&, domain = u"fragment"_q](const QString &p) { + return p.contains(domain); + }; + const auto it = ranges::find_if(domains, proj); + return (it == end(domains)) + ? std::nullopt + : std::make_optional(*it); +} + +} // namespace AppConfig diff --git a/Telegram/SourceFiles/main/main_app_config_values.h b/Telegram/SourceFiles/main/main_app_config_values.h new file mode 100644 index 000000000..fc1f8e76a --- /dev/null +++ b/Telegram/SourceFiles/main/main_app_config_values.h @@ -0,0 +1,18 @@ +/* +This file is part of Telegram Desktop, +the official desktop application for the Telegram messaging service. + +For license and copyright information please follow this link: +https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL +*/ +#pragma once + +namespace Main { +class Session; +} // namespace Main + +namespace AppConfig { + +[[nodiscard]] std::optional FragmentLink(not_null); + +} // namespace AppConfig