diff options
author | Merov Linden <merov@lindenlab.com> | 2012-10-03 16:57:48 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-10-03 16:57:48 -0700 |
commit | ba5760a4d9d110890aab26a394479b36e60915d7 (patch) | |
tree | acad21a7c576de056bfa21a37027a673feab8fad /indra/newview/llconversationmodel.h | |
parent | bd64c483639ae33518609398fce7c51ddc73dae7 (diff) | |
parent | f2510ca0d629a2cd6cd85588698672f5a0c4e64a (diff) |
Pull merge from richard/viewer-chui
Diffstat (limited to 'indra/newview/llconversationmodel.h')
-rwxr-xr-x | indra/newview/llconversationmodel.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h index 32280f3293..7218cdf25a 100755 --- a/indra/newview/llconversationmodel.h +++ b/indra/newview/llconversationmodel.h @@ -41,6 +41,8 @@ class LLConversationItemParticipant; typedef std::map<LLUUID, LLConversationItem*> conversations_items_map; typedef std::map<LLUUID, LLFolderViewItem*> conversations_widgets_map; +typedef std::vector<std::string> menuentry_vec_t; + // Conversation items: we hold a list of those and create an LLFolderViewItem widget for each // that we tuck into the mConversationsListPanel. class LLConversationItem : public LLFolderViewModelItemCommon @@ -126,6 +128,8 @@ public: void postEvent(const std::string& event_type, LLConversationItemParticipant* participant); + void buildParticipantMenuOptions(menuentry_vec_t& items); + protected: std::string mName; // Name of the session or the participant LLUUID mUUID; // UUID of the session or the participant @@ -157,6 +161,8 @@ public: bool isLoaded() { return mIsLoaded; } + void buildContextMenu(LLMenuGL& menu, U32 flags); + void addVoiceOptions(menuentry_vec_t& items); virtual const bool getTime(F64& time) const; void dumpDebugData(); @@ -180,7 +186,8 @@ public: void setIsModerator(bool is_moderator) { mIsModerator = is_moderator; mNeedsRefresh = true; } void setTimeNow() { mLastActiveTime = LLFrameTimer::getElapsedSeconds(); mNeedsRefresh = true; } void setDistance(F64 dist) { mDistToAgent = dist; mNeedsRefresh = true; } - + + void buildContextMenu(LLMenuGL& menu, U32 flags); void onAvatarNameCache(const LLAvatarName& av_name); virtual const bool getDistanceToAgent(F64& dist) const { dist = mDistToAgent; return (dist >= 0.0); } @@ -275,4 +282,15 @@ public: private: }; +// Utility function to hide all entries except those in the list +// Can be called multiple times on the same menu (e.g. if multiple items +// are selected). If "append" is false, then only common enabled items +// are set as enabled. + +//(defined in inventorybridge.cpp) +//TODO: Gilbert Linden - Refactor to make this function non-global +void hide_context_entries(LLMenuGL& menu, + const menuentry_vec_t &entries_to_show, + const menuentry_vec_t &disabled_entries); + #endif // LL_LLCONVERSATIONMODEL_H |