diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-11-18 12:09:08 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-12-22 20:19:07 (GMT) |
commit | 9f04a7ec3429303118f12607703b877d8ba43888 (patch) | |
tree | 3e868395fa3c4f9cbbf84614094bb0251b425c15 /Swift/Controllers/Chat/MUCSearchController.h | |
parent | 04b99ce8430109d0467c29c85cb6bacb85c54c44 (diff) | |
download | swift-contrib-9f04a7ec3429303118f12607703b877d8ba43888.zip swift-contrib-9f04a7ec3429303118f12607703b877d8ba43888.tar.bz2 |
Basic User Search support, and Find Rooms cleanup.
Adds a throbber to the MUC search, turns the Add Contact dialog into something searchy, adds the option to open chats to arbitrary JIDs.
Resolves: #614
Resolves: #695
Resolves: #436
Release-Notes: On servers that support it, users can now perform searches for contacts to add or chat to.
Diffstat (limited to 'Swift/Controllers/Chat/MUCSearchController.h')
-rw-r--r-- | Swift/Controllers/Chat/MUCSearchController.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Swift/Controllers/Chat/MUCSearchController.h b/Swift/Controllers/Chat/MUCSearchController.h index f09a801..6caee54 100644 --- a/Swift/Controllers/Chat/MUCSearchController.h +++ b/Swift/Controllers/Chat/MUCSearchController.h @@ -27,6 +27,8 @@ namespace Swift { class MUCSearchWindow; class MUCSearchWindowFactory; class IQRouter; + class DiscoServiceWalker; + class NickResolver; class MUCService { public: @@ -86,28 +88,32 @@ namespace Swift { class MUCSearchController { public: - MUCSearchController(const JID& jid, UIEventStream* uiEventStream, MUCSearchWindowFactory* mucSearchWindowFactory, IQRouter* iqRouter, SettingsProvider* settings); + MUCSearchController(const JID& jid, UIEventStream* uiEventStream, MUCSearchWindowFactory* mucSearchWindowFactory, IQRouter* iqRouter, SettingsProvider* settings, NickResolver* nickResolver); ~MUCSearchController(); private: void handleUIEvent(boost::shared_ptr<UIEvent> event); - void handleAddService(const JID& jid, bool userTriggered=false); - void handleDiscoInfoResponse(boost::shared_ptr<DiscoInfo> info, ErrorPayload::ref error, const JID& jid); + void handleAddService(const JID& jid); void handleRoomsItemsResponse(boost::shared_ptr<DiscoItems> items, ErrorPayload::ref error, const JID& jid); - void handleServerItemsResponse(boost::shared_ptr<DiscoItems> items, ErrorPayload::ref error, const JID& jid); void handleDiscoError(const JID& jid, ErrorPayload::ref error); + void handleDiscoServiceFound(const JID&, boost::shared_ptr<DiscoInfo>); + void handleDiscoWalkFinished(DiscoServiceWalker* walker); void removeService(const JID& jid); void refreshView(); void loadServices(); void addAndSaveServices(const JID& jid); + void updateInProgressness(); UIEventStream* uiEventStream_; MUCSearchWindow* window_; MUCSearchWindowFactory* factory_; SettingsProvider* settings_; + NickResolver* nickResolver_; boost::bsignals::scoped_connection uiEventConnection_; std::vector<JID> services_; std::vector<JID> savedServices_; std::map<JID, MUCService> serviceDetails_; + std::vector<DiscoServiceWalker*> walksInProgress_; IQRouter* iqRouter_; JID jid_; + int itemsInProgress_; }; } |