This commit is contained in:
Vitaly Takmazov 2012-04-03 10:44:24 +04:00
commit 84db4be9f5
3 changed files with 12 additions and 6 deletions

View file

@ -51,10 +51,20 @@ class LocalBuddy : public Buddy {
}
std::string getIconHash() { return m_iconHash; }
void setIconHash(const std::string &iconHash) { m_iconHash = iconHash; }
void setIconHash(const std::string &iconHash) {
bool changed = m_iconHash != iconHash;
m_iconHash = iconHash;
if (changed)
getRosterManager()->storeBuddy(this);
}
std::vector<std::string> getGroups() { return m_groups; }
void setGroups(const std::vector<std::string> &groups) { m_groups = groups; }
void setGroups(const std::vector<std::string> &groups) {
bool changed = m_groups.size() != groups.size();
m_groups = groups;
if (changed)
getRosterManager()->storeBuddy(this);
}
private:
std::string m_name;

View file

@ -148,7 +148,6 @@ void Buddy::handleBuddyChanged() {
if (presence) {
m_rosterManager->getUser()->getComponent()->getStanzaChannel()->sendPresence(presence);
}
m_rosterManager->handleBuddyChanged(this);
}
void Buddy::handleVCardReceived(const std::string &id, Swift::VCard::ref vcard) {

View file

@ -152,9 +152,6 @@ void RosterManager::sendBuddySubscribePresence(Buddy *buddy) {
}
void RosterManager::handleBuddyChanged(Buddy *buddy) {
if (m_rosterStorage) {
m_rosterStorage->storeBuddy(buddy);
}
}
void RosterManager::setBuddyCallback(Buddy *buddy) {