diff --git a/Telegram/SourceFiles/api/api_ringtones.cpp b/Telegram/SourceFiles/api/api_ringtones.cpp index c7954a883..40b07e3f3 100644 --- a/Telegram/SourceFiles/api/api_ringtones.cpp +++ b/Telegram/SourceFiles/api/api_ringtones.cpp @@ -192,21 +192,21 @@ void Ringtones::remove(DocumentId id) { } int64 Ringtones::maxSize() const { - return int64(base::SafeRound(_session->account().appConfig().get( + return _session->account().appConfig().get( "ringtone_size_max", - 100 * 1024))); + 100 * 1024); } int Ringtones::maxSavedCount() const { - return int(base::SafeRound(_session->account().appConfig().get( + return _session->account().appConfig().get( "ringtone_saved_count_max", - 100))); + 100); } int Ringtones::maxDuration() const { - return int(base::SafeRound(_session->account().appConfig().get( + return _session->account().appConfig().get( "ringtone_duration_max", - 5))); + 5); } } // namespace Api diff --git a/Telegram/SourceFiles/api/api_who_reacted.cpp b/Telegram/SourceFiles/api/api_who_reacted.cpp index 9a4c6d554..48958e6d3 100644 --- a/Telegram/SourceFiles/api/api_who_reacted.cpp +++ b/Telegram/SourceFiles/api/api_who_reacted.cpp @@ -567,15 +567,15 @@ bool WhoReadExists(not_null item) { return false; } const auto &appConfig = peer->session().account().appConfig(); - const auto expirePeriod = TimeId(appConfig.get( + const auto expirePeriod = appConfig.get( "chat_read_mark_expire_period", - 7 * 86400.)); - if (item->date() + expirePeriod <= base::unixtime::now()) { + 7 * 86400); + if (item->date() + int64(expirePeriod) <= int64(base::unixtime::now())) { return false; } - const auto maxCount = int(appConfig.get( + const auto maxCount = appConfig.get( "chat_read_mark_size_threshold", - 50)); + 50); const auto count = megagroup ? megagroup->membersCount() : chat->count; if (count <= 0 || count > maxCount) { return false; diff --git a/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.cpp b/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.cpp index 60c7cc82b..7642c050a 100644 --- a/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.cpp +++ b/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.cpp @@ -99,8 +99,8 @@ private: [[nodiscard]] int Limit( not_null session, const QString &key, - double fallback) { - return session->account().appConfig().get(key, fallback); + int fallback) { + return session->account().appConfig().get(key, fallback); } [[nodiscard]] int Limit(not_null session) { diff --git a/Telegram/SourceFiles/calls/group/calls_group_members.cpp b/Telegram/SourceFiles/calls/group/calls_group_members.cpp index a0957c74d..4706060f5 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_members.cpp @@ -30,8 +30,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" // Core::App().domain, .activeWindow. #include "main/main_domain.h" // Core::App().domain().activate. #include "main/main_session.h" -#include "main/main_account.h" // account().appConfig(). -#include "main/main_app_config.h" // appConfig().get(). #include "info/profile/info_profile_values.h" // Info::Profile::NameValue. #include "boxes/peers/edit_participants_box.h" // SubscribeToMigration. #include "boxes/peers/prepare_short_info_box.h" // PrepareShortInfo... diff --git a/Telegram/SourceFiles/data/data_peer_values.cpp b/Telegram/SourceFiles/data/data_peer_values.cpp index 97eee770e..b9e15930c 100644 --- a/Telegram/SourceFiles/data/data_peer_values.cpp +++ b/Telegram/SourceFiles/data/data_peer_values.cpp @@ -540,8 +540,7 @@ rpl::producer UniqueReactionsLimitValue( const auto config = &session->account().appConfig(); return config->value( ) | rpl::map([=] { - return int(base::SafeRound( - config->get("reactions_uniq_max", 11))); + return config->get("reactions_uniq_max", 11); }) | rpl::distinct_until_changed(); } diff --git a/Telegram/SourceFiles/data/data_premium_limits.cpp b/Telegram/SourceFiles/data/data_premium_limits.cpp index 8dd436250..e674d116d 100644 --- a/Telegram/SourceFiles/data/data_premium_limits.cpp +++ b/Telegram/SourceFiles/data/data_premium_limits.cpp @@ -18,10 +18,10 @@ PremiumLimits::PremiumLimits(not_null session) } int PremiumLimits::channelsDefault() const { - return appConfigLimit("channels_limit_default", 500.); + return appConfigLimit("channels_limit_default", 500); } int PremiumLimits::channelsPremium() const { - return appConfigLimit("channels_limit_premium", 1000.); + return appConfigLimit("channels_limit_premium", 1000); } int PremiumLimits::channelsCurrent() const { return isPremium() @@ -30,10 +30,10 @@ int PremiumLimits::channelsCurrent() const { } int PremiumLimits::gifsDefault() const { - return appConfigLimit("saved_gifs_limit_default", 200.); + return appConfigLimit("saved_gifs_limit_default", 200); } int PremiumLimits::gifsPremium() const { - return appConfigLimit("saved_gifs_limit_premium", 400.); + return appConfigLimit("saved_gifs_limit_premium", 400); } int PremiumLimits::gifsCurrent() const { return isPremium() @@ -42,10 +42,10 @@ int PremiumLimits::gifsCurrent() const { } int PremiumLimits::stickersFavedDefault() const { - return appConfigLimit("stickers_faved_limit_default", 5.); + return appConfigLimit("stickers_faved_limit_default", 5); } int PremiumLimits::stickersFavedPremium() const { - return appConfigLimit("stickers_faved_limit_premium", 10.); + return appConfigLimit("stickers_faved_limit_premium", 10); } int PremiumLimits::stickersFavedCurrent() const { return isPremium() @@ -54,10 +54,10 @@ int PremiumLimits::stickersFavedCurrent() const { } int PremiumLimits::dialogFiltersDefault() const { - return appConfigLimit("dialog_filters_limit_default", 10.); + return appConfigLimit("dialog_filters_limit_default", 10); } int PremiumLimits::dialogFiltersPremium() const { - return appConfigLimit("dialog_filters_limit_premium", 20.); + return appConfigLimit("dialog_filters_limit_premium", 20); } int PremiumLimits::dialogFiltersCurrent() const { return isPremium() @@ -66,10 +66,10 @@ int PremiumLimits::dialogFiltersCurrent() 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 { - return appConfigLimit("dialog_filters_chats_limit_premium", 200.); + return appConfigLimit("dialog_filters_chats_limit_premium", 200); } int PremiumLimits::dialogFiltersChatsCurrent() const { return isPremium() @@ -78,10 +78,10 @@ int PremiumLimits::dialogFiltersChatsCurrent() const { } int PremiumLimits::dialogsPinnedDefault() const { - return appConfigLimit("dialogs_pinned_limit_default", 5.); + return appConfigLimit("dialogs_pinned_limit_default", 5); } int PremiumLimits::dialogsPinnedPremium() const { - return appConfigLimit("dialogs_pinned_limit_premium", 10.); + return appConfigLimit("dialogs_pinned_limit_premium", 10); } int PremiumLimits::dialogsPinnedCurrent() const { return isPremium() @@ -90,10 +90,10 @@ int PremiumLimits::dialogsPinnedCurrent() 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 { - return appConfigLimit("dialogs_folder_pinned_limit_premium", 200.); + return appConfigLimit("dialogs_folder_pinned_limit_premium", 200); } int PremiumLimits::dialogsFolderPinnedCurrent() const { return isPremium() @@ -102,10 +102,10 @@ int PremiumLimits::dialogsFolderPinnedCurrent() const { } int PremiumLimits::channelsPublicDefault() const { - return appConfigLimit("channels_public_limit_default", 10.); + return appConfigLimit("channels_public_limit_default", 10); } int PremiumLimits::channelsPublicPremium() const { - return appConfigLimit("channels_public_limit_premium", 20.); + return appConfigLimit("channels_public_limit_premium", 20); } int PremiumLimits::channelsPublicCurrent() const { return isPremium() @@ -114,10 +114,10 @@ int PremiumLimits::channelsPublicCurrent() const { } int PremiumLimits::captionLengthDefault() const { - return appConfigLimit("caption_length_limit_default", 1024.); + return appConfigLimit("caption_length_limit_default", 1024); } int PremiumLimits::captionLengthPremium() const { - return appConfigLimit("caption_length_limit_premium", 2048.); + return appConfigLimit("caption_length_limit_premium", 2048); } int PremiumLimits::captionLengthCurrent() const { return isPremium() @@ -126,10 +126,10 @@ int PremiumLimits::captionLengthCurrent() const { } int PremiumLimits::uploadMaxDefault() const { - return appConfigLimit("upload_max_fileparts_default", 4000.); + return appConfigLimit("upload_max_fileparts_default", 4000); } int PremiumLimits::uploadMaxPremium() const { - return appConfigLimit("upload_max_fileparts_premium", 8000.); + return appConfigLimit("upload_max_fileparts_premium", 8000); } int PremiumLimits::uploadMaxCurrent() const { return isPremium() @@ -138,10 +138,10 @@ int PremiumLimits::uploadMaxCurrent() const { } int PremiumLimits::aboutLengthDefault() const { - return appConfigLimit("about_length_limit_default", 70.); + return appConfigLimit("about_length_limit_default", 70); } int PremiumLimits::aboutLengthPremium() const { - return appConfigLimit("about_length_limit_premium", 140.); + return appConfigLimit("about_length_limit_premium", 140); } int PremiumLimits::aboutLengthCurrent() const { return isPremium() @@ -151,9 +151,8 @@ int PremiumLimits::aboutLengthCurrent() const { int PremiumLimits::appConfigLimit( const QString &key, - float64 fallback) const { - return int(base::SafeRound( - _session->account().appConfig().get(key, fallback))); + int fallback) const { + return _session->account().appConfig().get(key, fallback); } bool PremiumLimits::isPremium() const { diff --git a/Telegram/SourceFiles/data/data_premium_limits.h b/Telegram/SourceFiles/data/data_premium_limits.h index 331515f80..7b2ca7f37 100644 --- a/Telegram/SourceFiles/data/data_premium_limits.h +++ b/Telegram/SourceFiles/data/data_premium_limits.h @@ -64,7 +64,7 @@ public: private: [[nodiscard]] int appConfigLimit( const QString &key, - float64 fallback) const; + int fallback) const; [[nodiscard]] bool isPremium() const; const not_null _session; diff --git a/Telegram/SourceFiles/main/main_app_config.h b/Telegram/SourceFiles/main/main_app_config.h index 338bd4408..a46c33571 100644 --- a/Telegram/SourceFiles/main/main_app_config.h +++ b/Telegram/SourceFiles/main/main_app_config.h @@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #pragma once #include "mtproto/sender.h" +#include "base/algorithm.h" namespace Main { @@ -23,11 +24,15 @@ public: [[nodiscard]] Type get(const QString &key, Type fallback) const { if constexpr (std::is_same_v) { return getDouble(key, fallback); + } else if constexpr (std::is_same_v) { + return int(base::SafeRound(getDouble(key, double(fallback)))); } else if constexpr (std::is_same_v) { return getString(key, fallback); } else if constexpr (std::is_same_v>) { return getStringArray(key, std::move(fallback)); - } else if constexpr (std::is_same_v>>) { + } else if constexpr (std::is_same_v< + Type, + std::vector>>) { return getStringMapArray(key, std::move(fallback)); } else if constexpr (std::is_same_v) { return getBool(key, fallback);