diff options
| author | Richard Maudsley <richard.maudsley@isode.com> | 2014-06-27 16:06:49 (GMT) | 
|---|---|---|
| committer | Richard Maudsley <richard.maudsley@isode.com> | 2014-07-07 10:49:04 (GMT) | 
| commit | 14fd8e4363241e04b20da85dfc61e5f315e9b28d (patch) | |
| tree | b7a5450f73e98dd64c0367702575bb3f52e44ab4 /Swift/Controllers/Roster/RosterController.h | |
| parent | 9179b54ac93ddc88765c3cd984916d7ffd130d20 (diff) | |
| download | swift-contrib-14fd8e4363241e04b20da85dfc61e5f315e9b28d.zip swift-contrib-14fd8e4363241e04b20da85dfc61e5f315e9b28d.tar.bz2  | |
Show own tooltip when hovering over roster header.
Test-Information:
Made combinations of presence/vcard/avatar changes and verified that the information in the tooltip was synchronized. Connect two clients and verify that the tooltip presence text reflects the local client presence only.
Change-Id: I92af0f58f7045f3a15f2fae2f9cbc6e24a066923
Diffstat (limited to 'Swift/Controllers/Roster/RosterController.h')
| -rw-r--r-- | Swift/Controllers/Roster/RosterController.h | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/Swift/Controllers/Roster/RosterController.h b/Swift/Controllers/Roster/RosterController.h index 5b26fc7..d0c7024 100644 --- a/Swift/Controllers/Roster/RosterController.h +++ b/Swift/Controllers/Roster/RosterController.h @@ -18,101 +18,106 @@  #include <Swiften/Elements/RosterPayload.h>  #include <Swiften/Avatars/AvatarManager.h>  #include <Swiften/VCards/VCardManager.h>  #include <Swift/Controllers/UIEvents/UIEvent.h>  #include <Swift/Controllers/FileTransfer/FileTransferOverview.h>  #include <Swift/Controllers/Roster/RosterGroupExpandinessPersister.h>  namespace Swift {  	class IQRouter;  	class Roster;  	class XMPPRoster;  	class XMPPRosterItem;  	class MainWindow;  	class MainWindowFactory;  	class OfflineRosterFilter;  	class NickResolver;  	class PresenceOracle;  	class SubscriptionManager;  	class EventController;  	class SubscriptionRequestEvent;  	class UIEventStream;  	class IQRouter;  	class SettingsProvider;  	class NickManager;  	class EntityCapsProvider;  	class FileTransferManager;  	class ClientBlockListManager;  	class RosterVCardProvider;  	class RosterController {  		public:  			RosterController(const JID& jid, XMPPRoster* xmppRoster, AvatarManager* avatarManager, MainWindowFactory* mainWindowFactory, NickManager* nickManager, NickResolver* nickResolver, PresenceOracle* presenceOracle, SubscriptionManager* subscriptionManager, EventController* eventController, UIEventStream* uiEventStream, IQRouter* iqRouter_, SettingsProvider* settings, EntityCapsProvider* entityCapsProvider, FileTransferOverview* fileTransferOverview, ClientBlockListManager* clientBlockListManager, VCardManager* vcardManager);  			~RosterController();  			void showRosterWindow(); +			void setJID(const JID& jid) { myJID_ = jid; }  			MainWindow* getWindow() {return mainWindow_;}  			boost::signal<void (StatusShow::Type, const std::string&)> onChangeStatusRequest;  			boost::signal<void ()> onSignOutRequest; +			void handleOwnVCardChanged(VCard::ref vcard);  			void handleAvatarChanged(const JID& jid); +			void handlePresenceChanged(Presence::ref presence);  			void setEnabled(bool enabled);  			boost::optional<XMPPRosterItem> getItem(const JID&) const;  			std::set<std::string> getGroups() const;  			void setContactGroups(const JID& jid, const std::vector<std::string>& groups);  			void updateItem(const XMPPRosterItem&);  			void initBlockingCommand();  		private:  			void handleOnJIDAdded(const JID &jid);  			void handleRosterCleared();  			void handleOnJIDRemoved(const JID &jid);  			void handleOnJIDUpdated(const JID &jid, const std::string& oldName, const std::vector<std::string>& oldGroups);  			void handleStartChatRequest(const JID& contact);  			void handleChangeStatusRequest(StatusShow::Type show, const std::string &statusText);  			void handleShowOfflineToggled(bool state);  			void handleIncomingPresence(boost::shared_ptr<Presence> newPresence);  			void handleSubscriptionRequest(const JID& jid, const std::string& message);  			void handleSubscriptionRequestAccepted(SubscriptionRequestEvent* event);  			void handleSubscriptionRequestDeclined(SubscriptionRequestEvent* event);  			void handleUIEvent(boost::shared_ptr<UIEvent> event);  			void handleRosterSetError(ErrorPayload::ref error, boost::shared_ptr<RosterPayload> rosterPayload);  			void applyAllPresenceTo(const JID& jid);  			void handleEditProfileRequest();  			void handleOnCapsChanged(const JID& jid);  			void handleSettingChanged(const std::string& settingPath);  			void handleBlockingStateChanged();  			void handleBlockingItemAdded(const JID& jid);  			void handleBlockingItemRemoved(const JID& jid);  			JID myJID_;  			XMPPRoster* xmppRoster_;  			MainWindowFactory* mainWindowFactory_;  			MainWindow* mainWindow_;  			Roster* roster_;  			OfflineRosterFilter* offlineFilter_; +			VCardManager* vcardManager_;  			AvatarManager* avatarManager_;  			NickManager* nickManager_;  			NickResolver* nickResolver_;  			PresenceOracle* presenceOracle_;  			SubscriptionManager* subscriptionManager_;  			EventController* eventController_;  			RosterGroupExpandinessPersister* expandiness_;  			IQRouter* iqRouter_;  			SettingsProvider* settings_;  			UIEventStream* uiEventStream_;  			EntityCapsProvider* entityCapsManager_;  			FileTransferOverview* ftOverview_;  			ClientBlockListManager* clientBlockListManager_;  			RosterVCardProvider* rosterVCardProvider_; +			boost::shared_ptr<ContactRosterItem> ownContact_;  			boost::bsignals::scoped_connection blockingOnStateChangedConnection_;  			boost::bsignals::scoped_connection blockingOnItemAddedConnection_;  			boost::bsignals::scoped_connection blockingOnItemRemovedConnection_;  			boost::bsignals::scoped_connection changeStatusConnection_;  			boost::bsignals::scoped_connection signOutConnection_;  			boost::bsignals::scoped_connection uiEventConnection_;  	};  }  | 
 Swift