2014-05-30 08:53:19 +00:00
|
|
|
|
/*
|
|
|
|
|
This file is part of Telegram Desktop,
|
2018-01-03 10:23:14 +00:00
|
|
|
|
the official desktop application for the Telegram messaging service.
|
2014-05-30 08:53:19 +00:00
|
|
|
|
|
2018-01-03 10:23:14 +00:00
|
|
|
|
For license and copyright information please follow this link:
|
|
|
|
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
2014-05-30 08:53:19 +00:00
|
|
|
|
*/
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2016-04-27 12:02:17 +00:00
|
|
|
|
#include "core/version.h"
|
|
|
|
|
#include "settings.h"
|
2014-09-30 22:50:35 +00:00
|
|
|
|
|
2014-05-30 08:53:19 +00:00
|
|
|
|
enum {
|
|
|
|
|
MaxSelectedItems = 100,
|
|
|
|
|
|
|
|
|
|
LocalEncryptIterCount = 4000, // key derivation iteration count
|
|
|
|
|
LocalEncryptNoPwdIterCount = 4, // key derivation iteration count without pwd (not secure anyway)
|
|
|
|
|
LocalEncryptSaltSize = 32, // 256 bit
|
|
|
|
|
|
2014-07-04 11:12:54 +00:00
|
|
|
|
AnimationTimerDelta = 7,
|
2016-01-01 14:48:32 +00:00
|
|
|
|
RecentInlineBotsLimit = 10,
|
2014-07-04 11:12:54 +00:00
|
|
|
|
|
2014-07-13 09:50:38 +00:00
|
|
|
|
AutoSearchTimeout = 900, // 0.9 secs
|
2014-07-04 11:12:54 +00:00
|
|
|
|
SearchPerPage = 50,
|
2014-08-15 11:19:32 +00:00
|
|
|
|
SearchManyPerPage = 100,
|
2015-08-28 15:15:56 +00:00
|
|
|
|
LinksOverviewPerPage = 12,
|
2014-08-11 09:03:45 +00:00
|
|
|
|
MediaOverviewStartPerPage = 5,
|
2014-09-04 07:33:44 +00:00
|
|
|
|
|
2014-10-08 07:42:36 +00:00
|
|
|
|
PreloadHeightsCount = 3, // when 3 screens to scroll left make a preload request
|
2014-10-22 18:39:03 +00:00
|
|
|
|
|
|
|
|
|
SearchPeopleLimit = 5,
|
2014-11-05 17:43:32 +00:00
|
|
|
|
|
|
|
|
|
MaxMessageSize = 4096,
|
2014-11-22 09:45:04 +00:00
|
|
|
|
|
2015-04-04 20:01:34 +00:00
|
|
|
|
WebPageUserId = 701000,
|
2015-02-03 15:02:46 +00:00
|
|
|
|
|
2015-02-09 13:26:59 +00:00
|
|
|
|
UpdateDelayConstPart = 8 * 3600, // 8 hour min time between update check requests
|
|
|
|
|
UpdateDelayRandPart = 8 * 3600, // 8 hour max - min time between update check requests
|
2015-03-02 12:34:16 +00:00
|
|
|
|
|
|
|
|
|
WrongPasscodeTimeout = 1500,
|
2015-06-26 09:07:59 +00:00
|
|
|
|
|
|
|
|
|
ChoosePeerByDragTimeout = 1000, // 1 second mouse not moved to choose dialog when dragging a file
|
2014-05-30 08:53:19 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
inline const char *cGUIDStr() {
|
2016-08-31 17:58:46 +00:00
|
|
|
|
#ifndef OS_MAC_STORE
|
2014-05-30 08:53:19 +00:00
|
|
|
|
static const char *gGuidStr = "{87A94AB0-E370-4cde-98D3-ACC110C5967D}";
|
2016-08-31 17:58:46 +00:00
|
|
|
|
#else // OS_MAC_STORE
|
|
|
|
|
static const char *gGuidStr = "{E51FB841-8C0B-4EF9-9E9E-5A0078567627}";
|
|
|
|
|
#endif // OS_MAC_STORE
|
2014-05-30 08:53:19 +00:00
|
|
|
|
|
|
|
|
|
return gGuidStr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static const char *UpdatesPublicKey = "\
|
|
|
|
|
-----BEGIN RSA PUBLIC KEY-----\n\
|
|
|
|
|
MIGJAoGBAMA4ViQrjkPZ9xj0lrer3r23JvxOnrtE8nI69XLGSr+sRERz9YnUptnU\n\
|
|
|
|
|
BZpkIfKaRcl6XzNJiN28cVwO1Ui5JSa814UAiDHzWUqCaXUiUEQ6NmNTneiGx2sQ\n\
|
|
|
|
|
+9PKKlb8mmr3BB9A45ZNwLT6G9AK3+qkZLHojeSA+m84/a6GP4svAgMBAAE=\n\
|
|
|
|
|
-----END RSA PUBLIC KEY-----\
|
|
|
|
|
";
|
|
|
|
|
|
2018-09-26 14:58:09 +00:00
|
|
|
|
static const char *UpdatesPublicBetaKey = "\
|
2015-02-05 14:49:50 +00:00
|
|
|
|
-----BEGIN RSA PUBLIC KEY-----\n\
|
|
|
|
|
MIGJAoGBALWu9GGs0HED7KG7BM73CFZ6o0xufKBRQsdnq3lwA8nFQEvmdu+g/I1j\n\
|
|
|
|
|
0LQ+0IQO7GW4jAgzF/4+soPDb6uHQeNFrlVx1JS9DZGhhjZ5rf65yg11nTCIHZCG\n\
|
|
|
|
|
w/CVnbwQOw0g5GBwwFV3r0uTTvy44xx8XXxk+Qknu4eBCsmrAFNnAgMBAAE=\n\
|
|
|
|
|
-----END RSA PUBLIC KEY-----\
|
|
|
|
|
";
|
|
|
|
|
|
2018-11-04 10:29:30 +00:00
|
|
|
|
#if defined TDESKTOP_API_ID && defined TDESKTOP_API_HASH
|
|
|
|
|
|
|
|
|
|
constexpr auto ApiId = TDESKTOP_API_ID;
|
2021-03-06 06:38:12 +00:00
|
|
|
|
constexpr auto ApiHash = QT_STRINGIFY(TDESKTOP_API_HASH);
|
2018-11-04 10:29:30 +00:00
|
|
|
|
|
|
|
|
|
#else // TDESKTOP_API_ID && TDESKTOP_API_HASH
|
|
|
|
|
|
|
|
|
|
// To build your version of Telegram Desktop you're required to provide
|
|
|
|
|
// your own 'api_id' and 'api_hash' for the Telegram API access.
|
|
|
|
|
//
|
|
|
|
|
// How to obtain your 'api_id' and 'api_hash' is described here:
|
|
|
|
|
// https://core.telegram.org/api/obtaining_api_id
|
|
|
|
|
//
|
|
|
|
|
// If you're building the application not for deployment,
|
|
|
|
|
// but only for test purposes you can comment out the error below.
|
|
|
|
|
//
|
|
|
|
|
// This will allow you to use TEST ONLY 'api_id' and 'api_hash' which are
|
|
|
|
|
// very limited by the Telegram API server.
|
|
|
|
|
//
|
|
|
|
|
// Your users will start getting internal server errors on login
|
|
|
|
|
// if you deploy an app using those 'api_id' and 'api_hash'.
|
|
|
|
|
|
|
|
|
|
#error You are required to provide API_ID and API_HASH.
|
|
|
|
|
|
|
|
|
|
constexpr auto ApiId = 17349;
|
|
|
|
|
constexpr auto ApiHash = "344583e45741c457fe1862106095a5eb";
|
|
|
|
|
|
|
|
|
|
#endif // TDESKTOP_API_ID && TDESKTOP_API_HASH
|
2014-05-30 08:53:19 +00:00
|
|
|
|
|
2016-10-03 08:56:03 +00:00
|
|
|
|
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
|
|
|
|
|
#error "Only little endian is supported!"
|
|
|
|
|
#endif // Q_BYTE_ORDER == Q_BIG_ENDIAN
|
|
|
|
|
|
2018-11-08 05:50:18 +00:00
|
|
|
|
#if (TDESKTOP_ALPHA_VERSION != 0)
|
|
|
|
|
|
|
|
|
|
// Private key for downloading closed alphas.
|
2019-09-26 09:52:36 +00:00
|
|
|
|
#include "../../../DesktopPrivate/alpha_private.h"
|
2015-12-03 18:16:34 +00:00
|
|
|
|
|
|
|
|
|
#else
|
2018-09-26 14:58:09 +00:00
|
|
|
|
static const char *AlphaPrivateKey = "";
|
2015-12-03 18:16:34 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
2014-05-30 08:53:19 +00:00
|
|
|
|
extern QString gKeyFile;
|
|
|
|
|
inline const QString &cDataFile() {
|
|
|
|
|
if (!gKeyFile.isEmpty()) return gKeyFile;
|
2015-04-02 10:33:19 +00:00
|
|
|
|
static const QString res(qsl("data"));
|
2014-05-30 08:53:19 +00:00
|
|
|
|
return res;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inline const QRegularExpression &cRussianLetters() {
|
|
|
|
|
static QRegularExpression regexp(QString::fromUtf8("[а-яА-ЯёЁ]"));
|
|
|
|
|
return regexp;
|
|
|
|
|
}
|