Add session->appConfig() shortcut.

This commit is contained in:
John Preston 2024-03-29 15:30:50 +04:00
parent 3b5814edae
commit da7a796edb
35 changed files with 98 additions and 115 deletions

View File

@ -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<void()> callback) {
}
}).send();
_session->account().appConfig().value(
_session->appConfig().value(
) | rpl::start_with_next([=] {
_showArchiveAndMute = _session->account().appConfig().get<bool>(
_showArchiveAndMute = _session->appConfig().get<bool>(
u"autoarchive_setting_available"_q,
false);
}, _session->lifetime());
@ -75,12 +74,12 @@ rpl::producer<bool> 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);
}

View File

@ -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<int>(
return _peer->session().appConfig().get<int>(
u"giveaway_boosts_per_premium"_q,
kFallbackCount);
}
int PremiumGiftCodeOptions::giveawayCountriesMax() const {
constexpr auto kFallbackCount = 10;
return _peer->session().account().appConfig().get<int>(
return _peer->session().appConfig().get<int>(
u"giveaway_countries_max"_q,
kFallbackCount);
}
int PremiumGiftCodeOptions::giveawayAddPeersMax() const {
constexpr auto kFallbackCount = 10;
return _peer->session().account().appConfig().get<int>(
return _peer->session().appConfig().get<int>(
u"giveaway_add_peers_max"_q,
kFallbackCount);
}
int PremiumGiftCodeOptions::giveawayPeriodMax() const {
constexpr auto kFallbackCount = 3600 * 24 * 7;
return _peer->session().account().appConfig().get<int>(
return _peer->session().appConfig().get<int>(
u"giveaway_period_max"_q,
kFallbackCount);
}
bool PremiumGiftCodeOptions::giveawayGiftsPurchaseAvailable() const {
return _peer->session().account().appConfig().get<bool>(
return _peer->session().appConfig().get<bool>(
u"giveaway_gifts_purchase_available"_q,
false);
}

View File

@ -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<int>(
"ringtone_size_max",
return _session->appConfig().get<int>(
u"ringtone_size_max"_q,
100 * 1024);
}
int Ringtones::maxSavedCount() const {
return _session->account().appConfig().get<int>(
"ringtone_saved_count_max",
return _session->appConfig().get<int>(
u"ringtone_saved_count_max"_q,
100);
}
crl::time Ringtones::maxDuration() const {
return crl::time(1000) * _session->account().appConfig().get<int>(
"ringtone_duration_max",
return crl::time(1000) * _session->appConfig().get<int>(
u"ringtone_duration_max"_q,
5);
}

View File

@ -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<QString>{
Stickers::DicePacks::kDiceString,
Stickers::DicePacks::kDartString,

View File

@ -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<ApiWrap*> api)
: _session(&api->session())
, _api(&api->instance())
, _appConfigReloadTimer([=] { _session->account().appConfig().refresh(); }) {
, _appConfigReloadTimer([=] { _session->appConfig().refresh(); }) {
}
void SensitiveContent::reload() {

View File

@ -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<HistoryItem*> item) const {
bool Transcribes::trialsSupport() {
if (!_trialsSupport) {
const auto count = _session->account().appConfig().get<int>(
const auto count = _session->appConfig().get<int>(
u"transcribe_audio_trial_weekly_number"_q,
0);
const auto until = _session->account().appConfig().get<int>(
const auto until = _session->appConfig().get<int>(
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<int>(
_trialsRefreshAt = _session->appConfig().get<int>(
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<int>(
_trialsCount = _session->appConfig().get<int>(
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<int>(
return 1000 * _session->appConfig().get<int>(
u"transcribe_audio_trial_duration_max"_q,
300);
}

View File

@ -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<HistoryItem*> item) {
|| user->readDatesPrivate()) {
return false;
}
const auto &appConfig = peer->session().account().appConfig();
const auto &appConfig = peer->session().appConfig();
const auto expirePeriod = appConfig.get<int>(
"pm_read_date_expire_period",
7 * 86400);
@ -713,7 +712,7 @@ bool WhoReadExists(not_null<HistoryItem*> 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<int>(
"chat_read_mark_expire_period",
7 * 86400);

View File

@ -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<ChannelData*> channel) {
return channel->session().account().appConfig().get<int>(
return channel->session().appConfig().get<int>(
u"hidden_members_group_size_min"_q,
100);
}

View File

@ -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<PeerData*> peer) {
return peer->session().account().appConfig().get<int>(
return peer->session().appConfig().get<int>(
u"forum_upgrade_participants_min"_q,
200);
}

View File

@ -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<ChannelData*> channel) {
}
int BoostsForGift(not_null<Main::Session*> session) {
const auto key = u"boosts_per_sent_gift"_q;
return session->account().appConfig().get<int>(key, 0);
return session->appConfig().get<int>(u"boosts_per_sent_gift"_q, 0);
}
struct Sources {

View File

@ -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<EmojiSection> SetIdEmojiSection(uint64 id) {
rpl::producer<std::vector<GifSection>> GifSectionsValue(
not_null<Main::Session*> session) {
const auto config = &session->account().appConfig();
const auto config = &session->appConfig();
return config->value(
) | rpl::map([=] {
return config->get<std::vector<QString>>(

View File

@ -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<Session*> owner) {
const auto appConfig = &owner->session().account().appConfig();
const auto appConfig = &owner->session().appConfig();
return appConfig->get<int>(u"chatlist_update_period"_q, 3600)
* crl::time(1000);
}
@ -320,7 +319,7 @@ not_null<Dialogs::MainList*> 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);
});

View File

@ -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<HistoryItem*> item) {
const auto session = &item->history()->session();
const auto config = &session->account().appConfig();
const auto config = &session->appConfig();
return session->premium()
? config->get<int>("reactions_user_max_premium", 3)
: config->get<int>("reactions_user_max_default", 1);

View File

@ -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<std::vector<QString>>(
"ignore_restriction_reasons",
std::vector<QString>());

View File

@ -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<Main::AppConfig*> config) {
}
int UniqueReactionsLimit(not_null<PeerData*> peer) {
return UniqueReactionsLimit(&peer->session().account().appConfig());
return UniqueReactionsLimit(&peer->session().appConfig());
}
rpl::producer<int> UniqueReactionsLimitValue(
not_null<PeerData*> peer) {
const auto config = &peer->session().account().appConfig();
const auto config = &peer->session().appConfig();
return config->value(
) | rpl::map([=] {
return UniqueReactionsLimit(config);

View File

@ -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<int>(key, fallback);
return _session->appConfig().get<int>(key, fallback);
}
bool PremiumLimits::isPremium() const {
@ -222,73 +221,73 @@ LevelLimits::LevelLimits(not_null<Main::Session*> session)
}
int LevelLimits::channelColorLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_color_level_min"_q,
5);
}
int LevelLimits::channelBgIconLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_bg_icon_level_min"_q,
4);
}
int LevelLimits::channelProfileBgIconLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_profile_bg_icon_level_min"_q,
7);
}
int LevelLimits::channelEmojiStatusLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_emoji_status_level_min"_q,
8);
}
int LevelLimits::channelWallpaperLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_wallpaper_level_min"_q,
9);
}
int LevelLimits::channelCustomWallpaperLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"channel_custom_wallpaper_level_min"_q,
10);
}
int LevelLimits::groupTranscribeLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_transcribe_level_min"_q,
6);
}
int LevelLimits::groupEmojiStickersLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_emoji_stickers_level_min"_q,
4);
}
int LevelLimits::groupProfileBgIconLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_profile_bg_icon_level_min"_q,
5);
}
int LevelLimits::groupEmojiStatusLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_emoji_status_level_min"_q,
8);
}
int LevelLimits::groupWallpaperLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_wallpaper_level_min"_q,
9);
}
int LevelLimits::groupCustomWallpaperLevelMin() const {
return _session->account().appConfig().get<int>(
return _session->appConfig().get<int>(
u"group_custom_wallpaper_level_min"_q,
10);
}

View File

@ -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<Main::Session*> 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<int> 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<int> 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<int> Session::maxPinnedChatsLimitValue(
rpl::producer<int> Session::maxPinnedChatsLimitValue(
not_null<Data::Forum*> 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<int> 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();
});

View File

@ -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<Session*> 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;

View File

@ -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<not_null<DocumentData*>> Stickers::getListByEmoji(
ranges::sort(result, std::greater<>(), &StickerWithDate::date);
const auto appConfig = &session().account().appConfig();
const auto appConfig = &session().appConfig();
auto mixed = std::vector<not_null<DocumentData*>>();
mixed.reserve(result.size());
auto premiumIndex = 0, nonPremiumIndex = 0;

View File

@ -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<Ui::PopupMenu*> menu, not_null<UserData*> user) {
return;
}
using Strings = std::vector<QString>;
const auto prefixes = user->session().account().appConfig().get<Strings>(
const auto prefixes = user->session().appConfig().get<Strings>(
u"fragment_prefixes"_q,
std::vector<QString>());
{

View File

@ -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<DocumentData*> document) {
if (!_playOnce.has_value()) {
const auto &c = document->owner().session().account().appConfig();
const auto &c = document->owner().session().appConfig();
_playOnce = !c.get<bool>(u"upload_markup_video"_q, false);
}
_painter.setDocument(document, [=] { update(); });

View File

@ -223,4 +223,10 @@ void AppConfig::dismissSuggestion(const QString &key) {
)).send();
}
bool AppConfig::newRequirePremiumFree() const {
return get<bool>(
u"new_noncontact_peers_require_premium_without_ownpremium"_q,
false);
}
} // namespace Main

View File

@ -54,6 +54,8 @@ public:
const QString &key) const;
void dismissSuggestion(const QString &key);
[[nodiscard]] bool newRequirePremiumFree() const;
void refresh();
private:

View File

@ -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<QString> FragmentLink(not_null<Main::Session*> session) {
using Strings = std::vector<QString>;
const auto domains = session->account().appConfig().get<Strings>(
const auto domains = session->appConfig().get<Strings>(
u"whitelisted_domains"_q,
std::vector<QString>());
const auto proj = [&, domain = u"fragment"_q](const QString &p) {

View File

@ -138,10 +138,10 @@ Session::Session(
}, _lifetime);
#ifndef OS_MAC_STORE
_account->appConfig().value(
appConfig().value(
) | rpl::start_with_next([=] {
_premiumPossible = !_account->appConfig().get<bool>(
"premium_purchase_blocked",
_premiumPossible = !appConfig().get<bool>(
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();
}

View File

@ -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<bool> premiumPossibleValue() const;

View File

@ -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<double>(download
const auto better = session().appConfig().get<double>(download
? u"upload_premium_speedup_download"_q
: u"upload_premium_speedup_upload"_q, 10.);
const auto percent = int(base::SafeRound(better * 100.));

View File

@ -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<ChannelData*> channel) {
return channel->session().account().appConfig().get<int>(
return channel->session().appConfig().get<int>(
u"telegram_antispam_group_size_min"_q,
100);
}
[[nodiscard]] UserId AntiSpamUserId(not_null<ChannelData*> channel) {
const auto id = channel->session().account().appConfig().get<QString>(
const auto id = channel->session().appConfig().get<QString>(
u"telegram_antispam_user_id"_q,
QString());
return UserId(id.toULongLong());

View File

@ -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<Main::Session*> session,
const QString &key,
int defaultValue) {
return session->account().appConfig().get<int>(key, defaultValue);
return session->appConfig().get<int>(key, defaultValue);
}
[[nodiscard]] not_null<Ui::InputField*> AddPartInput(

View File

@ -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<int>(
const auto limit = controller->session().appConfig().get<int>(
u"business_chat_links_limit"_q,
100);
const auto add = content->add(

View File

@ -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<bool> ShortcutExistsValue(
}
int ShortcutsLimit(not_null<Main::Session*> session) {
const auto appConfig = &session->account().appConfig();
const auto appConfig = &session->appConfig();
return appConfig->get<int>("quick_replies_limit", 100);
}
rpl::producer<int> ShortcutsLimitValue(not_null<Main::Session*> session) {
const auto appConfig = &session->account().appConfig();
const auto appConfig = &session->appConfig();
return appConfig->value() | rpl::map([=] {
return ShortcutsLimit(session);
});
}
int ShortcutMessagesLimit(not_null<Main::Session*> session) {
const auto appConfig = &session->account().appConfig();
const auto appConfig = &session->appConfig();
return appConfig->get<int>("quick_reply_messages_limit", 20);
}
rpl::producer<int> ShortcutMessagesLimitValue(
not_null<Main::Session*> session) {
const auto appConfig = &session->account().appConfig();
const auto appConfig = &session->appConfig();
return appConfig->value() | rpl::map([=] {
return ShortcutMessagesLimit(session);
});

View File

@ -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<const style::icon *>();
icons.reserve(int(entryMap.size()));
{
const auto &account = controller->session().account();
const auto mtpOrder = /*account.appConfig().get<Order>(
const auto session = &controller->session();
const auto mtpOrder = session->appConfig().get<Order>(
"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<Window::SessionController*> controller) {
std::vector<PremiumFeature> BusinessFeaturesOrder(
not_null<::Main::Session*> session) {
const auto mtpOrder = session->account().appConfig().get<Order>(
const auto mtpOrder = session->appConfig().get<Order>(
"business_promo_order",
FallbackOrder());
return ranges::views::all(

View File

@ -375,7 +375,7 @@ void SetupSections(
} else {
const auto enabled = [=] {
const auto result = account->appConfig().get<bool>(
"dialog_filters_enabled",
u"dialog_filters_enabled"_q,
false);
if (result) {
preload();

View File

@ -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<Window::SessionController*> controller,
const QString &ref) {
const auto account = &controller->session().account();
const auto username = account->appConfig().get<QString>(
"premium_bot_username",
const auto session = &controller->session();
const auto username = session->appConfig().get<QString>(
u"premium_bot_username"_q,
QString());
const auto slug = account->appConfig().get<QString>(
"premium_invoice_slug",
const auto slug = session->appConfig().get<QString>(
u"premium_invoice_slug"_q,
QString());
if (!username.isEmpty()) {
controller->showPeerByLink(Window::PeerByLinkInfo{
@ -1539,7 +1538,7 @@ not_null<Ui::GradientButton*> CreateSubscribeButton(
std::vector<PremiumFeature> PremiumFeaturesOrder(
not_null<Main::Session*> session) {
const auto mtpOrder = session->account().appConfig().get<Order>(
const auto mtpOrder = session->appConfig().get<Order>(
"premium_promo_order",
FallbackOrder());
return ranges::views::all(
@ -1683,8 +1682,8 @@ void AddSummaryPremium(
auto icons = std::vector<const style::icon *>();
icons.reserve(int(entryMap.size()));
{
const auto &account = controller->session().account();
const auto mtpOrder = account.appConfig().get<Order>(
const auto session = &controller->session();
const auto mtpOrder = session->appConfig().get<Order>(
"premium_promo_order",
FallbackOrder());
const auto processEntry = [&](Entry &entry) {

View File

@ -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<int>(
const auto delay = session().appConfig().get<int>(
u"upload_premium_speedup_notify_period"_q,
3600);
return (last && now < last + delay && now > last - delay);