diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-15 14:39:15 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-15 14:39:15 +0000 |
| commit | f8bfe60bf467d3f7574850bff745b6f70986eccf (patch) | |
| tree | 5f53de6da536a5c5fd378b3cd6485cbc7c30bd42 /examples/GuiClient/mainDialog.cpp | |
| parent | 85e6829718eefa77e3084e99fe146d5768fba64e (diff) | |
| download | qxmpp-f8bfe60bf467d3f7574850bff745b6f70986eccf.tar.gz | |
don't fetch vcard/caps of offline contacts
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
| -rw-r--r-- | examples/GuiClient/mainDialog.cpp | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp index 2322b13a..5965c575 100644 --- a/examples/GuiClient/mainDialog.cpp +++ b/examples/GuiClient/mainDialog.cpp @@ -195,15 +195,11 @@ void mainDialog::rosterChanged(const QString& bareJid) m_rosterItemModel.updateRosterEntry(bareJid, m_xmppClient.rosterManager(). getRosterEntry(bareJid)); - bool check = m_vCardCache.isVCardAvailable(bareJid); - if(check) - { + // if available in cache, update it + if(m_vCardCache.isVCardAvailable(bareJid)) updateVCard(bareJid); - } - else - { - m_vCardCache.requestVCard(bareJid); - } +// else +// m_vCardCache.requestVCard(bareJid); } void mainDialog::rosterReceived() @@ -229,33 +225,36 @@ void mainDialog::presenceChanged(const QString& bareJid, const QString& resource QXmppPresence& pre = presences[resource]; - QString node = pre.capabilityNode(); - QString ver = pre.capabilityVer().toBase64(); - QStringList exts = pre.capabilityExt(); - - QString nodeVer = node + "#" + ver; - if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer)) - m_capabilitiesCache.requestInfo(jid, nodeVer); - - foreach(QString ext, exts) + if(pre.type() == QXmppPresence::Available) { - nodeVer = node + "#" + ext; + QString node = pre.capabilityNode(); + QString ver = pre.capabilityVer().toBase64(); + QStringList exts = pre.capabilityExt(); + + QString nodeVer = node + "#" + ver; if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer)) m_capabilitiesCache.requestInfo(jid, nodeVer); - } - switch(pre.vCardUpdateType()) - { - case QXmppPresence::VCardUpdateNone: - case QXmppPresence::PhotoNotReady: - break; - case QXmppPresence::PhotoNotAdvertized: - case QXmppPresence::PhotoAdvertised: - if(m_vCardCache.getPhotoHash(bareJid) != pre.photoHash()) + foreach(QString ext, exts) { - m_vCardCache.requestVCard(bareJid); + nodeVer = node + "#" + ext; + if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer)) + m_capabilitiesCache.requestInfo(jid, nodeVer); + } + + switch(pre.vCardUpdateType()) + { + case QXmppPresence::VCardUpdateNone: + if(!m_vCardCache.isVCardAvailable(bareJid)) + m_vCardCache.requestVCard(bareJid); + case QXmppPresence::PhotoNotReady: + break; + case QXmppPresence::PhotoNotAdvertized: + case QXmppPresence::PhotoAdvertised: + if(m_vCardCache.getPhotoHash(bareJid) != pre.photoHash()) + m_vCardCache.requestVCard(bareJid); + break; } - break; } // QXmppPresence::Type presenceType = presences.begin().value().getType(); |
