diff options
Diffstat (limited to 'indra/newview/llavatarlist.h')
-rw-r--r-- | indra/newview/llavatarlist.h | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h index ec801645fe..490f93e501 100644 --- a/indra/newview/llavatarlist.h +++ b/indra/newview/llavatarlist.h @@ -37,6 +37,8 @@ #include "llavatarlistitem.h" +class LLTimer; + /** * Generic list of avatars. * @@ -55,13 +57,16 @@ public: struct Params : public LLInitParam::Block<Params, LLFlatListView::Params> { - Optional<S32> volume_column_width; - Optional<bool> online_go_first; + Optional<bool> ignore_online_status; // show all items as online + Optional<bool> show_last_interaction_time; // show most recent interaction time. *HACK: move this to a derived class + Optional<bool> show_info_btn; + Optional<bool> show_profile_btn; + Optional<bool> show_speaking_indicator; Params(); }; LLAvatarList(const Params&); - virtual ~LLAvatarList() {} + virtual ~LLAvatarList(); virtual void draw(); // from LLView @@ -71,26 +76,47 @@ public: void setContextMenu(LLAvatarListItem::ContextMenu* menu) { mContextMenu = menu; } + void toggleIcons(); + void setSpeakingIndicatorsVisible(bool visible); void sortByName(); + void setShowIcons(std::string param_name); + bool getIconsVisible() const { return mShowIcons; } + const std::string getIconParamName() const{return mIconParamName;} + virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); + + // Return true if filter has at least one match. + bool filterHasMatches(); + + boost::signals2::connection setRefreshCompleteCallback(const commit_signal_t::slot_type& cb); protected: void refresh(); - void addNewItem(const LLUUID& id, const std::string& name, BOOL is_bold, EAddPosition pos = ADD_BOTTOM); + void addNewItem(const LLUUID& id, const std::string& name, BOOL is_online, EAddPosition pos = ADD_BOTTOM); void computeDifference( const std::vector<LLUUID>& vnew, std::vector<LLUUID>& vadded, std::vector<LLUUID>& vremoved); + void updateLastInteractionTimes(); private: - bool mOnlineGoFirst; + bool mIgnoreOnlineStatus; + bool mShowLastInteractionTime; bool mDirty; + bool mShowIcons; + bool mShowInfoBtn; + bool mShowProfileBtn; + bool mShowSpeakingIndicator; + LLTimer* mLITUpdateTimer; // last interaction time update timer + std::string mIconParamName; std::string mNameFilter; uuid_vector_t mIDs; LLAvatarListItem::ContextMenu* mContextMenu; + + commit_signal_t mRefreshCompleteSignal; }; /** Abstract comparator for avatar items */ |