diff options
-rw-r--r-- | indra/llui/llfolderviewitem.h | 3 | ||||
-rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llimfloatercontainer.h | 3 |
3 files changed, 7 insertions, 7 deletions
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h index 19caa7f020..4eda02f13f 100644 --- a/indra/llui/llfolderviewitem.h +++ b/indra/llui/llfolderviewitem.h @@ -406,15 +406,12 @@ public: LLFolderViewFolder* getCommonAncestor(LLFolderViewItem* item_a, LLFolderViewItem* item_b, bool& reverse); void gatherChildRangeExclusive(LLFolderViewItem* start, LLFolderViewItem* end, bool reverse, std::vector<LLFolderViewItem*>& items); -protected: - friend void LLFolderViewItem::addToFolder(LLFolderViewFolder*); // internal functions for tracking folders and items separately // use addToFolder() virtual method to ensure folders are always added to mFolders // and not mItems void addItem(LLFolderViewItem* item); void addFolder( LLFolderViewFolder* folder); -public: //WARNING: do not call directly...use the appropriate LLFolderViewModel-derived class instead template<typename SORT_FUNC> void sortFolders(const SORT_FUNC& func) { mFolders.sort(func); } template<typename SORT_FUNC> void sortItems(const SORT_FUNC& func) { mItems.sort(func); } diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index 405a2b3255..cc094fcaa1 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -100,7 +100,7 @@ BOOL LLIMFloaterContainer::postBuild() mConversationsListPanel = getChild<LLPanel>("conversations_list_panel"); // CHUI-98 : View Model for conversations - LLConversationItem* base_item = new LLConversationItem(); + LLConversationItem* base_item = new LLConversationItem(this); LLFolderView::Params p; p.view_model = &mConversationViewModel; p.parent_panel = mConversationsListPanel; @@ -456,7 +456,7 @@ void LLIMFloaterContainer::addConversationListItem(std::string name, const LLUUI mConversationsWidgets[floaterp] = widget; // Add a new conversation widget to the root folder of a folder view. - mConversationsRoot->addItem(widget); + widget->addToFolder(mConversationsRoot); // Add it to the UI widget->setVisible(TRUE); @@ -533,6 +533,7 @@ LLFolderViewItem* LLIMFloaterContainer::createConversationItemWidget(LLConversat // Conversation items LLConversationItem::LLConversationItem(std::string name, const LLUUID& uuid, LLFloater* floaterp, LLIMFloaterContainer* containerp) : + LLFolderViewModelItemCommon(containerp->getRootViewModel()), mName(name), mUUID(uuid), mFloater(floaterp), @@ -540,7 +541,8 @@ LLConversationItem::LLConversationItem(std::string name, const LLUUID& uuid, LLF { } -LLConversationItem::LLConversationItem() : +LLConversationItem::LLConversationItem(LLIMFloaterContainer* containerp) : + LLFolderViewModelItemCommon(containerp->getRootViewModel()), mName(""), mUUID(), mFloater(NULL), diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h index 9b487dd652..b352e8a004 100644 --- a/indra/newview/llimfloatercontainer.h +++ b/indra/newview/llimfloatercontainer.h @@ -57,7 +57,7 @@ class LLConversationItem : public LLFolderViewModelItemCommon { public: LLConversationItem(std::string name, const LLUUID& uuid, LLFloater* floaterp, LLIMFloaterContainer* containerp); - LLConversationItem(); + LLConversationItem(LLIMFloaterContainer* containerp); virtual ~LLConversationItem() {} // Stub those things we won't really be using in this conversation context @@ -241,6 +241,7 @@ public: /*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id); /*virtual*/ void sessionRemoved(const LLUUID& session_id); /*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) {}; + LLConversationViewModel& getRootViewModel() { return mConversationViewModel; } private: typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t; |