diff --git a/Telegram/SourceFiles/api/api_global_privacy.cpp b/Telegram/SourceFiles/api/api_global_privacy.cpp index f958bdfe80..6a891f63e0 100644 --- a/Telegram/SourceFiles/api/api_global_privacy.cpp +++ b/Telegram/SourceFiles/api/api_global_privacy.cpp @@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "apiwrap.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" namespace Api { @@ -40,9 +39,9 @@ void GlobalPrivacy::reload(Fn callback) { } }).send(); - _session->account().appConfig().value( + _session->appConfig().value( ) | rpl::start_with_next([=] { - _showArchiveAndMute = _session->account().appConfig().get( + _showArchiveAndMute = _session->appConfig().get( u"autoarchive_setting_available"_q, false); }, _session->lifetime()); @@ -75,12 +74,12 @@ rpl::producer GlobalPrivacy::showArchiveAndMute() const { } rpl::producer<> GlobalPrivacy::suggestArchiveAndMute() const { - return _session->account().appConfig().suggestionRequested( + return _session->appConfig().suggestionRequested( u"AUTOARCHIVE_POPULAR"_q); } void GlobalPrivacy::dismissArchiveAndMuteSuggestion() { - _session->account().appConfig().dismissSuggestion( + _session->appConfig().dismissSuggestion( u"AUTOARCHIVE_POPULAR"_q); } diff --git a/Telegram/SourceFiles/api/api_premium.cpp b/Telegram/SourceFiles/api/api_premium.cpp index 3f94c8e5cc..5257feb2df 100644 --- a/Telegram/SourceFiles/api/api_premium.cpp +++ b/Telegram/SourceFiles/api/api_premium.cpp @@ -19,7 +19,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/view/history_view_element.h" #include "history/history.h" #include "history/history_item.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "payments/payments_form.h" @@ -571,34 +570,34 @@ Data::SubscriptionOptions PremiumGiftCodeOptions::options(int amount) { int PremiumGiftCodeOptions::giveawayBoostsPerPremium() const { constexpr auto kFallbackCount = 4; - return _peer->session().account().appConfig().get( + return _peer->session().appConfig().get( u"giveaway_boosts_per_premium"_q, kFallbackCount); } int PremiumGiftCodeOptions::giveawayCountriesMax() const { constexpr auto kFallbackCount = 10; - return _peer->session().account().appConfig().get( + return _peer->session().appConfig().get( u"giveaway_countries_max"_q, kFallbackCount); } int PremiumGiftCodeOptions::giveawayAddPeersMax() const { constexpr auto kFallbackCount = 10; - return _peer->session().account().appConfig().get( + return _peer->session().appConfig().get( u"giveaway_add_peers_max"_q, kFallbackCount); } int PremiumGiftCodeOptions::giveawayPeriodMax() const { constexpr auto kFallbackCount = 3600 * 24 * 7; - return _peer->session().account().appConfig().get( + return _peer->session().appConfig().get( u"giveaway_period_max"_q, kFallbackCount); } bool PremiumGiftCodeOptions::giveawayGiftsPurchaseAvailable() const { - return _peer->session().account().appConfig().get( + return _peer->session().appConfig().get( u"giveaway_gifts_purchase_available"_q, false); } diff --git a/Telegram/SourceFiles/api/api_ringtones.cpp b/Telegram/SourceFiles/api/api_ringtones.cpp index 5b471851e0..87522bf58b 100644 --- a/Telegram/SourceFiles/api/api_ringtones.cpp +++ b/Telegram/SourceFiles/api/api_ringtones.cpp @@ -16,7 +16,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_file_origin.h" #include "data/data_session.h" #include "data/notify/data_notify_settings.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "storage/file_upload.h" @@ -191,20 +190,20 @@ void Ringtones::remove(DocumentId id) { } int64 Ringtones::maxSize() const { - return _session->account().appConfig().get( - "ringtone_size_max", + return _session->appConfig().get( + u"ringtone_size_max"_q, 100 * 1024); } int Ringtones::maxSavedCount() const { - return _session->account().appConfig().get( - "ringtone_saved_count_max", + return _session->appConfig().get( + u"ringtone_saved_count_max"_q, 100); } crl::time Ringtones::maxDuration() const { - return crl::time(1000) * _session->account().appConfig().get( - "ringtone_duration_max", + return crl::time(1000) * _session->appConfig().get( + u"ringtone_duration_max"_q, 5); } diff --git a/Telegram/SourceFiles/api/api_sending.cpp b/Telegram/SourceFiles/api/api_sending.cpp index 495b9467e9..72bd06b3da 100644 --- a/Telegram/SourceFiles/api/api_sending.cpp +++ b/Telegram/SourceFiles/api/api_sending.cpp @@ -28,7 +28,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/text/text_entity.h" // TextWithEntities. #include "ui/item_text_options.h" // Ui::ItemTextOptions. #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "storage/localimageloader.h" #include "storage/file_upload.h" @@ -239,8 +238,7 @@ bool SendDice(MessageToSend &message) { || !message.textWithTags.tags.isEmpty()) { return false; } - auto &account = message.action.history->session().account(); - auto &config = account.appConfig(); + auto &config = message.action.history->session().appConfig(); static const auto hardcoded = std::vector{ Stickers::DicePacks::kDiceString, Stickers::DicePacks::kDartString, diff --git a/Telegram/SourceFiles/api/api_sensitive_content.cpp b/Telegram/SourceFiles/api/api_sensitive_content.cpp index e2d3e49edd..97388d6389 100644 --- a/Telegram/SourceFiles/api/api_sensitive_content.cpp +++ b/Telegram/SourceFiles/api/api_sensitive_content.cpp @@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "apiwrap.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" namespace Api { @@ -22,7 +21,7 @@ constexpr auto kRefreshAppConfigTimeout = 3 * crl::time(1000); SensitiveContent::SensitiveContent(not_null api) : _session(&api->session()) , _api(&api->instance()) -, _appConfigReloadTimer([=] { _session->account().appConfig().refresh(); }) { +, _appConfigReloadTimer([=] { _session->appConfig().refresh(); }) { } void SensitiveContent::reload() { diff --git a/Telegram/SourceFiles/api/api_transcribes.cpp b/Telegram/SourceFiles/api/api_transcribes.cpp index d7064abcdf..dd983dc37b 100644 --- a/Telegram/SourceFiles/api/api_transcribes.cpp +++ b/Telegram/SourceFiles/api/api_transcribes.cpp @@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/history.h" #include "history/history_item.h" #include "history/history_item_helpers.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" @@ -36,10 +35,10 @@ bool Transcribes::freeFor(not_null item) const { bool Transcribes::trialsSupport() { if (!_trialsSupport) { - const auto count = _session->account().appConfig().get( + const auto count = _session->appConfig().get( u"transcribe_audio_trial_weekly_number"_q, 0); - const auto until = _session->account().appConfig().get( + const auto until = _session->appConfig().get( u"transcribe_audio_trial_cooldown_until"_q, 0); _trialsSupport = (count > 0) || (until > 0); @@ -49,7 +48,7 @@ bool Transcribes::trialsSupport() { TimeId Transcribes::trialsRefreshAt() { if (_trialsRefreshAt < 0) { - _trialsRefreshAt = _session->account().appConfig().get( + _trialsRefreshAt = _session->appConfig().get( u"transcribe_audio_trial_cooldown_until"_q, 0); } @@ -58,7 +57,7 @@ TimeId Transcribes::trialsRefreshAt() { int Transcribes::trialsCount() { if (_trialsCount < 0) { - _trialsCount = _session->account().appConfig().get( + _trialsCount = _session->appConfig().get( u"transcribe_audio_trial_weekly_number"_q, -1); return std::max(_trialsCount, 0); @@ -67,7 +66,7 @@ int Transcribes::trialsCount() { } crl::time Transcribes::trialsMaxLengthMs() const { - return 1000 * _session->account().appConfig().get( + return 1000 * _session->appConfig().get( u"transcribe_audio_trial_duration_max"_q, 300); } diff --git a/Telegram/SourceFiles/api/api_who_reacted.cpp b/Telegram/SourceFiles/api/api_who_reacted.cpp index 27134dea98..f610f833da 100644 --- a/Telegram/SourceFiles/api/api_who_reacted.cpp +++ b/Telegram/SourceFiles/api/api_who_reacted.cpp @@ -24,7 +24,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "lang/lang_keys.h" #include "main/main_app_config.h" #include "main/main_session.h" -#include "main/main_account.h" #include "base/unixtime.h" #include "base/weak_ptr.h" #include "ui/controls/who_reacted_context_action.h" @@ -697,7 +696,7 @@ bool WhoReadExists(not_null item) { || user->readDatesPrivate()) { return false; } - const auto &appConfig = peer->session().account().appConfig(); + const auto &appConfig = peer->session().appConfig(); const auto expirePeriod = appConfig.get( "pm_read_date_expire_period", 7 * 86400); @@ -713,7 +712,7 @@ bool WhoReadExists(not_null item) { && (megagroup->flags() & ChannelDataFlag::ParticipantsHidden))) { return false; } - const auto &appConfig = peer->session().account().appConfig(); + const auto &appConfig = peer->session().appConfig(); const auto expirePeriod = appConfig.get( "chat_read_mark_expire_period", 7 * 86400); diff --git a/Telegram/SourceFiles/boxes/peers/edit_members_visible.cpp b/Telegram/SourceFiles/boxes/peers/edit_members_visible.cpp index 8cf55a1e37..216a0431d7 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_members_visible.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_members_visible.cpp @@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/widgets/buttons.h" #include "ui/vertical_list.h" #include "settings/settings_common.h" // IconDescriptor. -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "apiwrap.h" @@ -26,7 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace { [[nodiscard]] int EnableHideMembersMin(not_null channel) { - return channel->session().account().appConfig().get( + return channel->session().appConfig().get( u"hidden_members_group_size_min"_q, 100); } diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp index 01bbb02f2f..674d5b0745 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp @@ -44,7 +44,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "info/info_memento.h" #include "lang/lang_keys.h" #include "mtproto/sender.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "settings/settings_common.h" #include "ui/boxes/boost_box.h" @@ -78,7 +77,7 @@ constexpr auto kBotManagerUsername = "BotFather"_cs; } [[nodiscard]] int EnableForumMinMembers(not_null peer) { - return peer->session().account().appConfig().get( + return peer->session().appConfig().get( u"forum_upgrade_participants_min"_q, 200); } diff --git a/Telegram/SourceFiles/boxes/peers/replace_boost_box.cpp b/Telegram/SourceFiles/boxes/peers/replace_boost_box.cpp index f57573d996..f9a4c5d8f5 100644 --- a/Telegram/SourceFiles/boxes/peers/replace_boost_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/replace_boost_box.cpp @@ -17,7 +17,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_cloud_themes.h" #include "data/data_session.h" #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "main/session/session_show.h" @@ -464,8 +463,7 @@ Ui::BoostFeatures LookupBoostFeatures(not_null channel) { } int BoostsForGift(not_null session) { - const auto key = u"boosts_per_sent_gift"_q; - return session->account().appConfig().get(key, 0); + return session->appConfig().get(u"boosts_per_sent_gift"_q, 0); } struct Sources { diff --git a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp index a33462f4ae..8d666249f1 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_list_footer.cpp @@ -19,7 +19,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_session.h" #include "data/data_document.h" #include "data/data_document_media.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "lang/lang_keys.h" @@ -113,7 +112,7 @@ std::optional SetIdEmojiSection(uint64 id) { rpl::producer> GifSectionsValue( not_null session) { - const auto config = &session->account().appConfig(); + const auto config = &session->appConfig(); return config->value( ) | rpl::map([=] { return config->get>( diff --git a/Telegram/SourceFiles/data/data_chat_filters.cpp b/Telegram/SourceFiles/data/data_chat_filters.cpp index 47cd8f4d0a..efac543af9 100644 --- a/Telegram/SourceFiles/data/data_chat_filters.cpp +++ b/Telegram/SourceFiles/data/data_chat_filters.cpp @@ -21,7 +21,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/ui_utility.h" #include "ui/chat/more_chats_bar.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "apiwrap.h" @@ -33,7 +32,7 @@ constexpr auto kLoadExceptionsAfter = 100; constexpr auto kLoadExceptionsPerRequest = 100; [[nodiscard]] crl::time RequestUpdatesEach(not_null owner) { - const auto appConfig = &owner->session().account().appConfig(); + const auto appConfig = &owner->session().appConfig(); return appConfig->get(u"chatlist_update_period"_q, 3600) * crl::time(1000); } @@ -320,7 +319,7 @@ not_null ChatFilters::chatsList(FilterId filterId) { auto &pointer = _chatsLists[filterId]; if (!pointer) { auto limit = rpl::single(rpl::empty_value()) | rpl::then( - _owner->session().account().appConfig().refreshed() + _owner->session().appConfig().refreshed() ) | rpl::map([=] { return _owner->pinnedChatsLimit(filterId); }); diff --git a/Telegram/SourceFiles/data/data_message_reactions.cpp b/Telegram/SourceFiles/data/data_message_reactions.cpp index 5b78746301..617e07e7ef 100644 --- a/Telegram/SourceFiles/data/data_message_reactions.cpp +++ b/Telegram/SourceFiles/data/data_message_reactions.cpp @@ -10,7 +10,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/history.h" #include "history/history_item.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/session/send_as_peers.h" #include "data/data_user.h" @@ -100,7 +99,7 @@ constexpr auto kTopReactionsLimit = 14; [[nodiscard]] int SentReactionsLimit(not_null item) { const auto session = &item->history()->session(); - const auto config = &session->account().appConfig(); + const auto config = &session->appConfig(); return session->premium() ? config->get("reactions_user_max_premium", 3) : config->get("reactions_user_max_default", 1); diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp index 9bf563f6c1..76389df4e0 100644 --- a/Telegram/SourceFiles/data/data_peer.cpp +++ b/Telegram/SourceFiles/data/data_peer.cpp @@ -31,7 +31,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/boxes/confirm_box.h" #include "main/main_session.h" #include "main/main_session_settings.h" -#include "main/main_account.h" #include "main/main_domain.h" #include "main/main_app_config.h" #include "mtproto/mtproto_config.h" @@ -501,7 +500,7 @@ auto PeerData::unavailableReasons() const QString PeerData::computeUnavailableReason() const { const auto &list = unavailableReasons(); - const auto &config = session().account().appConfig(); + const auto &config = session().appConfig(); const auto skip = config.get>( "ignore_restriction_reasons", std::vector()); diff --git a/Telegram/SourceFiles/data/data_peer_values.cpp b/Telegram/SourceFiles/data/data_peer_values.cpp index 0d5393ac81..1d321f80d7 100644 --- a/Telegram/SourceFiles/data/data_peer_values.cpp +++ b/Telegram/SourceFiles/data/data_peer_values.cpp @@ -16,7 +16,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_session.h" #include "data/data_message_reactions.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "ui/image/image_prepare.h" #include "base/unixtime.h" @@ -568,12 +567,12 @@ int UniqueReactionsLimit(not_null config) { } int UniqueReactionsLimit(not_null peer) { - return UniqueReactionsLimit(&peer->session().account().appConfig()); + return UniqueReactionsLimit(&peer->session().appConfig()); } rpl::producer UniqueReactionsLimitValue( not_null peer) { - const auto config = &peer->session().account().appConfig(); + const auto config = &peer->session().appConfig(); return config->value( ) | rpl::map([=] { return UniqueReactionsLimit(config); diff --git a/Telegram/SourceFiles/data/data_premium_limits.cpp b/Telegram/SourceFiles/data/data_premium_limits.cpp index ecca861493..f9d870212a 100644 --- a/Telegram/SourceFiles/data/data_premium_limits.cpp +++ b/Telegram/SourceFiles/data/data_premium_limits.cpp @@ -7,7 +7,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "data/data_premium_limits.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" @@ -210,7 +209,7 @@ int PremiumLimits::maxBoostLevel() const { int PremiumLimits::appConfigLimit( const QString &key, int fallback) const { - return _session->account().appConfig().get(key, fallback); + return _session->appConfig().get(key, fallback); } bool PremiumLimits::isPremium() const { @@ -222,73 +221,73 @@ LevelLimits::LevelLimits(not_null session) } int LevelLimits::channelColorLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_color_level_min"_q, 5); } int LevelLimits::channelBgIconLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_bg_icon_level_min"_q, 4); } int LevelLimits::channelProfileBgIconLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_profile_bg_icon_level_min"_q, 7); } int LevelLimits::channelEmojiStatusLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_emoji_status_level_min"_q, 8); } int LevelLimits::channelWallpaperLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_wallpaper_level_min"_q, 9); } int LevelLimits::channelCustomWallpaperLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"channel_custom_wallpaper_level_min"_q, 10); } int LevelLimits::groupTranscribeLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_transcribe_level_min"_q, 6); } int LevelLimits::groupEmojiStickersLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_emoji_stickers_level_min"_q, 4); } int LevelLimits::groupProfileBgIconLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_profile_bg_icon_level_min"_q, 5); } int LevelLimits::groupEmojiStatusLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_emoji_status_level_min"_q, 8); } int LevelLimits::groupWallpaperLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_wallpaper_level_min"_q, 9); } int LevelLimits::groupCustomWallpaperLevelMin() const { - return _session->account().appConfig().get( + return _session->appConfig().get( u"group_custom_wallpaper_level_min"_q, 10); } diff --git a/Telegram/SourceFiles/data/data_session.cpp b/Telegram/SourceFiles/data/data_session.cpp index 3881a601c9..6bfd2b74ee 100644 --- a/Telegram/SourceFiles/data/data_session.cpp +++ b/Telegram/SourceFiles/data/data_session.cpp @@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "main/main_session.h" #include "main/main_session_settings.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "apiwrap.h" #include "mainwidget.h" @@ -242,7 +241,7 @@ Session::Session(not_null session) , _bigFileCache(Core::App().databases().get( _session->local().cacheBigFilePath(), _session->local().cacheBigFileSettings())) -, _groupFreeTranscribeLevel(session->account().appConfig().value( +, _groupFreeTranscribeLevel(session->appConfig().value( ) | rpl::map([limits = Data::LevelLimits(session)] { return limits.groupTranscribeLevelMin(); })) @@ -2205,7 +2204,7 @@ rpl::producer Session::maxPinnedChatsLimitValue( // We always use premium limit in the MainList limit producer, // because it slices the list to that limit. We don't want to slice // premium-ly added chats from the pinned list because of sync issues. - return _session->account().appConfig().value( + return _session->appConfig().value( ) | rpl::map([folder, limits = Data::PremiumLimits(_session)] { return folder ? limits.dialogsFolderPinnedPremium() @@ -2219,7 +2218,7 @@ rpl::producer Session::maxPinnedChatsLimitValue( // We always use premium limit in the MainList limit producer, // because it slices the list to that limit. We don't want to slice // premium-ly added chats from the pinned list because of sync issues. - return _session->account().appConfig().value( + return _session->appConfig().value( ) | rpl::map([limits = Data::PremiumLimits(_session)] { return limits.dialogFiltersChatsPremium(); }); @@ -2227,7 +2226,7 @@ rpl::producer Session::maxPinnedChatsLimitValue( rpl::producer Session::maxPinnedChatsLimitValue( not_null forum) const { - return _session->account().appConfig().value( + return _session->appConfig().value( ) | rpl::map([limits = Data::PremiumLimits(_session)] { return limits.topicsPinnedCurrent(); }); @@ -2239,7 +2238,7 @@ rpl::producer Session::maxPinnedChatsLimitValue( // We always use premium limit in the MainList limit producer, // because it slices the list to that limit. We don't want to slice // premium-ly added chats from the pinned list because of sync issues. - return _session->account().appConfig().value( + return _session->appConfig().value( ) | rpl::map([limits = Data::PremiumLimits(_session)] { return limits.savedSublistsPinnedPremium(); }); diff --git a/Telegram/SourceFiles/data/stickers/data_custom_emoji.cpp b/Telegram/SourceFiles/data/stickers/data_custom_emoji.cpp index 0ce9ccf786..22b877fb9d 100644 --- a/Telegram/SourceFiles/data/stickers/data_custom_emoji.cpp +++ b/Telegram/SourceFiles/data/stickers/data_custom_emoji.cpp @@ -8,7 +8,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/stickers/data_custom_emoji.h" #include "chat_helpers/stickers_emoji_pack.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "data/data_channel.h" @@ -441,7 +440,7 @@ Ui::CustomEmoji::Preview CustomEmojiLoader::preview() { CustomEmojiManager::CustomEmojiManager(not_null owner) : _owner(owner) , _repaintTimer([=] { invokeRepaints(); }) { - const auto appConfig = &owner->session().account().appConfig(); + const auto appConfig = &owner->session().appConfig(); appConfig->value( ) | rpl::take_while([=] { return !_coloredSetId; diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.cpp b/Telegram/SourceFiles/data/stickers/data_stickers.cpp index 5981e5258d..f6da8553d7 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.cpp +++ b/Telegram/SourceFiles/data/stickers/data_stickers.cpp @@ -26,7 +26,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" #include "core/core_settings.h" #include "main/main_session.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "mtproto/mtproto_config.h" #include "ui/toast/toast.h" @@ -1321,7 +1320,7 @@ std::vector> Stickers::getListByEmoji( ranges::sort(result, std::greater<>(), &StickerWithDate::date); - const auto appConfig = &session().account().appConfig(); + const auto appConfig = &session().appConfig(); auto mixed = std::vector>(); mixed.reserve(result.size()); auto premiumIndex = 0, nonPremiumIndex = 0; diff --git a/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp b/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp index 1939dde643..58c51ed315 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_phone_menu.cpp @@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_user.h" #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" @@ -118,7 +117,7 @@ void AddPhoneMenu(not_null menu, not_null user) { return; } using Strings = std::vector; - const auto prefixes = user->session().account().appConfig().get( + const auto prefixes = user->session().appConfig().get( u"fragment_prefixes"_q, std::vector()); { diff --git a/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp b/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp index 59e78131c5..6918d51b98 100644 --- a/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp +++ b/Telegram/SourceFiles/info/userpic/info_userpic_emoji_builder_preview.cpp @@ -13,7 +13,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_session.h" #include "history/view/media/history_view_sticker_player.h" #include "info/userpic/info_userpic_emoji_builder_common.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "ui/painter.h" @@ -171,7 +170,7 @@ EmojiUserpic::EmojiUserpic( void EmojiUserpic::setDocument(not_null document) { if (!_playOnce.has_value()) { - const auto &c = document->owner().session().account().appConfig(); + const auto &c = document->owner().session().appConfig(); _playOnce = !c.get(u"upload_markup_video"_q, false); } _painter.setDocument(document, [=] { update(); }); diff --git a/Telegram/SourceFiles/main/main_app_config.cpp b/Telegram/SourceFiles/main/main_app_config.cpp index a973979b76..2507dc8f1b 100644 --- a/Telegram/SourceFiles/main/main_app_config.cpp +++ b/Telegram/SourceFiles/main/main_app_config.cpp @@ -223,4 +223,10 @@ void AppConfig::dismissSuggestion(const QString &key) { )).send(); } +bool AppConfig::newRequirePremiumFree() const { + return get( + u"new_noncontact_peers_require_premium_without_ownpremium"_q, + false); +} + } // namespace Main diff --git a/Telegram/SourceFiles/main/main_app_config.h b/Telegram/SourceFiles/main/main_app_config.h index 541b9f24ce..67b9853482 100644 --- a/Telegram/SourceFiles/main/main_app_config.h +++ b/Telegram/SourceFiles/main/main_app_config.h @@ -54,6 +54,8 @@ public: const QString &key) const; void dismissSuggestion(const QString &key); + [[nodiscard]] bool newRequirePremiumFree() const; + void refresh(); private: diff --git a/Telegram/SourceFiles/main/main_app_config_values.cpp b/Telegram/SourceFiles/main/main_app_config_values.cpp index 92faf0b1ef..bd2b1f0705 100644 --- a/Telegram/SourceFiles/main/main_app_config_values.cpp +++ b/Telegram/SourceFiles/main/main_app_config_values.cpp @@ -7,7 +7,6 @@ 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" @@ -15,7 +14,7 @@ namespace AppConfig { std::optional FragmentLink(not_null session) { using Strings = std::vector; - const auto domains = session->account().appConfig().get( + const auto domains = session->appConfig().get( u"whitelisted_domains"_q, std::vector()); const auto proj = [&, domain = u"fragment"_q](const QString &p) { diff --git a/Telegram/SourceFiles/main/main_session.cpp b/Telegram/SourceFiles/main/main_session.cpp index 2ba11542e0..8ec2842944 100644 --- a/Telegram/SourceFiles/main/main_session.cpp +++ b/Telegram/SourceFiles/main/main_session.cpp @@ -138,10 +138,10 @@ Session::Session( }, _lifetime); #ifndef OS_MAC_STORE - _account->appConfig().value( + appConfig().value( ) | rpl::start_with_next([=] { - _premiumPossible = !_account->appConfig().get( - "premium_purchase_blocked", + _premiumPossible = !appConfig().get( + u"premium_purchase_blocked"_q, true); }, _lifetime); #endif // OS_MAC_STORE @@ -227,6 +227,10 @@ Storage::Domain &Session::domainLocal() const { return _account->domainLocal(); } +AppConfig &Session::appConfig() const { + return _account->appConfig(); +} + void Session::notifyDownloaderTaskFinished() { downloader().notifyTaskFinished(); } diff --git a/Telegram/SourceFiles/main/main_session.h b/Telegram/SourceFiles/main/main_session.h index 635f453d5e..d8c74e087f 100644 --- a/Telegram/SourceFiles/main/main_session.h +++ b/Telegram/SourceFiles/main/main_session.h @@ -63,6 +63,7 @@ struct ColorIndicesCompressed; namespace Main { class Account; +class AppConfig; class Domain; class SessionSettings; class SendAsPeers; @@ -83,6 +84,8 @@ public: [[nodiscard]] Domain &domain() const; [[nodiscard]] Storage::Domain &domainLocal() const; + [[nodiscard]] AppConfig &appConfig() const; + [[nodiscard]] bool premium() const; [[nodiscard]] bool premiumPossible() const; [[nodiscard]] rpl::producer premiumPossibleValue() const; diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index d583157785..5b8d4fc258 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -82,7 +82,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "main/main_session.h" #include "main/main_session_settings.h" #include "main/main_app_config.h" -#include "main/main_account.h" #include "settings/settings_premium.h" #include "support/support_helper.h" #include "storage/storage_user_photos.h" @@ -1885,7 +1884,7 @@ void MainWidget::showNonPremiumLimitToast(bool download) { const auto link = download ? tr::lng_limit_download_subscribe_link(tr::now) : tr::lng_limit_upload_subscribe_link(tr::now); - const auto better = session().account().appConfig().get(download + const auto better = session().appConfig().get(download ? u"upload_premium_speedup_download"_q : u"upload_premium_speedup_upload"_q, 10.); const auto percent = int(base::SafeRound(better * 100.)); diff --git a/Telegram/SourceFiles/menu/menu_antispam_validator.cpp b/Telegram/SourceFiles/menu/menu_antispam_validator.cpp index 5baf781db2..1ca71597ea 100644 --- a/Telegram/SourceFiles/menu/menu_antispam_validator.cpp +++ b/Telegram/SourceFiles/menu/menu_antispam_validator.cpp @@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_session.h" #include "history/history_item.h" #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/settings_common.h" // IconDescriptor. @@ -35,13 +34,13 @@ namespace AntiSpamMenu { namespace { [[nodiscard]] int EnableAntiSpamMinMembers(not_null channel) { - return channel->session().account().appConfig().get( + return channel->session().appConfig().get( u"telegram_antispam_group_size_min"_q, 100); } [[nodiscard]] UserId AntiSpamUserId(not_null channel) { - const auto id = channel->session().account().appConfig().get( + const auto id = channel->session().appConfig().get( u"telegram_antispam_user_id"_q, QString()); return UserId(id.toULongLong()); diff --git a/Telegram/SourceFiles/settings/business/settings_chat_intro.cpp b/Telegram/SourceFiles/settings/business/settings_chat_intro.cpp index 2d71d2a607..0be98f8fad 100644 --- a/Telegram/SourceFiles/settings/business/settings_chat_intro.cpp +++ b/Telegram/SourceFiles/settings/business/settings_chat_intro.cpp @@ -25,7 +25,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/view/history_view_element.h" #include "history/history.h" #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/business/settings_recipients_helper.h" @@ -152,7 +151,7 @@ private: not_null session, const QString &key, int defaultValue) { - return session->account().appConfig().get(key, defaultValue); + return session->appConfig().get(key, defaultValue); } [[nodiscard]] not_null AddPartInput( diff --git a/Telegram/SourceFiles/settings/business/settings_chat_links.cpp b/Telegram/SourceFiles/settings/business/settings_chat_links.cpp index 021a6c2075..15349246c6 100644 --- a/Telegram/SourceFiles/settings/business/settings_chat_links.cpp +++ b/Telegram/SourceFiles/settings/business/settings_chat_links.cpp @@ -25,7 +25,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_document.h" #include "data/data_user.h" #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/business/settings_recipients_helper.h" @@ -726,7 +725,7 @@ void ChatLinks::setupContent( Ui::AddSkip(content); - const auto limit = controller->session().account().appConfig().get( + const auto limit = controller->session().appConfig().get( u"business_chat_links_limit"_q, 100); const auto add = content->add( diff --git a/Telegram/SourceFiles/settings/business/settings_recipients_helper.cpp b/Telegram/SourceFiles/settings/business/settings_recipients_helper.cpp index 76d7631e79..e80a0cff27 100644 --- a/Telegram/SourceFiles/settings/business/settings_recipients_helper.cpp +++ b/Telegram/SourceFiles/settings/business/settings_recipients_helper.cpp @@ -14,7 +14,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_user.h" #include "history/history.h" #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/settings_common.h" @@ -395,25 +394,25 @@ rpl::producer ShortcutExistsValue( } int ShortcutsLimit(not_null session) { - const auto appConfig = &session->account().appConfig(); + const auto appConfig = &session->appConfig(); return appConfig->get("quick_replies_limit", 100); } rpl::producer ShortcutsLimitValue(not_null session) { - const auto appConfig = &session->account().appConfig(); + const auto appConfig = &session->appConfig(); return appConfig->value() | rpl::map([=] { return ShortcutsLimit(session); }); } int ShortcutMessagesLimit(not_null session) { - const auto appConfig = &session->account().appConfig(); + const auto appConfig = &session->appConfig(); return appConfig->get("quick_reply_messages_limit", 20); } rpl::producer ShortcutMessagesLimitValue( not_null session) { - const auto appConfig = &session->account().appConfig(); + const auto appConfig = &session->appConfig(); return appConfig->value() | rpl::map([=] { return ShortcutMessagesLimit(session); }); diff --git a/Telegram/SourceFiles/settings/settings_business.cpp b/Telegram/SourceFiles/settings/settings_business.cpp index f0294643cc..c23e82c343 100644 --- a/Telegram/SourceFiles/settings/settings_business.cpp +++ b/Telegram/SourceFiles/settings/settings_business.cpp @@ -20,7 +20,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "info/info_wrap_widget.h" // Info::Wrap. #include "info/settings/info_settings_widget.h" // SectionCustomTopBarData. #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/business/settings_away_message.h" @@ -256,10 +255,10 @@ void AddBusinessSummary( auto icons = std::vector(); icons.reserve(int(entryMap.size())); { - const auto &account = controller->session().account(); - const auto mtpOrder = /*account.appConfig().get( + const auto session = &controller->session(); + const auto mtpOrder = session->appConfig().get( "business_promo_order", - FallbackOrder())*/FallbackOrder(); AssertIsDebug(); + FallbackOrder()); const auto processEntry = [&](Entry &entry) { icons.push_back(entry.icon); addRow(entry); @@ -690,7 +689,7 @@ void ShowBusiness(not_null controller) { std::vector BusinessFeaturesOrder( not_null<::Main::Session*> session) { - const auto mtpOrder = session->account().appConfig().get( + const auto mtpOrder = session->appConfig().get( "business_promo_order", FallbackOrder()); return ranges::views::all( diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp index 33b175520f..d7005fd9dc 100644 --- a/Telegram/SourceFiles/settings/settings_main.cpp +++ b/Telegram/SourceFiles/settings/settings_main.cpp @@ -375,7 +375,7 @@ void SetupSections( } else { const auto enabled = [=] { const auto result = account->appConfig().get( - "dialog_filters_enabled", + u"dialog_filters_enabled"_q, false); if (result) { preload(); diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 4e81d19c68..2addb7fe40 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -26,7 +26,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "info/profile/info_profile_values.h" #include "info/settings/info_settings_widget.h" // SectionCustomTopBarData. #include "lang/lang_keys.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_session.h" #include "settings/settings_common_session.h" @@ -1331,12 +1330,12 @@ void ShowEmojiStatusPremium( void StartPremiumPayment( not_null controller, const QString &ref) { - const auto account = &controller->session().account(); - const auto username = account->appConfig().get( - "premium_bot_username", + const auto session = &controller->session(); + const auto username = session->appConfig().get( + u"premium_bot_username"_q, QString()); - const auto slug = account->appConfig().get( - "premium_invoice_slug", + const auto slug = session->appConfig().get( + u"premium_invoice_slug"_q, QString()); if (!username.isEmpty()) { controller->showPeerByLink(Window::PeerByLinkInfo{ @@ -1539,7 +1538,7 @@ not_null CreateSubscribeButton( std::vector PremiumFeaturesOrder( not_null session) { - const auto mtpOrder = session->account().appConfig().get( + const auto mtpOrder = session->appConfig().get( "premium_promo_order", FallbackOrder()); return ranges::views::all( @@ -1683,8 +1682,8 @@ void AddSummaryPremium( auto icons = std::vector(); icons.reserve(int(entryMap.size())); { - const auto &account = controller->session().account(); - const auto mtpOrder = account.appConfig().get( + const auto session = &controller->session(); + const auto mtpOrder = session->appConfig().get( "premium_promo_order", FallbackOrder()); const auto processEntry = [&](Entry &entry) { diff --git a/Telegram/SourceFiles/window/window_session_controller.cpp b/Telegram/SourceFiles/window/window_session_controller.cpp index 4e03d8765f..183c0c1100 100644 --- a/Telegram/SourceFiles/window/window_session_controller.cpp +++ b/Telegram/SourceFiles/window/window_session_controller.cpp @@ -64,7 +64,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/boxes/calendar_box.h" #include "ui/boxes/confirm_box.h" #include "mainwidget.h" -#include "main/main_account.h" #include "main/main_app_config.h" #include "main/main_domain.h" #include "main/main_session.h" @@ -1230,7 +1229,7 @@ bool SessionController::skipNonPremiumLimitToast(bool download) const { const auto last = download ? session().settings().lastNonPremiumLimitDownload() : session().settings().lastNonPremiumLimitUpload(); - const auto delay = session().account().appConfig().get( + const auto delay = session().appConfig().get( u"upload_premium_speedup_notify_period"_q, 3600); return (last && now < last + delay && now > last - delay);