summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelavatar.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelavatar.h')
-rw-r--r--indra/newview/llpanelavatar.h90
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