Add convenient appConfig().get<int>(..).

This commit is contained in:
John Preston 2022-08-02 12:40:55 +03:00
parent b96e09534d
commit 4915ea8ad3
8 changed files with 45 additions and 44 deletions

View file

@ -192,21 +192,21 @@ void Ringtones::remove(DocumentId id) {
} }
int64 Ringtones::maxSize() const { int64 Ringtones::maxSize() const {
return int64(base::SafeRound(_session->account().appConfig().get<double>( return _session->account().appConfig().get<int>(
"ringtone_size_max", "ringtone_size_max",
100 * 1024))); 100 * 1024);
} }
int Ringtones::maxSavedCount() const { int Ringtones::maxSavedCount() const {
return int(base::SafeRound(_session->account().appConfig().get<double>( return _session->account().appConfig().get<int>(
"ringtone_saved_count_max", "ringtone_saved_count_max",
100))); 100);
} }
int Ringtones::maxDuration() const { int Ringtones::maxDuration() const {
return int(base::SafeRound(_session->account().appConfig().get<double>( return _session->account().appConfig().get<int>(
"ringtone_duration_max", "ringtone_duration_max",
5))); 5);
} }
} // namespace Api } // namespace Api

View file

@ -567,15 +567,15 @@ bool WhoReadExists(not_null<HistoryItem*> item) {
return false; return false;
} }
const auto &appConfig = peer->session().account().appConfig(); const auto &appConfig = peer->session().account().appConfig();
const auto expirePeriod = TimeId(appConfig.get<double>( const auto expirePeriod = appConfig.get<int>(
"chat_read_mark_expire_period", "chat_read_mark_expire_period",
7 * 86400.)); 7 * 86400);
if (item->date() + expirePeriod <= base::unixtime::now()) { if (item->date() + int64(expirePeriod) <= int64(base::unixtime::now())) {
return false; return false;
} }
const auto maxCount = int(appConfig.get<double>( const auto maxCount = appConfig.get<int>(
"chat_read_mark_size_threshold", "chat_read_mark_size_threshold",
50)); 50);
const auto count = megagroup ? megagroup->membersCount() : chat->count; const auto count = megagroup ? megagroup->membersCount() : chat->count;
if (count <= 0 || count > maxCount) { if (count <= 0 || count > maxCount) {
return false; return false;

View file

@ -99,8 +99,8 @@ private:
[[nodiscard]] int Limit( [[nodiscard]] int Limit(
not_null<Main::Session*> session, not_null<Main::Session*> session,
const QString &key, const QString &key,
double fallback) { int fallback) {
return session->account().appConfig().get<double>(key, fallback); return session->account().appConfig().get<int>(key, fallback);
} }
[[nodiscard]] int Limit(not_null<Main::Session*> session) { [[nodiscard]] int Limit(not_null<Main::Session*> session) {

View file

@ -30,8 +30,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "core/application.h" // Core::App().domain, .activeWindow. #include "core/application.h" // Core::App().domain, .activeWindow.
#include "main/main_domain.h" // Core::App().domain().activate. #include "main/main_domain.h" // Core::App().domain().activate.
#include "main/main_session.h" #include "main/main_session.h"
#include "main/main_account.h" // account().appConfig().
#include "main/main_app_config.h" // appConfig().get<double>().
#include "info/profile/info_profile_values.h" // Info::Profile::NameValue. #include "info/profile/info_profile_values.h" // Info::Profile::NameValue.
#include "boxes/peers/edit_participants_box.h" // SubscribeToMigration. #include "boxes/peers/edit_participants_box.h" // SubscribeToMigration.
#include "boxes/peers/prepare_short_info_box.h" // PrepareShortInfo... #include "boxes/peers/prepare_short_info_box.h" // PrepareShortInfo...

View file

@ -540,8 +540,7 @@ rpl::producer<int> UniqueReactionsLimitValue(
const auto config = &session->account().appConfig(); const auto config = &session->account().appConfig();
return config->value( return config->value(
) | rpl::map([=] { ) | rpl::map([=] {
return int(base::SafeRound( return config->get<int>("reactions_uniq_max", 11);
config->get<double>("reactions_uniq_max", 11)));
}) | rpl::distinct_until_changed(); }) | rpl::distinct_until_changed();
} }

View file

@ -18,10 +18,10 @@ PremiumLimits::PremiumLimits(not_null<Main::Session*> session)
} }
int PremiumLimits::channelsDefault() const { int PremiumLimits::channelsDefault() const {
return appConfigLimit("channels_limit_default", 500.); return appConfigLimit("channels_limit_default", 500);
} }
int PremiumLimits::channelsPremium() const { int PremiumLimits::channelsPremium() const {
return appConfigLimit("channels_limit_premium", 1000.); return appConfigLimit("channels_limit_premium", 1000);
} }
int PremiumLimits::channelsCurrent() const { int PremiumLimits::channelsCurrent() const {
return isPremium() return isPremium()
@ -30,10 +30,10 @@ int PremiumLimits::channelsCurrent() const {
} }
int PremiumLimits::gifsDefault() const { int PremiumLimits::gifsDefault() const {
return appConfigLimit("saved_gifs_limit_default", 200.); return appConfigLimit("saved_gifs_limit_default", 200);
} }
int PremiumLimits::gifsPremium() const { int PremiumLimits::gifsPremium() const {
return appConfigLimit("saved_gifs_limit_premium", 400.); return appConfigLimit("saved_gifs_limit_premium", 400);
} }
int PremiumLimits::gifsCurrent() const { int PremiumLimits::gifsCurrent() const {
return isPremium() return isPremium()
@ -42,10 +42,10 @@ int PremiumLimits::gifsCurrent() const {
} }
int PremiumLimits::stickersFavedDefault() const { int PremiumLimits::stickersFavedDefault() const {
return appConfigLimit("stickers_faved_limit_default", 5.); return appConfigLimit("stickers_faved_limit_default", 5);
} }
int PremiumLimits::stickersFavedPremium() const { int PremiumLimits::stickersFavedPremium() const {
return appConfigLimit("stickers_faved_limit_premium", 10.); return appConfigLimit("stickers_faved_limit_premium", 10);
} }
int PremiumLimits::stickersFavedCurrent() const { int PremiumLimits::stickersFavedCurrent() const {
return isPremium() return isPremium()
@ -54,10 +54,10 @@ int PremiumLimits::stickersFavedCurrent() const {
} }
int PremiumLimits::dialogFiltersDefault() const { int PremiumLimits::dialogFiltersDefault() const {
return appConfigLimit("dialog_filters_limit_default", 10.); return appConfigLimit("dialog_filters_limit_default", 10);
} }
int PremiumLimits::dialogFiltersPremium() const { int PremiumLimits::dialogFiltersPremium() const {
return appConfigLimit("dialog_filters_limit_premium", 20.); return appConfigLimit("dialog_filters_limit_premium", 20);
} }
int PremiumLimits::dialogFiltersCurrent() const { int PremiumLimits::dialogFiltersCurrent() const {
return isPremium() return isPremium()
@ -66,10 +66,10 @@ int PremiumLimits::dialogFiltersCurrent() const {
} }
int PremiumLimits::dialogFiltersChatsDefault() const { int PremiumLimits::dialogFiltersChatsDefault() const {
return appConfigLimit("dialog_filters_chats_limit_default", 100.); return appConfigLimit("dialog_filters_chats_limit_default", 100);
} }
int PremiumLimits::dialogFiltersChatsPremium() const { int PremiumLimits::dialogFiltersChatsPremium() const {
return appConfigLimit("dialog_filters_chats_limit_premium", 200.); return appConfigLimit("dialog_filters_chats_limit_premium", 200);
} }
int PremiumLimits::dialogFiltersChatsCurrent() const { int PremiumLimits::dialogFiltersChatsCurrent() const {
return isPremium() return isPremium()
@ -78,10 +78,10 @@ int PremiumLimits::dialogFiltersChatsCurrent() const {
} }
int PremiumLimits::dialogsPinnedDefault() const { int PremiumLimits::dialogsPinnedDefault() const {
return appConfigLimit("dialogs_pinned_limit_default", 5.); return appConfigLimit("dialogs_pinned_limit_default", 5);
} }
int PremiumLimits::dialogsPinnedPremium() const { int PremiumLimits::dialogsPinnedPremium() const {
return appConfigLimit("dialogs_pinned_limit_premium", 10.); return appConfigLimit("dialogs_pinned_limit_premium", 10);
} }
int PremiumLimits::dialogsPinnedCurrent() const { int PremiumLimits::dialogsPinnedCurrent() const {
return isPremium() return isPremium()
@ -90,10 +90,10 @@ int PremiumLimits::dialogsPinnedCurrent() const {
} }
int PremiumLimits::dialogsFolderPinnedDefault() const { int PremiumLimits::dialogsFolderPinnedDefault() const {
return appConfigLimit("dialogs_folder_pinned_limit_default", 100.); return appConfigLimit("dialogs_folder_pinned_limit_default", 100);
} }
int PremiumLimits::dialogsFolderPinnedPremium() const { int PremiumLimits::dialogsFolderPinnedPremium() const {
return appConfigLimit("dialogs_folder_pinned_limit_premium", 200.); return appConfigLimit("dialogs_folder_pinned_limit_premium", 200);
} }
int PremiumLimits::dialogsFolderPinnedCurrent() const { int PremiumLimits::dialogsFolderPinnedCurrent() const {
return isPremium() return isPremium()
@ -102,10 +102,10 @@ int PremiumLimits::dialogsFolderPinnedCurrent() const {
} }
int PremiumLimits::channelsPublicDefault() const { int PremiumLimits::channelsPublicDefault() const {
return appConfigLimit("channels_public_limit_default", 10.); return appConfigLimit("channels_public_limit_default", 10);
} }
int PremiumLimits::channelsPublicPremium() const { int PremiumLimits::channelsPublicPremium() const {
return appConfigLimit("channels_public_limit_premium", 20.); return appConfigLimit("channels_public_limit_premium", 20);
} }
int PremiumLimits::channelsPublicCurrent() const { int PremiumLimits::channelsPublicCurrent() const {
return isPremium() return isPremium()
@ -114,10 +114,10 @@ int PremiumLimits::channelsPublicCurrent() const {
} }
int PremiumLimits::captionLengthDefault() const { int PremiumLimits::captionLengthDefault() const {
return appConfigLimit("caption_length_limit_default", 1024.); return appConfigLimit("caption_length_limit_default", 1024);
} }
int PremiumLimits::captionLengthPremium() const { int PremiumLimits::captionLengthPremium() const {
return appConfigLimit("caption_length_limit_premium", 2048.); return appConfigLimit("caption_length_limit_premium", 2048);
} }
int PremiumLimits::captionLengthCurrent() const { int PremiumLimits::captionLengthCurrent() const {
return isPremium() return isPremium()
@ -126,10 +126,10 @@ int PremiumLimits::captionLengthCurrent() const {
} }
int PremiumLimits::uploadMaxDefault() const { int PremiumLimits::uploadMaxDefault() const {
return appConfigLimit("upload_max_fileparts_default", 4000.); return appConfigLimit("upload_max_fileparts_default", 4000);
} }
int PremiumLimits::uploadMaxPremium() const { int PremiumLimits::uploadMaxPremium() const {
return appConfigLimit("upload_max_fileparts_premium", 8000.); return appConfigLimit("upload_max_fileparts_premium", 8000);
} }
int PremiumLimits::uploadMaxCurrent() const { int PremiumLimits::uploadMaxCurrent() const {
return isPremium() return isPremium()
@ -138,10 +138,10 @@ int PremiumLimits::uploadMaxCurrent() const {
} }
int PremiumLimits::aboutLengthDefault() const { int PremiumLimits::aboutLengthDefault() const {
return appConfigLimit("about_length_limit_default", 70.); return appConfigLimit("about_length_limit_default", 70);
} }
int PremiumLimits::aboutLengthPremium() const { int PremiumLimits::aboutLengthPremium() const {
return appConfigLimit("about_length_limit_premium", 140.); return appConfigLimit("about_length_limit_premium", 140);
} }
int PremiumLimits::aboutLengthCurrent() const { int PremiumLimits::aboutLengthCurrent() const {
return isPremium() return isPremium()
@ -151,9 +151,8 @@ int PremiumLimits::aboutLengthCurrent() const {
int PremiumLimits::appConfigLimit( int PremiumLimits::appConfigLimit(
const QString &key, const QString &key,
float64 fallback) const { int fallback) const {
return int(base::SafeRound( return _session->account().appConfig().get<int>(key, fallback);
_session->account().appConfig().get<double>(key, fallback)));
} }
bool PremiumLimits::isPremium() const { bool PremiumLimits::isPremium() const {

View file

@ -64,7 +64,7 @@ public:
private: private:
[[nodiscard]] int appConfigLimit( [[nodiscard]] int appConfigLimit(
const QString &key, const QString &key,
float64 fallback) const; int fallback) const;
[[nodiscard]] bool isPremium() const; [[nodiscard]] bool isPremium() const;
const not_null<Main::Session*> _session; const not_null<Main::Session*> _session;

View file

@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#pragma once #pragma once
#include "mtproto/sender.h" #include "mtproto/sender.h"
#include "base/algorithm.h"
namespace Main { namespace Main {
@ -23,11 +24,15 @@ public:
[[nodiscard]] Type get(const QString &key, Type fallback) const { [[nodiscard]] Type get(const QString &key, Type fallback) const {
if constexpr (std::is_same_v<Type, double>) { if constexpr (std::is_same_v<Type, double>) {
return getDouble(key, fallback); return getDouble(key, fallback);
} else if constexpr (std::is_same_v<Type, int>) {
return int(base::SafeRound(getDouble(key, double(fallback))));
} else if constexpr (std::is_same_v<Type, QString>) { } else if constexpr (std::is_same_v<Type, QString>) {
return getString(key, fallback); return getString(key, fallback);
} else if constexpr (std::is_same_v<Type, std::vector<QString>>) { } else if constexpr (std::is_same_v<Type, std::vector<QString>>) {
return getStringArray(key, std::move(fallback)); return getStringArray(key, std::move(fallback));
} else if constexpr (std::is_same_v<Type, std::vector<std::map<QString, QString>>>) { } else if constexpr (std::is_same_v<
Type,
std::vector<std::map<QString, QString>>>) {
return getStringMapArray(key, std::move(fallback)); return getStringMapArray(key, std::move(fallback));
} else if constexpr (std::is_same_v<Type, bool>) { } else if constexpr (std::is_same_v<Type, bool>) {
return getBool(key, fallback); return getBool(key, fallback);