diff options
| author | Kevin Smith <git@kismith.co.uk> | 2011-09-27 08:04:45 (GMT) | 
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2011-09-27 08:14:43 (GMT) | 
| commit | 24e53876500f0f5497a84b239d9350676e95751a (patch) | |
| tree | 2d43b81f6b1619e1f51ac0a591c14d7eafdfc396 /Swift/Controllers/Chat | |
| parent | 694cc7318b92aed079badb3cc22428ab108591cf (diff) | |
| download | swift-contrib-24e53876500f0f5497a84b239d9350676e95751a.zip swift-contrib-24e53876500f0f5497a84b239d9350676e95751a.tar.bz2 | |
Add support for clearing chat recents.
Resolves: #1001
Diffstat (limited to 'Swift/Controllers/Chat')
| -rw-r--r-- | Swift/Controllers/Chat/ChatsManager.cpp | 7 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/ChatsManager.h | 1 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/MUCController.cpp | 5 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/MUCController.h | 1 | 
4 files changed, 14 insertions, 0 deletions
| diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp index 83f66a3..edc1a79 100644 --- a/Swift/Controllers/Chat/ChatsManager.cpp +++ b/Swift/Controllers/Chat/ChatsManager.cpp @@ -86,6 +86,7 @@ ChatsManager::ChatsManager(  	chatListWindow_ = chatListWindowFactory->createChatListWindow(uiEventStream_);  	chatListWindow_->onMUCBookmarkActivated.connect(boost::bind(&ChatsManager::handleMUCBookmarkActivated, this, _1));  	chatListWindow_->onRecentActivated.connect(boost::bind(&ChatsManager::handleRecentActivated, this, _1)); +	chatListWindow_->onClearRecentsRequested.connect(boost::bind(&ChatsManager::handleClearRecentsRequested, this));  	joinMUCWindow_ = NULL;  	mucSearchController_ = new MUCSearchController(jid_, mucSearchWindowFactory, iqRouter, settings); @@ -126,6 +127,12 @@ void ChatsManager::saveRecents() {  	profileSettings_->storeString(RECENT_CHATS, recents);  } +void ChatsManager::handleClearRecentsRequested() { +	recentChats_.clear(); +	saveRecents(); +	handleUnreadCountChanged(NULL); +} +  void ChatsManager::loadRecents() {  	std::string recentsString(profileSettings_->getStringSetting(RECENT_CHATS));  	std::vector<std::string> recents; diff --git a/Swift/Controllers/Chat/ChatsManager.h b/Swift/Controllers/Chat/ChatsManager.h index 46c104d..57643eb 100644 --- a/Swift/Controllers/Chat/ChatsManager.h +++ b/Swift/Controllers/Chat/ChatsManager.h @@ -80,6 +80,7 @@ namespace Swift {  			void handleRecentActivated(const ChatListWindow::Chat&);  			void handleUnreadCountChanged(ChatControllerBase* controller);  			void handleAvatarChanged(const JID& jid); +			void handleClearRecentsRequested();  			ChatController* getChatControllerOrFindAnother(const JID &contact);  			ChatController* createNewChatController(const JID &contact); diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index 8fcef8c..178f4b6 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -72,6 +72,7 @@ MUCController::MUCController (  	chatWindow_->onOccupantSelectionChanged.connect(boost::bind(&MUCController::handleWindowOccupantSelectionChanged, this, _1));  	chatWindow_->onOccupantActionSelected.connect(boost::bind(&MUCController::handleActionRequestedOnOccupant, this, _1, _2));  	chatWindow_->onChangeSubjectRequest.connect(boost::bind(&MUCController::handleChangeSubjectRequest, this, _1)); +	chatWindow_->onConfigureRequest.connect(boost::bind(&MUCController::handleConfigureRequest, this));  	muc_->onJoinComplete.connect(boost::bind(&MUCController::handleJoinComplete, this, _1));  	muc_->onJoinFailed.connect(boost::bind(&MUCController::handleJoinFailed, this, _1));  	muc_->onOccupantJoined.connect(boost::bind(&MUCController::handleOccupantJoined, this, _1)); @@ -576,4 +577,8 @@ void MUCController::handleChangeSubjectRequest(const std::string& subject) {  	muc_->changeSubject(subject);  } +void MUCController::handleConfigureRequest() { +	muc_->requestConfigurationForm(); +} +  } diff --git a/Swift/Controllers/Chat/MUCController.h b/Swift/Controllers/Chat/MUCController.h index fc87738..08a3fc3 100644 --- a/Swift/Controllers/Chat/MUCController.h +++ b/Swift/Controllers/Chat/MUCController.h @@ -88,6 +88,7 @@ namespace Swift {  			void dayTicked() {lastWasPresence_ = false;}  			void processUserPart();  			void handleBareJIDCapsChanged(const JID& jid); +			void handleConfigureRequest();  		private:  			MUC::ref muc_; | 
 Swift
 Swift