コード例 #1
0
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 ();
}
コード例 #2
0
	void VkAccount::handleUsers (const QList<UserInfo>& infos)
	{
		if (CreateUsers (infos))
		{
			TryPendingMessages ();
			ServHistMgr_->refresh ();
		}
	}
コード例 #3
0
	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 ();
		}