diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index f2d67bb82..59f2b5049 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1639,7 +1639,7 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo LLNameListCtrl::NameItem item_params; item_params.value = owner_id; - item_params.target = is_group_owned ? LLNameListCtrl::GROUP : LLNameListCtrl::INDIVIDUAL; + item_params.target = is_group_owned ? LLNameListItem::GROUP : LLNameListItem::INDIVIDUAL; if (is_group_owned) { diff --git a/indra/newview/llfloatermute.cpp b/indra/newview/llfloatermute.cpp index fe1890b92..a3edaf531 100644 --- a/indra/newview/llfloatermute.cpp +++ b/indra/newview/llfloatermute.cpp @@ -267,20 +267,20 @@ void LLFloaterMute::refreshMuteList() { case LLMute::GROUP: icon_column.value = mGroupIcon->getName(); - element.target = LLNameListCtrl::GROUP; + element.target = LLNameListItem::GROUP; break; case LLMute::AGENT: icon_column.value = mAvatarIcon->getName(); - element.target = LLNameListCtrl::INDIVIDUAL; + element.target = LLNameListItem::INDIVIDUAL; break; case LLMute::OBJECT: icon_column.value = mObjectIcon->getName(); - element.target = LLNameListCtrl::SPECIAL; + element.target = LLNameListItem::SPECIAL; break; case LLMute::BY_NAME: default: icon_column.value = mNameIcon->getName(); - element.target = LLNameListCtrl::SPECIAL; + element.target = LLNameListItem::SPECIAL; break; } diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp index f5d3d6a2e..fae403213 100644 --- a/indra/newview/llnamelistctrl.cpp +++ b/indra/newview/llnamelistctrl.cpp @@ -42,11 +42,11 @@ static LLRegisterWidget r("name_list"); -void LLNameListCtrl::NameTypeNames::declareValues() +void LLNameListItem::NameTypeNames::declareValues() { - declare("INDIVIDUAL", LLNameListCtrl::INDIVIDUAL); - declare("GROUP", LLNameListCtrl::GROUP); - declare("SPECIAL", LLNameListCtrl::SPECIAL); + declare("INDIVIDUAL", INDIVIDUAL); + declare("GROUP", GROUP); + declare("SPECIAL", SPECIAL); } LLNameListCtrl::LLNameListCtrl(const std::string& name, const LLRect& rect, BOOL allow_multiple_selection, BOOL draw_border, bool draw_heading, S32 name_column_index, const std::string& name_system, const std::string& tooltip) @@ -68,7 +68,7 @@ LLScrollListItem* LLNameListCtrl::addNameItem(const LLUUID& agent_id, EAddPositi NameItem item; item.value = agent_id; item.enabled = enabled; - item.target = INDIVIDUAL; + item.target = LLNameListItem::INDIVIDUAL; return addNameItemRow(item, pos, suffix, prefix); } @@ -129,7 +129,7 @@ void LLNameListCtrl::addGroupNameItem(const LLUUID& group_id, EAddPosition pos, NameItem item; item.value = group_id; item.enabled = enabled; - item.target = GROUP; + item.target = LLNameListItem::GROUP; addNameItemRow(item, pos); } @@ -137,13 +137,13 @@ void LLNameListCtrl::addGroupNameItem(const LLUUID& group_id, EAddPosition pos, // public void LLNameListCtrl::addGroupNameItem(LLNameListCtrl::NameItem& item, EAddPosition pos) { - item.target = GROUP; + item.target = LLNameListItem::GROUP; addNameItemRow(item, pos); } LLScrollListItem* LLNameListCtrl::addNameItem(LLNameListCtrl::NameItem& item, EAddPosition pos) { - item.target = INDIVIDUAL; + item.target = LLNameListItem::INDIVIDUAL; return addNameItemRow(item, pos); } @@ -164,7 +164,7 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow( const std::string& prefix) { LLUUID id = name_item.value().asUUID(); - LLNameListItem* item = new LLNameListItem(name_item,name_item.target() == GROUP); + LLNameListItem* item = new LLNameListItem(name_item); if (!item) return NULL; @@ -174,7 +174,7 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow( std::string fullname = name_item.name; switch(name_item.target) { - case GROUP: + case LLNameListItem::GROUP: if (!gCacheName->getGroupName(id, fullname)) { avatar_name_cache_connection_map_t::iterator it = mAvatarNameCacheConnections.find(id); @@ -189,10 +189,10 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow( mAvatarNameCacheConnections[id] = gCacheName->getGroup(id, boost::bind(&LLNameListCtrl::onGroupNameCache, this, _1, _2, item->getHandle())); } break; - case SPECIAL: + case LLNameListItem::SPECIAL: // just use supplied name break; - case INDIVIDUAL: + case LLNameListItem::INDIVIDUAL: { LLAvatarName av_name; if (id.isNull()) diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h index 46c837c54..3c08b2d83 100644 --- a/indra/newview/llnamelistctrl.h +++ b/indra/newview/llnamelistctrl.h @@ -42,24 +42,47 @@ class LLAvatarName; class LLNameListItem : public LLScrollListItem, public LLHandleProvider { public: - bool isGroup() const { return mIsGroup; } - void setIsGroup(bool is_group) { mIsGroup = is_group; } + enum ENameType + { + INDIVIDUAL, + GROUP, + SPECIAL + }; + + // provide names for enums + struct NameTypeNames : public LLInitParam::TypeValuesHelper + { + static void declareValues(); + }; + + struct Params : public LLInitParam::Block + { + Optional name; + Optional target; + + Params() + : name("name"), + target("target", INDIVIDUAL) + {} + }; + ENameType getNameType() const { return mNameType; } + void setNameType(ENameType name_type) { mNameType = name_type; } protected: friend class LLNameListCtrl; - LLNameListItem( const LLScrollListItem::Params& p ) - : LLScrollListItem(p), mIsGroup(false) + LLNameListItem( const Params& p ) + : LLScrollListItem(p), mNameType(p.target) { } - LLNameListItem( const LLScrollListItem::Params& p, bool is_group ) - : LLScrollListItem(p), mIsGroup(is_group) + LLNameListItem( const LLScrollListItem::Params& p, ENameType name_type) + : LLScrollListItem(p), mNameType(name_type) { } private: - bool mIsGroup; + ENameType mNameType; }; @@ -68,30 +91,7 @@ class LLNameListCtrl { public: typedef boost::signals2::signal namelist_complete_signal_t; - - typedef enum e_name_type - { - INDIVIDUAL, - GROUP, - SPECIAL - } ENameType; - - // provide names for enums - struct NameTypeNames : public LLInitParam::TypeValuesHelper - { - static void declareValues(); - }; - - struct NameItem : public LLInitParam::Block - { - Optional name; - Optional target; - - NameItem() - : name("name"), - target("target", INDIVIDUAL) - {} - }; + typedef LLNameListItem::Params NameItem; struct NameColumn : public LLInitParam::ChoiceBlock {