diff options
author | dknn <yoann.blein@free.fr> | 2012-03-24 15:11:14 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2012-04-08 20:17:23 (GMT) |
commit | fe477c0da80c2e5799a1841ce7fcf4e023ad57bb (patch) | |
tree | 6aedfd75c47c64dee7fcf282e84ebafb6722c65d /Swift/QtUI | |
parent | 36eaae275b39340f44d8225a73ea129bc0c47464 (diff) | |
download | swift-fe477c0da80c2e5799a1841ce7fcf4e023ad57bb.zip swift-fe477c0da80c2e5799a1841ce7fcf4e023ad57bb.tar.bz2 |
'Add contact' from MUC right-click menu
This patch allows to add a contact from a MUC, by right clicking a contact in
the rooster. The action is only available if the JID of the user is also
available
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Diffstat (limited to 'Swift/QtUI')
-rw-r--r-- | Swift/QtUI/Roster/QtOccupantListWidget.cpp | 1 | ||||
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchDetailsPage.cpp | 4 | ||||
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchDetailsPage.h | 1 | ||||
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchWindow.cpp | 9 | ||||
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchWindow.h | 1 |
5 files changed, 16 insertions, 0 deletions
diff --git a/Swift/QtUI/Roster/QtOccupantListWidget.cpp b/Swift/QtUI/Roster/QtOccupantListWidget.cpp index 0b3722c..1469300 100644 --- a/Swift/QtUI/Roster/QtOccupantListWidget.cpp +++ b/Swift/QtUI/Roster/QtOccupantListWidget.cpp @@ -57,6 +57,7 @@ void QtOccupantListWidget::contextMenuEvent(QContextMenuEvent* event) { case ChatWindow::MakeModerator: text = tr("Make moderator"); break; case ChatWindow::MakeParticipant: text = tr("Make participant"); break; case ChatWindow::MakeVisitor: text = tr("Remove voice"); break; + case ChatWindow::AddContact: text = tr("Add contact"); break; } QAction* action = contextMenu.addAction(text); actions[action] = availableAction; diff --git a/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.cpp b/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.cpp index da89a8d..f4189e7 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.cpp @@ -36,6 +36,10 @@ void QtUserSearchDetailsPage::setNameSuggestions(const std::vector<std::string>& editWidget->setNameSuggestions(nameSuggestions); } +void QtUserSearchDetailsPage::setName(const std::string& name) { + editWidget->setName(name); +} + std::set<std::string> QtUserSearchDetailsPage::getSelectedGroups() { return editWidget->getSelectedGroups(); } diff --git a/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.h b/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.h index 9409493..63fd241 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.h +++ b/Swift/QtUI/UserSearch/QtUserSearchDetailsPage.h @@ -27,6 +27,7 @@ namespace Swift { void setJID(const JID& jid); void setNameSuggestions(const std::vector<std::string>& nameSuggestions); + void setName(const std::string& name); std::set<std::string> getSelectedGroups(); std::string getName(); diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp index 949d65c..b8a44e5 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp @@ -236,6 +236,15 @@ void QtUserSearchWindow::setNameSuggestions(const std::vector<std::string>& sugg } } +void QtUserSearchWindow::prepopulateJIDAndName(const JID& jid, const std::string& name) { + firstPage_->jid_->setText(P2QSTRING(jid.toBare().toString())); + detailsPage_->setJID(jid); + lastPage_ = 1; + restart(); + next(); + detailsPage_->setName(name); +} + void QtUserSearchWindow::setResults(const std::vector<UserSearchResult>& results) { UserSearchModel *newModel = new UserSearchModel(); newModel->setResults(results); diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.h b/Swift/QtUI/UserSearch/QtUserSearchWindow.h index 9173ba9..32e851a 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.h +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.h @@ -40,6 +40,7 @@ namespace Swift { virtual void setSearchError(bool error); virtual void setSearchFields(boost::shared_ptr<SearchPayload> fields); virtual void setNameSuggestions(const std::vector<std::string>& suggestions); + virtual void prepopulateJIDAndName(const JID& jid, const std::string& name); protected: virtual int nextId() const; |