aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/mainDialog.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-15 14:39:15 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-15 14:39:15 +0000
commitf8bfe60bf467d3f7574850bff745b6f70986eccf (patch)
tree5f53de6da536a5c5fd378b3cd6485cbc7c30bd42 /examples/GuiClient/mainDialog.cpp
parent85e6829718eefa77e3084e99fe146d5768fba64e (diff)
downloadqxmpp-f8bfe60bf467d3f7574850bff745b6f70986eccf.tar.gz
don't fetch vcard/caps of offline contacts
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
-rw-r--r--examples/GuiClient/mainDialog.cpp57
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();