Add session->appConfig() shortcut.
This commit is contained in:
parent
3b5814edae
commit
da7a796edb
35 changed files with 98 additions and 115 deletions
|
@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
|
|
||||||
namespace Api {
|
namespace Api {
|
||||||
|
@ -40,9 +39,9 @@ void GlobalPrivacy::reload(Fn<void()> callback) {
|
||||||
}
|
}
|
||||||
}).send();
|
}).send();
|
||||||
|
|
||||||
_session->account().appConfig().value(
|
_session->appConfig().value(
|
||||||
) | rpl::start_with_next([=] {
|
) | rpl::start_with_next([=] {
|
||||||
_showArchiveAndMute = _session->account().appConfig().get<bool>(
|
_showArchiveAndMute = _session->appConfig().get<bool>(
|
||||||
u"autoarchive_setting_available"_q,
|
u"autoarchive_setting_available"_q,
|
||||||
false);
|
false);
|
||||||
}, _session->lifetime());
|
}, _session->lifetime());
|
||||||
|
@ -75,12 +74,12 @@ rpl::producer<bool> GlobalPrivacy::showArchiveAndMute() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<> GlobalPrivacy::suggestArchiveAndMute() const {
|
rpl::producer<> GlobalPrivacy::suggestArchiveAndMute() const {
|
||||||
return _session->account().appConfig().suggestionRequested(
|
return _session->appConfig().suggestionRequested(
|
||||||
u"AUTOARCHIVE_POPULAR"_q);
|
u"AUTOARCHIVE_POPULAR"_q);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GlobalPrivacy::dismissArchiveAndMuteSuggestion() {
|
void GlobalPrivacy::dismissArchiveAndMuteSuggestion() {
|
||||||
_session->account().appConfig().dismissSuggestion(
|
_session->appConfig().dismissSuggestion(
|
||||||
u"AUTOARCHIVE_POPULAR"_q);
|
u"AUTOARCHIVE_POPULAR"_q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "history/view/history_view_element.h"
|
#include "history/view/history_view_element.h"
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "history/history_item.h"
|
#include "history/history_item.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "payments/payments_form.h"
|
#include "payments/payments_form.h"
|
||||||
|
@ -571,34 +570,34 @@ Data::SubscriptionOptions PremiumGiftCodeOptions::options(int amount) {
|
||||||
|
|
||||||
int PremiumGiftCodeOptions::giveawayBoostsPerPremium() const {
|
int PremiumGiftCodeOptions::giveawayBoostsPerPremium() const {
|
||||||
constexpr auto kFallbackCount = 4;
|
constexpr auto kFallbackCount = 4;
|
||||||
return _peer->session().account().appConfig().get<int>(
|
return _peer->session().appConfig().get<int>(
|
||||||
u"giveaway_boosts_per_premium"_q,
|
u"giveaway_boosts_per_premium"_q,
|
||||||
kFallbackCount);
|
kFallbackCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
int PremiumGiftCodeOptions::giveawayCountriesMax() const {
|
int PremiumGiftCodeOptions::giveawayCountriesMax() const {
|
||||||
constexpr auto kFallbackCount = 10;
|
constexpr auto kFallbackCount = 10;
|
||||||
return _peer->session().account().appConfig().get<int>(
|
return _peer->session().appConfig().get<int>(
|
||||||
u"giveaway_countries_max"_q,
|
u"giveaway_countries_max"_q,
|
||||||
kFallbackCount);
|
kFallbackCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
int PremiumGiftCodeOptions::giveawayAddPeersMax() const {
|
int PremiumGiftCodeOptions::giveawayAddPeersMax() const {
|
||||||
constexpr auto kFallbackCount = 10;
|
constexpr auto kFallbackCount = 10;
|
||||||
return _peer->session().account().appConfig().get<int>(
|
return _peer->session().appConfig().get<int>(
|
||||||
u"giveaway_add_peers_max"_q,
|
u"giveaway_add_peers_max"_q,
|
||||||
kFallbackCount);
|
kFallbackCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
int PremiumGiftCodeOptions::giveawayPeriodMax() const {
|
int PremiumGiftCodeOptions::giveawayPeriodMax() const {
|
||||||
constexpr auto kFallbackCount = 3600 * 24 * 7;
|
constexpr auto kFallbackCount = 3600 * 24 * 7;
|
||||||
return _peer->session().account().appConfig().get<int>(
|
return _peer->session().appConfig().get<int>(
|
||||||
u"giveaway_period_max"_q,
|
u"giveaway_period_max"_q,
|
||||||
kFallbackCount);
|
kFallbackCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PremiumGiftCodeOptions::giveawayGiftsPurchaseAvailable() const {
|
bool PremiumGiftCodeOptions::giveawayGiftsPurchaseAvailable() const {
|
||||||
return _peer->session().account().appConfig().get<bool>(
|
return _peer->session().appConfig().get<bool>(
|
||||||
u"giveaway_gifts_purchase_available"_q,
|
u"giveaway_gifts_purchase_available"_q,
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_file_origin.h"
|
#include "data/data_file_origin.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "data/notify/data_notify_settings.h"
|
#include "data/notify/data_notify_settings.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "storage/file_upload.h"
|
#include "storage/file_upload.h"
|
||||||
|
@ -191,20 +190,20 @@ void Ringtones::remove(DocumentId id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int64 Ringtones::maxSize() const {
|
int64 Ringtones::maxSize() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
"ringtone_size_max",
|
u"ringtone_size_max"_q,
|
||||||
100 * 1024);
|
100 * 1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Ringtones::maxSavedCount() const {
|
int Ringtones::maxSavedCount() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
"ringtone_saved_count_max",
|
u"ringtone_saved_count_max"_q,
|
||||||
100);
|
100);
|
||||||
}
|
}
|
||||||
|
|
||||||
crl::time Ringtones::maxDuration() const {
|
crl::time Ringtones::maxDuration() const {
|
||||||
return crl::time(1000) * _session->account().appConfig().get<int>(
|
return crl::time(1000) * _session->appConfig().get<int>(
|
||||||
"ringtone_duration_max",
|
u"ringtone_duration_max"_q,
|
||||||
5);
|
5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/text/text_entity.h" // TextWithEntities.
|
#include "ui/text/text_entity.h" // TextWithEntities.
|
||||||
#include "ui/item_text_options.h" // Ui::ItemTextOptions.
|
#include "ui/item_text_options.h" // Ui::ItemTextOptions.
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "storage/localimageloader.h"
|
#include "storage/localimageloader.h"
|
||||||
#include "storage/file_upload.h"
|
#include "storage/file_upload.h"
|
||||||
|
@ -239,8 +238,7 @@ bool SendDice(MessageToSend &message) {
|
||||||
|| !message.textWithTags.tags.isEmpty()) {
|
|| !message.textWithTags.tags.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
auto &account = message.action.history->session().account();
|
auto &config = message.action.history->session().appConfig();
|
||||||
auto &config = account.appConfig();
|
|
||||||
static const auto hardcoded = std::vector<QString>{
|
static const auto hardcoded = std::vector<QString>{
|
||||||
Stickers::DicePacks::kDiceString,
|
Stickers::DicePacks::kDiceString,
|
||||||
Stickers::DicePacks::kDartString,
|
Stickers::DicePacks::kDartString,
|
||||||
|
|
|
@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
|
|
||||||
namespace Api {
|
namespace Api {
|
||||||
|
@ -22,7 +21,7 @@ constexpr auto kRefreshAppConfigTimeout = 3 * crl::time(1000);
|
||||||
SensitiveContent::SensitiveContent(not_null<ApiWrap*> api)
|
SensitiveContent::SensitiveContent(not_null<ApiWrap*> api)
|
||||||
: _session(&api->session())
|
: _session(&api->session())
|
||||||
, _api(&api->instance())
|
, _api(&api->instance())
|
||||||
, _appConfigReloadTimer([=] { _session->account().appConfig().refresh(); }) {
|
, _appConfigReloadTimer([=] { _session->appConfig().refresh(); }) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SensitiveContent::reload() {
|
void SensitiveContent::reload() {
|
||||||
|
|
|
@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "history/history_item.h"
|
#include "history/history_item.h"
|
||||||
#include "history/history_item_helpers.h"
|
#include "history/history_item_helpers.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
|
||||||
|
@ -36,10 +35,10 @@ bool Transcribes::freeFor(not_null<HistoryItem*> item) const {
|
||||||
|
|
||||||
bool Transcribes::trialsSupport() {
|
bool Transcribes::trialsSupport() {
|
||||||
if (!_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,
|
u"transcribe_audio_trial_weekly_number"_q,
|
||||||
0);
|
0);
|
||||||
const auto until = _session->account().appConfig().get<int>(
|
const auto until = _session->appConfig().get<int>(
|
||||||
u"transcribe_audio_trial_cooldown_until"_q,
|
u"transcribe_audio_trial_cooldown_until"_q,
|
||||||
0);
|
0);
|
||||||
_trialsSupport = (count > 0) || (until > 0);
|
_trialsSupport = (count > 0) || (until > 0);
|
||||||
|
@ -49,7 +48,7 @@ bool Transcribes::trialsSupport() {
|
||||||
|
|
||||||
TimeId Transcribes::trialsRefreshAt() {
|
TimeId Transcribes::trialsRefreshAt() {
|
||||||
if (_trialsRefreshAt < 0) {
|
if (_trialsRefreshAt < 0) {
|
||||||
_trialsRefreshAt = _session->account().appConfig().get<int>(
|
_trialsRefreshAt = _session->appConfig().get<int>(
|
||||||
u"transcribe_audio_trial_cooldown_until"_q,
|
u"transcribe_audio_trial_cooldown_until"_q,
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
|
@ -58,7 +57,7 @@ TimeId Transcribes::trialsRefreshAt() {
|
||||||
|
|
||||||
int Transcribes::trialsCount() {
|
int Transcribes::trialsCount() {
|
||||||
if (_trialsCount < 0) {
|
if (_trialsCount < 0) {
|
||||||
_trialsCount = _session->account().appConfig().get<int>(
|
_trialsCount = _session->appConfig().get<int>(
|
||||||
u"transcribe_audio_trial_weekly_number"_q,
|
u"transcribe_audio_trial_weekly_number"_q,
|
||||||
-1);
|
-1);
|
||||||
return std::max(_trialsCount, 0);
|
return std::max(_trialsCount, 0);
|
||||||
|
@ -67,7 +66,7 @@ int Transcribes::trialsCount() {
|
||||||
}
|
}
|
||||||
|
|
||||||
crl::time Transcribes::trialsMaxLengthMs() const {
|
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,
|
u"transcribe_audio_trial_duration_max"_q,
|
||||||
300);
|
300);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "base/unixtime.h"
|
#include "base/unixtime.h"
|
||||||
#include "base/weak_ptr.h"
|
#include "base/weak_ptr.h"
|
||||||
#include "ui/controls/who_reacted_context_action.h"
|
#include "ui/controls/who_reacted_context_action.h"
|
||||||
|
@ -697,7 +696,7 @@ bool WhoReadExists(not_null<HistoryItem*> item) {
|
||||||
|| user->readDatesPrivate()) {
|
|| user->readDatesPrivate()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const auto &appConfig = peer->session().account().appConfig();
|
const auto &appConfig = peer->session().appConfig();
|
||||||
const auto expirePeriod = appConfig.get<int>(
|
const auto expirePeriod = appConfig.get<int>(
|
||||||
"pm_read_date_expire_period",
|
"pm_read_date_expire_period",
|
||||||
7 * 86400);
|
7 * 86400);
|
||||||
|
@ -713,7 +712,7 @@ bool WhoReadExists(not_null<HistoryItem*> item) {
|
||||||
&& (megagroup->flags() & ChannelDataFlag::ParticipantsHidden))) {
|
&& (megagroup->flags() & ChannelDataFlag::ParticipantsHidden))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const auto &appConfig = peer->session().account().appConfig();
|
const auto &appConfig = peer->session().appConfig();
|
||||||
const auto expirePeriod = appConfig.get<int>(
|
const auto expirePeriod = appConfig.get<int>(
|
||||||
"chat_read_mark_expire_period",
|
"chat_read_mark_expire_period",
|
||||||
7 * 86400);
|
7 * 86400);
|
||||||
|
|
|
@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/widgets/buttons.h"
|
#include "ui/widgets/buttons.h"
|
||||||
#include "ui/vertical_list.h"
|
#include "ui/vertical_list.h"
|
||||||
#include "settings/settings_common.h" // IconDescriptor.
|
#include "settings/settings_common.h" // IconDescriptor.
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
|
@ -26,7 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
[[nodiscard]] int EnableHideMembersMin(not_null<ChannelData*> channel) {
|
[[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,
|
u"hidden_members_group_size_min"_q,
|
||||||
100);
|
100);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "info/info_memento.h"
|
#include "info/info_memento.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "mtproto/sender.h"
|
#include "mtproto/sender.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "settings/settings_common.h"
|
#include "settings/settings_common.h"
|
||||||
#include "ui/boxes/boost_box.h"
|
#include "ui/boxes/boost_box.h"
|
||||||
|
@ -78,7 +77,7 @@ constexpr auto kBotManagerUsername = "BotFather"_cs;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] int EnableForumMinMembers(not_null<PeerData*> peer) {
|
[[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,
|
u"forum_upgrade_participants_min"_q,
|
||||||
200);
|
200);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_cloud_themes.h"
|
#include "data/data_cloud_themes.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/session/session_show.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) {
|
int BoostsForGift(not_null<Main::Session*> session) {
|
||||||
const auto key = u"boosts_per_sent_gift"_q;
|
return session->appConfig().get<int>(u"boosts_per_sent_gift"_q, 0);
|
||||||
return session->account().appConfig().get<int>(key, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Sources {
|
struct Sources {
|
||||||
|
|
|
@ -19,7 +19,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "data/data_document.h"
|
#include "data/data_document.h"
|
||||||
#include "data/data_document_media.h"
|
#include "data/data_document_media.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
|
@ -113,7 +112,7 @@ std::optional<EmojiSection> SetIdEmojiSection(uint64 id) {
|
||||||
|
|
||||||
rpl::producer<std::vector<GifSection>> GifSectionsValue(
|
rpl::producer<std::vector<GifSection>> GifSectionsValue(
|
||||||
not_null<Main::Session*> session) {
|
not_null<Main::Session*> session) {
|
||||||
const auto config = &session->account().appConfig();
|
const auto config = &session->appConfig();
|
||||||
return config->value(
|
return config->value(
|
||||||
) | rpl::map([=] {
|
) | rpl::map([=] {
|
||||||
return config->get<std::vector<QString>>(
|
return config->get<std::vector<QString>>(
|
||||||
|
|
|
@ -21,7 +21,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/ui_utility.h"
|
#include "ui/ui_utility.h"
|
||||||
#include "ui/chat/more_chats_bar.h"
|
#include "ui/chat/more_chats_bar.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
|
|
||||||
|
@ -33,7 +32,7 @@ constexpr auto kLoadExceptionsAfter = 100;
|
||||||
constexpr auto kLoadExceptionsPerRequest = 100;
|
constexpr auto kLoadExceptionsPerRequest = 100;
|
||||||
|
|
||||||
[[nodiscard]] crl::time RequestUpdatesEach(not_null<Session*> owner) {
|
[[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)
|
return appConfig->get<int>(u"chatlist_update_period"_q, 3600)
|
||||||
* crl::time(1000);
|
* crl::time(1000);
|
||||||
}
|
}
|
||||||
|
@ -320,7 +319,7 @@ not_null<Dialogs::MainList*> ChatFilters::chatsList(FilterId filterId) {
|
||||||
auto &pointer = _chatsLists[filterId];
|
auto &pointer = _chatsLists[filterId];
|
||||||
if (!pointer) {
|
if (!pointer) {
|
||||||
auto limit = rpl::single(rpl::empty_value()) | rpl::then(
|
auto limit = rpl::single(rpl::empty_value()) | rpl::then(
|
||||||
_owner->session().account().appConfig().refreshed()
|
_owner->session().appConfig().refreshed()
|
||||||
) | rpl::map([=] {
|
) | rpl::map([=] {
|
||||||
return _owner->pinnedChatsLimit(filterId);
|
return _owner->pinnedChatsLimit(filterId);
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,7 +10,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "history/history_item.h"
|
#include "history/history_item.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/session/send_as_peers.h"
|
#include "main/session/send_as_peers.h"
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
|
@ -100,7 +99,7 @@ constexpr auto kTopReactionsLimit = 14;
|
||||||
|
|
||||||
[[nodiscard]] int SentReactionsLimit(not_null<HistoryItem*> item) {
|
[[nodiscard]] int SentReactionsLimit(not_null<HistoryItem*> item) {
|
||||||
const auto session = &item->history()->session();
|
const auto session = &item->history()->session();
|
||||||
const auto config = &session->account().appConfig();
|
const auto config = &session->appConfig();
|
||||||
return session->premium()
|
return session->premium()
|
||||||
? config->get<int>("reactions_user_max_premium", 3)
|
? config->get<int>("reactions_user_max_premium", 3)
|
||||||
: config->get<int>("reactions_user_max_default", 1);
|
: config->get<int>("reactions_user_max_default", 1);
|
||||||
|
|
|
@ -31,7 +31,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/boxes/confirm_box.h"
|
#include "ui/boxes/confirm_box.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_session_settings.h"
|
#include "main/main_session_settings.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_domain.h"
|
#include "main/main_domain.h"
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "mtproto/mtproto_config.h"
|
#include "mtproto/mtproto_config.h"
|
||||||
|
@ -501,7 +500,7 @@ auto PeerData::unavailableReasons() const
|
||||||
|
|
||||||
QString PeerData::computeUnavailableReason() const {
|
QString PeerData::computeUnavailableReason() const {
|
||||||
const auto &list = unavailableReasons();
|
const auto &list = unavailableReasons();
|
||||||
const auto &config = session().account().appConfig();
|
const auto &config = session().appConfig();
|
||||||
const auto skip = config.get<std::vector<QString>>(
|
const auto skip = config.get<std::vector<QString>>(
|
||||||
"ignore_restriction_reasons",
|
"ignore_restriction_reasons",
|
||||||
std::vector<QString>());
|
std::vector<QString>());
|
||||||
|
|
|
@ -16,7 +16,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "data/data_message_reactions.h"
|
#include "data/data_message_reactions.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "ui/image/image_prepare.h"
|
#include "ui/image/image_prepare.h"
|
||||||
#include "base/unixtime.h"
|
#include "base/unixtime.h"
|
||||||
|
@ -568,12 +567,12 @@ int UniqueReactionsLimit(not_null<Main::AppConfig*> config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int UniqueReactionsLimit(not_null<PeerData*> peer) {
|
int UniqueReactionsLimit(not_null<PeerData*> peer) {
|
||||||
return UniqueReactionsLimit(&peer->session().account().appConfig());
|
return UniqueReactionsLimit(&peer->session().appConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<int> UniqueReactionsLimitValue(
|
rpl::producer<int> UniqueReactionsLimitValue(
|
||||||
not_null<PeerData*> peer) {
|
not_null<PeerData*> peer) {
|
||||||
const auto config = &peer->session().account().appConfig();
|
const auto config = &peer->session().appConfig();
|
||||||
return config->value(
|
return config->value(
|
||||||
) | rpl::map([=] {
|
) | rpl::map([=] {
|
||||||
return UniqueReactionsLimit(config);
|
return UniqueReactionsLimit(config);
|
||||||
|
|
|
@ -7,7 +7,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "data/data_premium_limits.h"
|
#include "data/data_premium_limits.h"
|
||||||
|
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
|
||||||
|
@ -210,7 +209,7 @@ int PremiumLimits::maxBoostLevel() const {
|
||||||
int PremiumLimits::appConfigLimit(
|
int PremiumLimits::appConfigLimit(
|
||||||
const QString &key,
|
const QString &key,
|
||||||
int fallback) const {
|
int fallback) const {
|
||||||
return _session->account().appConfig().get<int>(key, fallback);
|
return _session->appConfig().get<int>(key, fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PremiumLimits::isPremium() const {
|
bool PremiumLimits::isPremium() const {
|
||||||
|
@ -222,73 +221,73 @@ LevelLimits::LevelLimits(not_null<Main::Session*> session)
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelColorLevelMin() const {
|
int LevelLimits::channelColorLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_color_level_min"_q,
|
u"channel_color_level_min"_q,
|
||||||
5);
|
5);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelBgIconLevelMin() const {
|
int LevelLimits::channelBgIconLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_bg_icon_level_min"_q,
|
u"channel_bg_icon_level_min"_q,
|
||||||
4);
|
4);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelProfileBgIconLevelMin() const {
|
int LevelLimits::channelProfileBgIconLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_profile_bg_icon_level_min"_q,
|
u"channel_profile_bg_icon_level_min"_q,
|
||||||
7);
|
7);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelEmojiStatusLevelMin() const {
|
int LevelLimits::channelEmojiStatusLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_emoji_status_level_min"_q,
|
u"channel_emoji_status_level_min"_q,
|
||||||
8);
|
8);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelWallpaperLevelMin() const {
|
int LevelLimits::channelWallpaperLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_wallpaper_level_min"_q,
|
u"channel_wallpaper_level_min"_q,
|
||||||
9);
|
9);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::channelCustomWallpaperLevelMin() const {
|
int LevelLimits::channelCustomWallpaperLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"channel_custom_wallpaper_level_min"_q,
|
u"channel_custom_wallpaper_level_min"_q,
|
||||||
10);
|
10);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupTranscribeLevelMin() const {
|
int LevelLimits::groupTranscribeLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_transcribe_level_min"_q,
|
u"group_transcribe_level_min"_q,
|
||||||
6);
|
6);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupEmojiStickersLevelMin() const {
|
int LevelLimits::groupEmojiStickersLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_emoji_stickers_level_min"_q,
|
u"group_emoji_stickers_level_min"_q,
|
||||||
4);
|
4);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupProfileBgIconLevelMin() const {
|
int LevelLimits::groupProfileBgIconLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_profile_bg_icon_level_min"_q,
|
u"group_profile_bg_icon_level_min"_q,
|
||||||
5);
|
5);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupEmojiStatusLevelMin() const {
|
int LevelLimits::groupEmojiStatusLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_emoji_status_level_min"_q,
|
u"group_emoji_status_level_min"_q,
|
||||||
8);
|
8);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupWallpaperLevelMin() const {
|
int LevelLimits::groupWallpaperLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_wallpaper_level_min"_q,
|
u"group_wallpaper_level_min"_q,
|
||||||
9);
|
9);
|
||||||
}
|
}
|
||||||
|
|
||||||
int LevelLimits::groupCustomWallpaperLevelMin() const {
|
int LevelLimits::groupCustomWallpaperLevelMin() const {
|
||||||
return _session->account().appConfig().get<int>(
|
return _session->appConfig().get<int>(
|
||||||
u"group_custom_wallpaper_level_min"_q,
|
u"group_custom_wallpaper_level_min"_q,
|
||||||
10);
|
10);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_session_settings.h"
|
#include "main/main_session_settings.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
|
@ -242,7 +241,7 @@ Session::Session(not_null<Main::Session*> session)
|
||||||
, _bigFileCache(Core::App().databases().get(
|
, _bigFileCache(Core::App().databases().get(
|
||||||
_session->local().cacheBigFilePath(),
|
_session->local().cacheBigFilePath(),
|
||||||
_session->local().cacheBigFileSettings()))
|
_session->local().cacheBigFileSettings()))
|
||||||
, _groupFreeTranscribeLevel(session->account().appConfig().value(
|
, _groupFreeTranscribeLevel(session->appConfig().value(
|
||||||
) | rpl::map([limits = Data::LevelLimits(session)] {
|
) | rpl::map([limits = Data::LevelLimits(session)] {
|
||||||
return limits.groupTranscribeLevelMin();
|
return limits.groupTranscribeLevelMin();
|
||||||
}))
|
}))
|
||||||
|
@ -2205,7 +2204,7 @@ rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
||||||
// We always use premium limit in the MainList limit producer,
|
// We always use premium limit in the MainList limit producer,
|
||||||
// because it slices the list to that limit. We don't want to slice
|
// 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.
|
// 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)] {
|
) | rpl::map([folder, limits = Data::PremiumLimits(_session)] {
|
||||||
return folder
|
return folder
|
||||||
? limits.dialogsFolderPinnedPremium()
|
? limits.dialogsFolderPinnedPremium()
|
||||||
|
@ -2219,7 +2218,7 @@ rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
||||||
// We always use premium limit in the MainList limit producer,
|
// We always use premium limit in the MainList limit producer,
|
||||||
// because it slices the list to that limit. We don't want to slice
|
// 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.
|
// 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)] {
|
) | rpl::map([limits = Data::PremiumLimits(_session)] {
|
||||||
return limits.dialogFiltersChatsPremium();
|
return limits.dialogFiltersChatsPremium();
|
||||||
});
|
});
|
||||||
|
@ -2227,7 +2226,7 @@ rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
||||||
|
|
||||||
rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
||||||
not_null<Data::Forum*> forum) const {
|
not_null<Data::Forum*> forum) const {
|
||||||
return _session->account().appConfig().value(
|
return _session->appConfig().value(
|
||||||
) | rpl::map([limits = Data::PremiumLimits(_session)] {
|
) | rpl::map([limits = Data::PremiumLimits(_session)] {
|
||||||
return limits.topicsPinnedCurrent();
|
return limits.topicsPinnedCurrent();
|
||||||
});
|
});
|
||||||
|
@ -2239,7 +2238,7 @@ rpl::producer<int> Session::maxPinnedChatsLimitValue(
|
||||||
// We always use premium limit in the MainList limit producer,
|
// We always use premium limit in the MainList limit producer,
|
||||||
// because it slices the list to that limit. We don't want to slice
|
// 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.
|
// 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)] {
|
) | rpl::map([limits = Data::PremiumLimits(_session)] {
|
||||||
return limits.savedSublistsPinnedPremium();
|
return limits.savedSublistsPinnedPremium();
|
||||||
});
|
});
|
||||||
|
|
|
@ -8,7 +8,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/stickers/data_custom_emoji.h"
|
#include "data/stickers/data_custom_emoji.h"
|
||||||
|
|
||||||
#include "chat_helpers/stickers_emoji_pack.h"
|
#include "chat_helpers/stickers_emoji_pack.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "data/data_channel.h"
|
#include "data/data_channel.h"
|
||||||
|
@ -441,7 +440,7 @@ Ui::CustomEmoji::Preview CustomEmojiLoader::preview() {
|
||||||
CustomEmojiManager::CustomEmojiManager(not_null<Session*> owner)
|
CustomEmojiManager::CustomEmojiManager(not_null<Session*> owner)
|
||||||
: _owner(owner)
|
: _owner(owner)
|
||||||
, _repaintTimer([=] { invokeRepaints(); }) {
|
, _repaintTimer([=] { invokeRepaints(); }) {
|
||||||
const auto appConfig = &owner->session().account().appConfig();
|
const auto appConfig = &owner->session().appConfig();
|
||||||
appConfig->value(
|
appConfig->value(
|
||||||
) | rpl::take_while([=] {
|
) | rpl::take_while([=] {
|
||||||
return !_coloredSetId;
|
return !_coloredSetId;
|
||||||
|
|
|
@ -26,7 +26,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "core/application.h"
|
#include "core/application.h"
|
||||||
#include "core/core_settings.h"
|
#include "core/core_settings.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "mtproto/mtproto_config.h"
|
#include "mtproto/mtproto_config.h"
|
||||||
#include "ui/toast/toast.h"
|
#include "ui/toast/toast.h"
|
||||||
|
@ -1321,7 +1320,7 @@ std::vector<not_null<DocumentData*>> Stickers::getListByEmoji(
|
||||||
|
|
||||||
ranges::sort(result, std::greater<>(), &StickerWithDate::date);
|
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*>>();
|
auto mixed = std::vector<not_null<DocumentData*>>();
|
||||||
mixed.reserve(result.size());
|
mixed.reserve(result.size());
|
||||||
auto premiumIndex = 0, nonPremiumIndex = 0;
|
auto premiumIndex = 0, nonPremiumIndex = 0;
|
||||||
|
|
|
@ -9,7 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
|
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_app_config_values.h"
|
#include "main/main_app_config_values.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
@ -118,7 +117,7 @@ void AddPhoneMenu(not_null<Ui::PopupMenu*> menu, not_null<UserData*> user) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
using Strings = std::vector<QString>;
|
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,
|
u"fragment_prefixes"_q,
|
||||||
std::vector<QString>());
|
std::vector<QString>());
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,7 +13,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "history/view/media/history_view_sticker_player.h"
|
#include "history/view/media/history_view_sticker_player.h"
|
||||||
#include "info/userpic/info_userpic_emoji_builder_common.h"
|
#include "info/userpic/info_userpic_emoji_builder_common.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "ui/painter.h"
|
#include "ui/painter.h"
|
||||||
|
@ -171,7 +170,7 @@ EmojiUserpic::EmojiUserpic(
|
||||||
|
|
||||||
void EmojiUserpic::setDocument(not_null<DocumentData*> document) {
|
void EmojiUserpic::setDocument(not_null<DocumentData*> document) {
|
||||||
if (!_playOnce.has_value()) {
|
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);
|
_playOnce = !c.get<bool>(u"upload_markup_video"_q, false);
|
||||||
}
|
}
|
||||||
_painter.setDocument(document, [=] { update(); });
|
_painter.setDocument(document, [=] { update(); });
|
||||||
|
|
|
@ -223,4 +223,10 @@ void AppConfig::dismissSuggestion(const QString &key) {
|
||||||
)).send();
|
)).send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AppConfig::newRequirePremiumFree() const {
|
||||||
|
return get<bool>(
|
||||||
|
u"new_noncontact_peers_require_premium_without_ownpremium"_q,
|
||||||
|
false);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Main
|
} // namespace Main
|
||||||
|
|
|
@ -54,6 +54,8 @@ public:
|
||||||
const QString &key) const;
|
const QString &key) const;
|
||||||
void dismissSuggestion(const QString &key);
|
void dismissSuggestion(const QString &key);
|
||||||
|
|
||||||
|
[[nodiscard]] bool newRequirePremiumFree() const;
|
||||||
|
|
||||||
void refresh();
|
void refresh();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -7,7 +7,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "main/main_app_config_values.h"
|
#include "main/main_app_config_values.h"
|
||||||
|
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
|
||||||
|
@ -15,7 +14,7 @@ namespace AppConfig {
|
||||||
|
|
||||||
std::optional<QString> FragmentLink(not_null<Main::Session*> session) {
|
std::optional<QString> FragmentLink(not_null<Main::Session*> session) {
|
||||||
using Strings = std::vector<QString>;
|
using Strings = std::vector<QString>;
|
||||||
const auto domains = session->account().appConfig().get<Strings>(
|
const auto domains = session->appConfig().get<Strings>(
|
||||||
u"whitelisted_domains"_q,
|
u"whitelisted_domains"_q,
|
||||||
std::vector<QString>());
|
std::vector<QString>());
|
||||||
const auto proj = [&, domain = u"fragment"_q](const QString &p) {
|
const auto proj = [&, domain = u"fragment"_q](const QString &p) {
|
||||||
|
|
|
@ -138,10 +138,10 @@ Session::Session(
|
||||||
}, _lifetime);
|
}, _lifetime);
|
||||||
|
|
||||||
#ifndef OS_MAC_STORE
|
#ifndef OS_MAC_STORE
|
||||||
_account->appConfig().value(
|
appConfig().value(
|
||||||
) | rpl::start_with_next([=] {
|
) | rpl::start_with_next([=] {
|
||||||
_premiumPossible = !_account->appConfig().get<bool>(
|
_premiumPossible = !appConfig().get<bool>(
|
||||||
"premium_purchase_blocked",
|
u"premium_purchase_blocked"_q,
|
||||||
true);
|
true);
|
||||||
}, _lifetime);
|
}, _lifetime);
|
||||||
#endif // OS_MAC_STORE
|
#endif // OS_MAC_STORE
|
||||||
|
@ -227,6 +227,10 @@ Storage::Domain &Session::domainLocal() const {
|
||||||
return _account->domainLocal();
|
return _account->domainLocal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AppConfig &Session::appConfig() const {
|
||||||
|
return _account->appConfig();
|
||||||
|
}
|
||||||
|
|
||||||
void Session::notifyDownloaderTaskFinished() {
|
void Session::notifyDownloaderTaskFinished() {
|
||||||
downloader().notifyTaskFinished();
|
downloader().notifyTaskFinished();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ struct ColorIndicesCompressed;
|
||||||
namespace Main {
|
namespace Main {
|
||||||
|
|
||||||
class Account;
|
class Account;
|
||||||
|
class AppConfig;
|
||||||
class Domain;
|
class Domain;
|
||||||
class SessionSettings;
|
class SessionSettings;
|
||||||
class SendAsPeers;
|
class SendAsPeers;
|
||||||
|
@ -83,6 +84,8 @@ public:
|
||||||
[[nodiscard]] Domain &domain() const;
|
[[nodiscard]] Domain &domain() const;
|
||||||
[[nodiscard]] Storage::Domain &domainLocal() const;
|
[[nodiscard]] Storage::Domain &domainLocal() const;
|
||||||
|
|
||||||
|
[[nodiscard]] AppConfig &appConfig() const;
|
||||||
|
|
||||||
[[nodiscard]] bool premium() const;
|
[[nodiscard]] bool premium() const;
|
||||||
[[nodiscard]] bool premiumPossible() const;
|
[[nodiscard]] bool premiumPossible() const;
|
||||||
[[nodiscard]] rpl::producer<bool> premiumPossibleValue() const;
|
[[nodiscard]] rpl::producer<bool> premiumPossibleValue() const;
|
||||||
|
|
|
@ -82,7 +82,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "main/main_session_settings.h"
|
#include "main/main_session_settings.h"
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "settings/settings_premium.h"
|
#include "settings/settings_premium.h"
|
||||||
#include "support/support_helper.h"
|
#include "support/support_helper.h"
|
||||||
#include "storage/storage_user_photos.h"
|
#include "storage/storage_user_photos.h"
|
||||||
|
@ -1885,7 +1884,7 @@ void MainWidget::showNonPremiumLimitToast(bool download) {
|
||||||
const auto link = download
|
const auto link = download
|
||||||
? tr::lng_limit_download_subscribe_link(tr::now)
|
? tr::lng_limit_download_subscribe_link(tr::now)
|
||||||
: tr::lng_limit_upload_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_download"_q
|
||||||
: u"upload_premium_speedup_upload"_q, 10.);
|
: u"upload_premium_speedup_upload"_q, 10.);
|
||||||
const auto percent = int(base::SafeRound(better * 100.));
|
const auto percent = int(base::SafeRound(better * 100.));
|
||||||
|
|
|
@ -15,7 +15,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "history/history_item.h"
|
#include "history/history_item.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/settings_common.h" // IconDescriptor.
|
#include "settings/settings_common.h" // IconDescriptor.
|
||||||
|
@ -35,13 +34,13 @@ namespace AntiSpamMenu {
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
[[nodiscard]] int EnableAntiSpamMinMembers(not_null<ChannelData*> channel) {
|
[[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,
|
u"telegram_antispam_group_size_min"_q,
|
||||||
100);
|
100);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] UserId AntiSpamUserId(not_null<ChannelData*> channel) {
|
[[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,
|
u"telegram_antispam_user_id"_q,
|
||||||
QString());
|
QString());
|
||||||
return UserId(id.toULongLong());
|
return UserId(id.toULongLong());
|
||||||
|
|
|
@ -25,7 +25,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "history/view/history_view_element.h"
|
#include "history/view/history_view_element.h"
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/business/settings_recipients_helper.h"
|
#include "settings/business/settings_recipients_helper.h"
|
||||||
|
@ -152,7 +151,7 @@ private:
|
||||||
not_null<Main::Session*> session,
|
not_null<Main::Session*> session,
|
||||||
const QString &key,
|
const QString &key,
|
||||||
int defaultValue) {
|
int defaultValue) {
|
||||||
return session->account().appConfig().get<int>(key, defaultValue);
|
return session->appConfig().get<int>(key, defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] not_null<Ui::InputField*> AddPartInput(
|
[[nodiscard]] not_null<Ui::InputField*> AddPartInput(
|
||||||
|
|
|
@ -25,7 +25,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_document.h"
|
#include "data/data_document.h"
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/business/settings_recipients_helper.h"
|
#include "settings/business/settings_recipients_helper.h"
|
||||||
|
@ -726,7 +725,7 @@ void ChatLinks::setupContent(
|
||||||
|
|
||||||
Ui::AddSkip(content);
|
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,
|
u"business_chat_links_limit"_q,
|
||||||
100);
|
100);
|
||||||
const auto add = content->add(
|
const auto add = content->add(
|
||||||
|
|
|
@ -14,7 +14,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "data/data_user.h"
|
#include "data/data_user.h"
|
||||||
#include "history/history.h"
|
#include "history/history.h"
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/settings_common.h"
|
#include "settings/settings_common.h"
|
||||||
|
@ -395,25 +394,25 @@ rpl::producer<bool> ShortcutExistsValue(
|
||||||
}
|
}
|
||||||
|
|
||||||
int ShortcutsLimit(not_null<Main::Session*> session) {
|
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);
|
return appConfig->get<int>("quick_replies_limit", 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<int> ShortcutsLimitValue(not_null<Main::Session*> session) {
|
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 appConfig->value() | rpl::map([=] {
|
||||||
return ShortcutsLimit(session);
|
return ShortcutsLimit(session);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
int ShortcutMessagesLimit(not_null<Main::Session*> 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);
|
return appConfig->get<int>("quick_reply_messages_limit", 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<int> ShortcutMessagesLimitValue(
|
rpl::producer<int> ShortcutMessagesLimitValue(
|
||||||
not_null<Main::Session*> session) {
|
not_null<Main::Session*> session) {
|
||||||
const auto appConfig = &session->account().appConfig();
|
const auto appConfig = &session->appConfig();
|
||||||
return appConfig->value() | rpl::map([=] {
|
return appConfig->value() | rpl::map([=] {
|
||||||
return ShortcutMessagesLimit(session);
|
return ShortcutMessagesLimit(session);
|
||||||
});
|
});
|
||||||
|
|
|
@ -20,7 +20,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "info/info_wrap_widget.h" // Info::Wrap.
|
#include "info/info_wrap_widget.h" // Info::Wrap.
|
||||||
#include "info/settings/info_settings_widget.h" // SectionCustomTopBarData.
|
#include "info/settings/info_settings_widget.h" // SectionCustomTopBarData.
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/business/settings_away_message.h"
|
#include "settings/business/settings_away_message.h"
|
||||||
|
@ -256,10 +255,10 @@ void AddBusinessSummary(
|
||||||
auto icons = std::vector<const style::icon *>();
|
auto icons = std::vector<const style::icon *>();
|
||||||
icons.reserve(int(entryMap.size()));
|
icons.reserve(int(entryMap.size()));
|
||||||
{
|
{
|
||||||
const auto &account = controller->session().account();
|
const auto session = &controller->session();
|
||||||
const auto mtpOrder = /*account.appConfig().get<Order>(
|
const auto mtpOrder = session->appConfig().get<Order>(
|
||||||
"business_promo_order",
|
"business_promo_order",
|
||||||
FallbackOrder())*/FallbackOrder(); AssertIsDebug();
|
FallbackOrder());
|
||||||
const auto processEntry = [&](Entry &entry) {
|
const auto processEntry = [&](Entry &entry) {
|
||||||
icons.push_back(entry.icon);
|
icons.push_back(entry.icon);
|
||||||
addRow(entry);
|
addRow(entry);
|
||||||
|
@ -690,7 +689,7 @@ void ShowBusiness(not_null<Window::SessionController*> controller) {
|
||||||
|
|
||||||
std::vector<PremiumFeature> BusinessFeaturesOrder(
|
std::vector<PremiumFeature> BusinessFeaturesOrder(
|
||||||
not_null<::Main::Session*> session) {
|
not_null<::Main::Session*> session) {
|
||||||
const auto mtpOrder = session->account().appConfig().get<Order>(
|
const auto mtpOrder = session->appConfig().get<Order>(
|
||||||
"business_promo_order",
|
"business_promo_order",
|
||||||
FallbackOrder());
|
FallbackOrder());
|
||||||
return ranges::views::all(
|
return ranges::views::all(
|
||||||
|
|
|
@ -375,7 +375,7 @@ void SetupSections(
|
||||||
} else {
|
} else {
|
||||||
const auto enabled = [=] {
|
const auto enabled = [=] {
|
||||||
const auto result = account->appConfig().get<bool>(
|
const auto result = account->appConfig().get<bool>(
|
||||||
"dialog_filters_enabled",
|
u"dialog_filters_enabled"_q,
|
||||||
false);
|
false);
|
||||||
if (result) {
|
if (result) {
|
||||||
preload();
|
preload();
|
||||||
|
|
|
@ -26,7 +26,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "info/profile/info_profile_values.h"
|
#include "info/profile/info_profile_values.h"
|
||||||
#include "info/settings/info_settings_widget.h" // SectionCustomTopBarData.
|
#include "info/settings/info_settings_widget.h" // SectionCustomTopBarData.
|
||||||
#include "lang/lang_keys.h"
|
#include "lang/lang_keys.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
#include "settings/settings_common_session.h"
|
#include "settings/settings_common_session.h"
|
||||||
|
@ -1331,12 +1330,12 @@ void ShowEmojiStatusPremium(
|
||||||
void StartPremiumPayment(
|
void StartPremiumPayment(
|
||||||
not_null<Window::SessionController*> controller,
|
not_null<Window::SessionController*> controller,
|
||||||
const QString &ref) {
|
const QString &ref) {
|
||||||
const auto account = &controller->session().account();
|
const auto session = &controller->session();
|
||||||
const auto username = account->appConfig().get<QString>(
|
const auto username = session->appConfig().get<QString>(
|
||||||
"premium_bot_username",
|
u"premium_bot_username"_q,
|
||||||
QString());
|
QString());
|
||||||
const auto slug = account->appConfig().get<QString>(
|
const auto slug = session->appConfig().get<QString>(
|
||||||
"premium_invoice_slug",
|
u"premium_invoice_slug"_q,
|
||||||
QString());
|
QString());
|
||||||
if (!username.isEmpty()) {
|
if (!username.isEmpty()) {
|
||||||
controller->showPeerByLink(Window::PeerByLinkInfo{
|
controller->showPeerByLink(Window::PeerByLinkInfo{
|
||||||
|
@ -1539,7 +1538,7 @@ not_null<Ui::GradientButton*> CreateSubscribeButton(
|
||||||
|
|
||||||
std::vector<PremiumFeature> PremiumFeaturesOrder(
|
std::vector<PremiumFeature> PremiumFeaturesOrder(
|
||||||
not_null<Main::Session*> session) {
|
not_null<Main::Session*> session) {
|
||||||
const auto mtpOrder = session->account().appConfig().get<Order>(
|
const auto mtpOrder = session->appConfig().get<Order>(
|
||||||
"premium_promo_order",
|
"premium_promo_order",
|
||||||
FallbackOrder());
|
FallbackOrder());
|
||||||
return ranges::views::all(
|
return ranges::views::all(
|
||||||
|
@ -1683,8 +1682,8 @@ void AddSummaryPremium(
|
||||||
auto icons = std::vector<const style::icon *>();
|
auto icons = std::vector<const style::icon *>();
|
||||||
icons.reserve(int(entryMap.size()));
|
icons.reserve(int(entryMap.size()));
|
||||||
{
|
{
|
||||||
const auto &account = controller->session().account();
|
const auto session = &controller->session();
|
||||||
const auto mtpOrder = account.appConfig().get<Order>(
|
const auto mtpOrder = session->appConfig().get<Order>(
|
||||||
"premium_promo_order",
|
"premium_promo_order",
|
||||||
FallbackOrder());
|
FallbackOrder());
|
||||||
const auto processEntry = [&](Entry &entry) {
|
const auto processEntry = [&](Entry &entry) {
|
||||||
|
|
|
@ -64,7 +64,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
#include "ui/boxes/calendar_box.h"
|
#include "ui/boxes/calendar_box.h"
|
||||||
#include "ui/boxes/confirm_box.h"
|
#include "ui/boxes/confirm_box.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "main/main_account.h"
|
|
||||||
#include "main/main_app_config.h"
|
#include "main/main_app_config.h"
|
||||||
#include "main/main_domain.h"
|
#include "main/main_domain.h"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
@ -1230,7 +1229,7 @@ bool SessionController::skipNonPremiumLimitToast(bool download) const {
|
||||||
const auto last = download
|
const auto last = download
|
||||||
? session().settings().lastNonPremiumLimitDownload()
|
? session().settings().lastNonPremiumLimitDownload()
|
||||||
: session().settings().lastNonPremiumLimitUpload();
|
: 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,
|
u"upload_premium_speedup_notify_period"_q,
|
||||||
3600);
|
3600);
|
||||||
return (last && now < last + delay && now > last - delay);
|
return (last && now < last + delay && now > last - delay);
|
||||||
|
|
Loading…
Reference in a new issue