MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / saveRecentLanguages

Function saveRecentLanguages

Telegram/SourceFiles/storage/localstorage.cpp:1166–1202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1164}
1165
1166void saveRecentLanguages(const std::vector<Lang::Language> &list) {
1167 if (list.empty()) {
1168 if (_languagesKey) {
1169 ClearKey(_languagesKey, _basePath);
1170 _languagesKey = 0;
1171 writeSettings();
1172 }
1173 return;
1174 }
1175
1176 auto size = sizeof(qint32);
1177 for (const auto &language : list) {
1178 size += Serialize::stringSize(language.id)
1179 + Serialize::stringSize(language.pluralId)
1180 + Serialize::stringSize(language.baseId)
1181 + Serialize::stringSize(language.name)
1182 + Serialize::stringSize(language.nativeName);
1183 }
1184 if (!_languagesKey) {
1185 _languagesKey = GenerateKey(_basePath);
1186 writeSettings();
1187 }
1188
1189 EncryptedDescriptor data(size);
1190 data.stream << qint32(list.size());
1191 for (const auto &language : list) {
1192 data.stream
1193 << language.id
1194 << language.pluralId
1195 << language.baseId
1196 << language.name
1197 << language.nativeName;
1198 }
1199
1200 FileWriteDescriptor file(_languagesKey, _basePath);
1201 file.writeEncrypted(data, SettingsKey);
1202}
1203
1204void pushRecentLanguage(const Lang::Language &language) {
1205 if (language.id.startsWith('#')) {

Callers 3

restoreMethod · 0.85
pushRecentLanguageFunction · 0.85
removeRecentLanguageFunction · 0.85

Calls 7

ClearKeyFunction · 0.85
writeSettingsFunction · 0.85
stringSizeFunction · 0.85
GenerateKeyFunction · 0.85
writeEncryptedMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected