summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-02-07 20:39:05 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-02-07 20:39:05 (GMT)
commite520ec1c7521c855e8d91748ed661b9848c324a1 (patch)
treeb0a9cafcb13565b3289909080c8d51e47e5832b0 /Swift/Controllers
parent4636fb155afcb2d7084e7a0debfa093780488f22 (diff)
downloadswift-contrib-e520ec1c7521c855e8d91748ed661b9848c324a1.zip
swift-contrib-e520ec1c7521c855e8d91748ed661b9848c324a1.tar.bz2
Split contact editing out into separate widget.
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/ContactEditController.cpp5
-rw-r--r--Swift/Controllers/ContactEditController.h3
-rw-r--r--Swift/Controllers/UIInterfaces/ContactEditWindow.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/Swift/Controllers/ContactEditController.cpp b/Swift/Controllers/ContactEditController.cpp
index a8f7811..de99895 100644
--- a/Swift/Controllers/ContactEditController.cpp
+++ b/Swift/Controllers/ContactEditController.cpp
@@ -60,14 +60,13 @@ void ContactEditController::handleRemoveContactRequest() {
contactEditWindow->hide();
}
-void ContactEditController::handleChangeContactRequest(const String& name, const std::vector<String>& groups) {
+void ContactEditController::handleChangeContactRequest(const String& name, const std::set<String>& newGroups) {
std::vector<String> oldGroupsVector = currentContact->getGroups();
std::set<String> oldGroups(oldGroupsVector.begin(), oldGroupsVector.end());
- std::set<String> newGroups(groups.begin(), groups.end());
if (oldGroups != newGroups || currentContact->getName() != name) {
XMPPRosterItem newContact(*currentContact);
newContact.setName(name);
- newContact.setGroups(groups);
+ newContact.setGroups(std::vector<String>(newGroups.begin(), newGroups.end()));
rosterController->updateItem(newContact);
}
contactEditWindow->hide();
diff --git a/Swift/Controllers/ContactEditController.h b/Swift/Controllers/ContactEditController.h
index 31917b1..b5c8101 100644
--- a/Swift/Controllers/ContactEditController.h
+++ b/Swift/Controllers/ContactEditController.h
@@ -7,6 +7,7 @@
#pragma once
#include <vector>
+#include <set>
#include <boost/optional.hpp>
#include <Swiften/JID/JID.h>
@@ -29,7 +30,7 @@ namespace Swift {
private:
void handleRemoveContactRequest();
- void handleChangeContactRequest(const String& name, const std::vector<String>& groups);
+ void handleChangeContactRequest(const String& name, const std::set<String>& groups);
private:
void handleUIEvent(UIEvent::ref event);
diff --git a/Swift/Controllers/UIInterfaces/ContactEditWindow.h b/Swift/Controllers/UIInterfaces/ContactEditWindow.h
index 3feb718..fe552c2 100644
--- a/Swift/Controllers/UIInterfaces/ContactEditWindow.h
+++ b/Swift/Controllers/UIInterfaces/ContactEditWindow.h
@@ -28,6 +28,6 @@ namespace Swift {
virtual void hide() = 0;
boost::signal<void ()> onRemoveContactRequest;
- boost::signal<void (const String& /* name */, const std::vector<String>& /* groups */)> onChangeContactRequest;
+ boost::signal<void (const String& /* name */, const std::set<String>& /* groups */)> onChangeContactRequest;
};
}