summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llconversationmodel.cpp33
-rw-r--r--indra/newview/llconversationmodel.h16
-rw-r--r--indra/newview/llconversationview.cpp13
-rw-r--r--indra/newview/llconversationview.h14
-rw-r--r--indra/newview/llimfloatercontainer.cpp2
5 files changed, 75 insertions, 3 deletions
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index 832dc3c3e4..f54e6d2d48 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -29,7 +29,10 @@
#include "llconversationmodel.h"
-// Conversation items
+//
+// Conversation items : common behaviors
+//
+
LLConversationItem::LLConversationItem(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model) :
LLFolderViewModelItemCommon(root_view_model),
mName(display_name),
@@ -73,4 +76,32 @@ bool LLConversationSort::operator()(const LLConversationItem* const& a, const LL
return (compare < 0);
}
+//
+// LLConversationItemSession
+//
+
+LLConversationItemSession::LLConversationItemSession(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model) :
+ LLConversationItem(display_name,uuid,root_view_model)
+{
+}
+
+LLConversationItemSession::LLConversationItemSession(LLFolderViewModelInterface& root_view_model) :
+ LLConversationItem(root_view_model)
+{
+}
+
+//
+// LLConversationItemParticipant
+//
+
+LLConversationItemParticipant::LLConversationItemParticipant(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model) :
+ LLConversationItem(display_name,uuid,root_view_model)
+{
+}
+
+LLConversationItemParticipant::LLConversationItemParticipant(LLFolderViewModelInterface& root_view_model) :
+ LLConversationItem(root_view_model)
+{
+}
+
// EOF
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h
index cb03128cac..fc2c600364 100644
--- a/indra/newview/llconversationmodel.h
+++ b/indra/newview/llconversationmodel.h
@@ -104,6 +104,22 @@ private:
const LLUUID mUUID;
};
+class LLConversationItemSession : public LLConversationItem
+{
+public:
+ LLConversationItemSession(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model);
+ LLConversationItemSession(LLFolderViewModelInterface& root_view_model);
+ virtual ~LLConversationItemSession() {}
+};
+
+class LLConversationItemParticipant : public LLConversationItem
+{
+public:
+ LLConversationItemParticipant(std::string display_name, const LLUUID& uuid, LLFolderViewModelInterface& root_view_model);
+ LLConversationItemParticipant(LLFolderViewModelInterface& root_view_model);
+ virtual ~LLConversationItemParticipant() {}
+};
+
// We don't want to ever filter conversations but we need to declare that class to create a conversation view model.
// We just stubb everything for the moment.
class LLConversationFilter : public LLFolderViewFilter
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 6cc911ecef..fefb7e9cac 100644
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -32,6 +32,10 @@
#include "llimconversation.h"
#include "llimfloatercontainer.h"
+//
+// Implementation of conversations list session widgets
+//
+
LLConversationViewSession::Params::Params() :
container()
{}
@@ -75,4 +79,13 @@ void LLConversationViewSession::setVisibleIfDetached(BOOL visible)
}
}
+//
+// Implementation of conversations list participant (avatar) widgets
+//
+
+LLConversationViewParticipant::LLConversationViewParticipant( const LLFolderViewItem::Params& p ):
+ LLFolderViewItem(p)
+{
+}
+
// EOF
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index 6a51e719c8..5695925f43 100644
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -31,7 +31,7 @@
class LLIMFloaterContainer;
-// Implementation of conversations list widgets
+// Implementation of conversations list session widgets
class LLConversationViewSession : public LLFolderViewFolder
{
@@ -55,4 +55,16 @@ public:
void setVisibleIfDetached(BOOL visible);
};
+// Implementation of conversations list participant (avatar) widgets
+
+class LLConversationViewParticipant : public LLFolderViewItem
+{
+protected:
+ friend class LLUICtrlFactory;
+ LLConversationViewParticipant( const LLFolderViewItem::Params& p );
+
+public:
+ virtual ~LLConversationViewParticipant( void ) { }
+};
+
#endif // LL_LLCONVERSATIONVIEW_H
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 32ef292763..4d0bd623f8 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -471,7 +471,7 @@ void LLIMFloaterContainer::addConversationListItem(const LLUUID& uuid)
removeConversationListItem(uuid,false);
// Create a conversation item
- LLConversationItem* item = new LLConversationItem(display_name, uuid, getRootViewModel());
+ LLConversationItem* item = new LLConversationItemSession(display_name, uuid, getRootViewModel());
mConversationsItems[uuid] = item;
// Create a widget from it