2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-31 06:26:18 +00:00

Save info members list state to memento.

This commit is contained in:
John Preston
2017-10-24 20:11:35 +03:00
parent fb46c33d7f
commit b51f865c54
29 changed files with 875 additions and 220 deletions

View File

@@ -293,8 +293,7 @@ void PeerData::updateNameDelayed(const QString &newName, const QString &newNameO
Notify::PeerUpdate update(this);
update.flags |= UpdateFlag::NameChanged;
update.oldNames = names;
update.oldNameFirstChars = chars;
update.oldNameFirstChars = nameFirstChars();
if (isUser()) {
if (asUser()->username != newUsername) {
@@ -453,8 +452,8 @@ void UserData::setPhoto(const MTPUserProfilePhoto &p) { // see Local::readPeer a
}
void PeerData::fillNames() {
names.clear();
chars.clear();
_nameWords.clear();
_nameFirstChars.clear();
auto toIndex = TextUtilities::RemoveAccents(name);
if (cRussianLetters().match(toIndex).hasMatch()) {
toIndex += ' ' + translitRusEng(toIndex);
@@ -469,8 +468,8 @@ void PeerData::fillNames() {
auto namesList = TextUtilities::PrepareSearchWords(toIndex);
for (auto &name : namesList) {
names.insert(name);
chars.insert(name[0]);
_nameWords.insert(name);
_nameFirstChars.insert(name[0]);
}
}

View File

@@ -204,10 +204,15 @@ public:
QString name;
Text nameText;
using Names = OrderedSet<QString>;
Names names; // for filtering
using NameFirstChars = OrderedSet<QChar>;
NameFirstChars chars;
using NameWords = base::flat_set<QString>;
using NameFirstChars = base::flat_set<QChar>;
const NameWords &nameWords() const {
return _nameWords;
}
const NameFirstChars &nameFirstChars() const {
return _nameFirstChars;
}
enum LoadedStatus {
NotLoaded = 0x00,
@@ -292,6 +297,8 @@ private:
void fillNames();
ClickHandlerPtr _openLink;
NameWords _nameWords; // for filtering
NameFirstChars _nameFirstChars;
int _colorIndex = 0;
TimeMs _lastFullUpdate = 0;