diff options
Diffstat (limited to 'Swift/Controllers/RosterController.cpp')
| -rw-r--r-- | Swift/Controllers/RosterController.cpp | 25 | 
1 files changed, 8 insertions, 17 deletions
diff --git a/Swift/Controllers/RosterController.cpp b/Swift/Controllers/RosterController.cpp index b4626fb..7285f38 100644 --- a/Swift/Controllers/RosterController.cpp +++ b/Swift/Controllers/RosterController.cpp @@ -53,8 +53,9 @@ RosterController::RosterController(const JID& jid, boost::shared_ptr<XMPPRoster>  	presenceOracle_->onPresenceSubscriptionRequest.connect(boost::bind(&RosterController::handleSubscriptionRequest, this, _1, _2));  	presenceOracle_->onPresenceChange.connect(boost::bind(&RosterController::handleIncomingPresence, this, _1, _2));  	uiEventConnection_ = uiEventStream->onUIEvent.connect(boost::bind(&RosterController::handleUIEvent, this, _1)); -	avatarManager_ = NULL; -	setAvatarManager(avatarManager); +	avatarManager_ = avatarManager; +	avatarManager_->onAvatarChanged.connect(boost::bind(&RosterController::handleAvatarChanged, this, _1)); +	mainWindow_->setMyAvatarPath(avatarManager_->getAvatarPath(myJID_).string());  	setNickResolver(nickResolver);  } @@ -77,17 +78,6 @@ void RosterController::handleOwnNickChanged(const String& nick) {  	mainWindow_->setMyName(nick);  } -void RosterController::setAvatarManager(AvatarManager* avatarManager) { -	if (avatarManager_ != NULL) { -		//FIXME: disconnect old signal; -	} -	avatarManager_ = avatarManager; -	if (avatarManager != NULL) { -		avatarManager_->onAvatarChanged.connect(boost::bind(&RosterController::handleAvatarChanged, this, _1)); -		mainWindow_->setMyAvatarPath(avatarManager_->getAvatarPath(myJID_).string()); -	} -} -  void RosterController::setEnabled(bool enabled) {  	if (!enabled) {  		roster_->applyOnItems(AppearOffline()); @@ -111,10 +101,11 @@ void RosterController::handleOnJIDAdded(const JID& jid) {  	String name = nickResolver_->jidToNick(jid);  	if (!groups.empty()) {  		foreach(const String& group, groups) { -			roster_->addContact(jid, jid, name, group); +			roster_->addContact(jid, jid, name, group, avatarManager_->getAvatarPath(jid).string());  		} -	} else { -		roster_->addContact(jid, jid, name, "Contacts"); +	}  +	else { +		roster_->addContact(jid, jid, name, "Contacts", avatarManager_->getAvatarPath(jid).string());  	}  } @@ -143,7 +134,7 @@ void RosterController::handleOnJIDUpdated(const JID& jid, const String& oldName,  	}  	foreach(const String& group, groups) {  		if (std::find(oldGroups.begin(), oldGroups.end(), group) == oldGroups.end()) { -			roster_->addContact(jid, jid, xmppRoster_->getNameForJID(jid), group); +			roster_->addContact(jid, jid, xmppRoster_->getNameForJID(jid), group, avatarManager_->getAvatarPath(jid).string());  		}  	}   	foreach(const String& group, oldGroups) {  | 
 Swift