void VkAccount::handleUsers (const QList<UserInfo>& infos) { QList<QObject*> newEntries; QSet<int> newCountries; bool hadNew = false; for (const auto& info : infos) { if (Entries_.contains (info.ID_)) { Entries_ [info.ID_]->UpdateInfo (info); continue; } auto entry = new VkEntry (info, this); Entries_ [info.ID_] = entry; newEntries << entry; newCountries << info.Country_; hadNew = true; } GeoResolver_->CacheCountries (newCountries.toList ()); if (!newEntries.isEmpty ()) emit gotCLItems (newEntries); if (hadNew) TryPendingMessages (); }
void VkAccount::handleUsers (const QList<UserInfo>& infos) { if (CreateUsers (infos)) { TryPendingMessages (); ServHistMgr_->refresh (); } }
void VkAccount::handleGotChatInfo (const ChatInfo& info) { if (!ChatEntries_.contains (info.ChatID_)) { auto entry = new VkChatEntry (info, this); connect (entry, SIGNAL (removeEntry (VkChatEntry*)), this, SLOT (handleRemoveEntry (VkChatEntry*))); ChatEntries_ [info.ChatID_] = entry; emit gotCLItems ({ entry }); TryPendingMessages (); }