diff options
Diffstat (limited to 'indra/newview/llpanelavatar.h')
-rw-r--r-- | indra/newview/llpanelavatar.h | 90 |
1 files changed, 76 insertions, 14 deletions
diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h index ae0b8e9844..bb8df2ff9c 100644 --- a/indra/newview/llpanelavatar.h +++ b/indra/newview/llpanelavatar.h @@ -35,9 +35,12 @@ #include "llpanel.h" #include "llavatarpropertiesprocessor.h" +#include "llcallingcard.h" +#include "llvoiceclient.h" class LLComboBox; class LLLineEditor; +class LLToggleableMenu; enum EOnlineStatus { @@ -46,7 +49,7 @@ enum EOnlineStatus }; /** -* Base class for any Profile View or Me Profile Panel. +* Base class for any Profile View or My Profile Panel. */ class LLPanelProfileTab : public LLPanel @@ -105,6 +108,10 @@ protected: */ void scrollToTop(); + virtual void onMapButtonClick(); + + virtual void updateButtons(); + private: LLUUID mAvatarId; @@ -115,13 +122,27 @@ private: */ class LLPanelAvatarProfile : public LLPanelProfileTab + , public LLFriendObserver + , public LLVoiceClientStatusObserver { public: LLPanelAvatarProfile(); + /*virtual*/ ~LLPanelAvatarProfile(); /*virtual*/ void onOpen(const LLSD& key); /** + * LLFriendObserver trigger + */ + virtual void changed(U32 mask); + + // Implements LLVoiceClientStatusObserver::onChange() to enable the call + // button when voice is available + /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); + + /*virtual*/ void setAvatarId(const LLUUID& id); + + /** * Processes data received from server. */ /*virtual*/ void processProperties(void* data, EAvatarProcessorType type); @@ -147,7 +168,7 @@ protected: virtual void processGroupProperties(const LLAvatarGroups* avatar_groups); /** - * Fills common for Avatar profile and Me Profile fields. + * Fills common for Avatar profile and My Profile fields. */ virtual void fillCommonData(const LLAvatarData* avatar_data); @@ -157,36 +178,59 @@ protected: virtual void fillPartnerData(const LLAvatarData* avatar_data); /** - * Fills Avatar's online status. - */ - virtual void fillOnlineStatus(const LLAvatarData* avatar_data); - - /** * Fills account status. */ virtual void fillAccountStatus(const LLAvatarData* avatar_data); - void onUrlTextboxClicked(const std::string& url); - void onHomepageTextboxClicked(); + /** + * Opens "Pay Resident" dialog. + */ + void pay(); + + /** + * opens inventory and IM for sharing items + */ + void share(); + + /** + * Add/remove resident to/from your block list. + */ + void toggleBlock(); + + void kick(); + void freeze(); + void unfreeze(); + void csr(); + + bool enableShowOnMap(); + bool enableBlock(); + bool enableUnblock(); + bool enableGod(); + + void onAddFriendButtonClick(); void onIMButtonClick(); void onCallButtonClick(); void onTeleportButtonClick(); void onShareButtonClick(); + void onOverflowButtonClicked(); private: - std::string mGroups; + typedef std::map< std::string,LLUUID> group_map_t; + group_map_t mGroups; + + LLToggleableMenu* mProfileMenu; }; /** * Panel for displaying own first and second life related info. */ -class LLPanelAvatarMeProfile +class LLPanelMyProfile : public LLPanelAvatarProfile { public: - LLPanelAvatarMeProfile(); + LLPanelMyProfile(); /*virtual*/ BOOL postBuild(); @@ -214,13 +258,27 @@ private: }; /** -* Panel for displaying Avatar's notes and modifying friend's rights. -*/ + * Panel for displaying Avatar's notes and modifying friend's rights. + */ class LLPanelAvatarNotes : public LLPanelProfileTab + , public LLFriendObserver + , public LLVoiceClientStatusObserver { public: LLPanelAvatarNotes(); + /*virtual*/ ~LLPanelAvatarNotes(); + + virtual void setAvatarId(const LLUUID& id); + + /** + * LLFriendObserver trigger + */ + virtual void changed(U32 mask); + + // Implements LLVoiceClientStatusObserver::onChange() to enable the call + // button when voice is available + /*virtual*/ void onChange(EStatusType status, const std::string &channelURI, bool proximal); /*virtual*/ void onOpen(const LLSD& key); @@ -241,6 +299,9 @@ protected: */ void fillRightsData(); + void rightsConfirmationCallback(const LLSD& notification, + const LLSD& response, S32 rights); + void confirmModifyRights(bool grant, S32 rights); void onCommitRights(); void onCommitNotes(); @@ -249,6 +310,7 @@ protected: void onCallButtonClick(); void onTeleportButtonClick(); void onShareButtonClick(); + void enableCheckboxes(bool enable); }; #endif // LL_LLPANELAVATAR_H |