forked from blue/squawk
Now avatars are properly autogenerated, reduced vCard spam
This commit is contained in:
parent
93c5be412e
commit
0be2648849
9 changed files with 76 additions and 92 deletions
|
@ -367,19 +367,23 @@ void Core::Account::onPresenceReceived(const QXmppPresence& p_presence) {
|
|||
vh->handlePresenceOfMyAccountChange(p_presence);
|
||||
} else {
|
||||
RosterItem* item = rh->getRosterItem(jid);
|
||||
if (item != nullptr)
|
||||
item->handlePresence(p_presence);
|
||||
if (item != nullptr) {
|
||||
if (item->isMuc()) //MUC presence is handled by inner muc events
|
||||
return;
|
||||
else
|
||||
item->handlePresence(p_presence);
|
||||
}
|
||||
}
|
||||
|
||||
switch (p_presence.type()) {
|
||||
case QXmppPresence::Error:
|
||||
qDebug() << "An error reported by presence from" << id << p_presence.error().text();
|
||||
break;
|
||||
case QXmppPresence::Available:{
|
||||
case QXmppPresence::Available: {
|
||||
QDateTime lastInteraction = p_presence.lastUserInteraction();
|
||||
if (!lastInteraction.isValid()) {
|
||||
if (!lastInteraction.isValid())
|
||||
lastInteraction = QDateTime::currentDateTimeUtc();
|
||||
}
|
||||
|
||||
emit addPresence(jid, resource, {
|
||||
{"lastActivity", lastInteraction},
|
||||
{"availability", p_presence.availableStatusType()}, //TODO check and handle invisible
|
||||
|
@ -392,8 +396,7 @@ void Core::Account::onPresenceReceived(const QXmppPresence& p_presence) {
|
|||
)
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
} break;
|
||||
case QXmppPresence::Unavailable:
|
||||
emit removePresence(jid, resource);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue