summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Controllers/ContactEditController.h')
-rw-r--r--Swift/Controllers/ContactEditController.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/Swift/Controllers/ContactEditController.h b/Swift/Controllers/ContactEditController.h
index 1947944..5f64a6a 100644
--- a/Swift/Controllers/ContactEditController.h
+++ b/Swift/Controllers/ContactEditController.h
@@ -12,6 +12,7 @@
#include <Swiften/JID/JID.h>
#include <string>
+#include <Swiften/Elements/VCard.h>
#include <Swift/Controllers/UIEvents/UIEvent.h>
#include <Swiften/Roster/XMPPRosterItem.h>
@@ -20,26 +21,33 @@ namespace Swift {
class ContactEditWindowFactory;
class ContactEditWindow;
class RosterController;
+ class VCardManager;
class ContactEditController {
public:
- ContactEditController(RosterController* rosterController, ContactEditWindowFactory* contactEditWindowFactory, UIEventStream* uiEventStream);
+ ContactEditController(RosterController* rosterController, VCardManager* vcardManager, ContactEditWindowFactory* contactEditWindowFactory, UIEventStream* uiEventStream);
~ContactEditController();
void setAvailable(bool b);
+ public:
+ static std::vector<std::string> nameSuggestionsFromVCard(VCard::ref vcard);
+
private:
void handleRemoveContactRequest();
void handleChangeContactRequest(const std::string& name, const std::set<std::string>& groups);
private:
void handleUIEvent(UIEvent::ref event);
+ void handleVCardChanged(const JID& jid, VCard::ref vcard);
private:
boost::optional<XMPPRosterItem> currentContact;
RosterController* rosterController;
+ VCardManager* vcardManager;
ContactEditWindowFactory* contactEditWindowFactory;
UIEventStream* uiEventStream;
+ JID jid;
ContactEditWindow* contactEditWindow;
};
}