init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
178
Telegram/SourceFiles/storage/details/storage_settings_scheme.h
Normal file
178
Telegram/SourceFiles/storage/details/storage_settings_scheme.h
Normal file
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
This file is part of Telegram Desktop,
|
||||
the official desktop application for the Telegram messaging service.
|
||||
|
||||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "mtproto/mtproto_dc_options.h"
|
||||
#include "main/main_session_settings.h"
|
||||
#include "storage/storage_account.h"
|
||||
|
||||
namespace MTP {
|
||||
class AuthKey;
|
||||
} // namespace MTP
|
||||
|
||||
namespace Storage {
|
||||
namespace details {
|
||||
|
||||
struct ReadSettingsContext {
|
||||
[[nodiscard]] Main::SessionSettings &sessionSettings() {
|
||||
if (!sessionSettingsStorage) {
|
||||
sessionSettingsStorage
|
||||
= std::make_unique<Main::SessionSettings>();
|
||||
}
|
||||
return *sessionSettingsStorage;
|
||||
}
|
||||
|
||||
// This field is read in ReadSetting.
|
||||
bool legacyHasCustomDayBackground = false;
|
||||
|
||||
// Those fields are written in ReadSetting.
|
||||
MTP::DcOptions fallbackConfigLegacyDcOptions
|
||||
= MTP::DcOptions(MTP::Environment::Production);
|
||||
qint32 fallbackConfigLegacyChatSizeMax = 0;
|
||||
qint32 fallbackConfigLegacySavedGifsLimit = 0;
|
||||
qint32 fallbackConfigLegacyStickersRecentLimit = 0;
|
||||
qint32 fallbackConfigLegacyStickersFavedLimit = 0;
|
||||
qint32 fallbackConfigLegacyMegagroupSizeMax = 0;
|
||||
QString fallbackConfigLegacyTxtDomainString;
|
||||
QByteArray fallbackConfig;
|
||||
|
||||
qint64 cacheTotalSizeLimit = 0;
|
||||
qint32 cacheTotalTimeLimit = 0;
|
||||
qint64 cacheBigFileTotalSizeLimit = 0;
|
||||
qint32 cacheBigFileTotalTimeLimit = 0;
|
||||
|
||||
std::unique_ptr<Main::SessionSettings> sessionSettingsStorage;
|
||||
|
||||
FileKey themeKeyLegacy = 0;
|
||||
FileKey themeKeyDay = 0;
|
||||
FileKey themeKeyNight = 0;
|
||||
FileKey backgroundKeyDay = 0;
|
||||
FileKey backgroundKeyNight = 0;
|
||||
bool backgroundKeysRead = false;
|
||||
bool tileDay = false;
|
||||
bool tileNight = true;
|
||||
bool tileRead = false;
|
||||
FileKey langPackKey = 0;
|
||||
FileKey languagesKey = 0;
|
||||
|
||||
QByteArray mtpAuthorization;
|
||||
std::vector<std::shared_ptr<MTP::AuthKey>> mtpLegacyKeys;
|
||||
qint32 mtpLegacyMainDcId = 0;
|
||||
qint32 mtpLegacyUserId = 0;
|
||||
|
||||
bool legacyRead = false;
|
||||
};
|
||||
|
||||
[[nodiscard]] bool ReadSetting(
|
||||
quint32 blockId,
|
||||
QDataStream &stream,
|
||||
int version,
|
||||
ReadSettingsContext &context);
|
||||
|
||||
void ApplyReadFallbackConfig(ReadSettingsContext &context);
|
||||
|
||||
enum {
|
||||
dbiKey = 0x00,
|
||||
dbiUser = 0x01,
|
||||
dbiDcOptionOldOld = 0x02,
|
||||
dbiChatSizeMaxOld = 0x03,
|
||||
dbiMutePeerOld = 0x04,
|
||||
dbiSendKeyOld = 0x05,
|
||||
dbiAutoStart = 0x06,
|
||||
dbiStartMinimized = 0x07,
|
||||
dbiSoundFlashBounceNotifyOld = 0x08,
|
||||
dbiWorkModeOld = 0x09,
|
||||
dbiSeenTrayTooltip = 0x0a,
|
||||
dbiDesktopNotifyOld = 0x0b,
|
||||
dbiAutoUpdate = 0x0c,
|
||||
dbiLastUpdateCheck = 0x0d,
|
||||
dbiWindowPositionOld = 0x0e,
|
||||
dbiConnectionTypeOldOld = 0x0f,
|
||||
// 0x10 reserved
|
||||
dbiDefaultAttach = 0x11,
|
||||
dbiCatsAndDogsOld = 0x12,
|
||||
dbiReplaceEmojiOld = 0x13,
|
||||
dbiAskDownloadPathOld = 0x14,
|
||||
dbiDownloadPathOldOld = 0x15,
|
||||
dbiScaleOld = 0x16,
|
||||
dbiEmojiTabOld = 0x17,
|
||||
dbiRecentEmojiOldOldOld = 0x18,
|
||||
dbiLoggedPhoneNumberOld = 0x19,
|
||||
dbiMutedPeersOld = 0x1a,
|
||||
// 0x1b reserved
|
||||
dbiNotifyViewOld = 0x1c,
|
||||
dbiSendToMenu = 0x1d,
|
||||
dbiCompressPastedImageOld = 0x1e,
|
||||
dbiLangOld = 0x1f,
|
||||
dbiLangFileOld = 0x20,
|
||||
dbiTileBackgroundOld = 0x21,
|
||||
dbiAutoLockOld = 0x22,
|
||||
dbiDialogLastPath = 0x23,
|
||||
dbiRecentEmojiOldOld = 0x24,
|
||||
dbiEmojiVariantsOldOld = 0x25,
|
||||
dbiRecentStickers = 0x26,
|
||||
dbiDcOptionOld = 0x27,
|
||||
dbiTryIPv6Old = 0x28,
|
||||
dbiSongVolumeOld = 0x29,
|
||||
dbiWindowsNotificationsOld = 0x30,
|
||||
dbiIncludeMutedOld = 0x31,
|
||||
dbiMegagroupSizeMaxOld = 0x32,
|
||||
dbiDownloadPathOld = 0x33,
|
||||
dbiAutoDownloadOld = 0x34,
|
||||
dbiSavedGifsLimitOld = 0x35,
|
||||
dbiShowingSavedGifsOld = 0x36,
|
||||
dbiAutoPlayOld = 0x37,
|
||||
dbiAdaptiveForWideOld = 0x38,
|
||||
dbiHiddenPinnedMessagesOld = 0x39,
|
||||
dbiRecentEmojiOld = 0x3a,
|
||||
dbiEmojiVariantsOld = 0x3b,
|
||||
dbiDialogsModeOld = 0x40,
|
||||
dbiModerateModeOld = 0x41,
|
||||
dbiVideoVolumeOld = 0x42,
|
||||
dbiStickersRecentLimitOld = 0x43,
|
||||
dbiNativeNotificationsOld = 0x44,
|
||||
dbiNotificationsCountOld = 0x45,
|
||||
dbiNotificationsCornerOld = 0x46,
|
||||
dbiThemeKeyOld = 0x47,
|
||||
dbiDialogsWidthRatioOld = 0x48,
|
||||
dbiUseExternalVideoPlayerOld = 0x49,
|
||||
dbiDcOptionsOld = 0x4a,
|
||||
dbiMtpAuthorization = 0x4b,
|
||||
dbiLastSeenWarningSeenOld = 0x4c,
|
||||
dbiSessionSettings = 0x4d,
|
||||
dbiLangPackKey = 0x4e,
|
||||
dbiConnectionTypeOld = 0x4f,
|
||||
dbiStickersFavedLimitOld = 0x50,
|
||||
dbiSuggestStickersByEmojiOld = 0x51,
|
||||
dbiSuggestEmojiOld = 0x52,
|
||||
dbiTxtDomainStringOldOld = 0x53,
|
||||
dbiThemeKey = 0x54,
|
||||
dbiTileBackground = 0x55,
|
||||
dbiCacheSettingsOld = 0x56,
|
||||
dbiPowerSaving = 0x57,
|
||||
dbiScalePercent = 0x58,
|
||||
dbiPlaybackSpeedOld = 0x59,
|
||||
dbiLanguagesKey = 0x5a,
|
||||
dbiCallSettingsOld = 0x5b,
|
||||
dbiCacheSettings = 0x5c,
|
||||
dbiTxtDomainStringOld = 0x5d,
|
||||
dbiApplicationSettings = 0x5e,
|
||||
dbiDialogsFiltersOld = 0x5f,
|
||||
dbiFallbackProductionConfig = 0x60,
|
||||
dbiBackgroundKey = 0x61,
|
||||
|
||||
dbiEncryptedWithSalt = 333,
|
||||
dbiEncrypted = 444,
|
||||
|
||||
// 500-600 reserved
|
||||
|
||||
dbiVersion = 666,
|
||||
};
|
||||
|
||||
} // namespace details
|
||||
} // namespace Storage
|
||||
Reference in New Issue
Block a user