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