summaryrefslogtreecommitdiff
path: root/indra/newview/llsyswellwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsyswellwindow.h')
-rw-r--r--indra/newview/llsyswellwindow.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h
index 43b2723df0..736b1b9fb4 100644
--- a/indra/newview/llsyswellwindow.h
+++ b/indra/newview/llsyswellwindow.h
@@ -47,6 +47,7 @@ class LLFlatListView;
class LLChiclet;
class LLIMChiclet;
class LLScriptChiclet;
+class LLSysWellChiclet;
class LLSysWellWindow : public LLDockableFloater
@@ -78,6 +79,8 @@ public:
void onStartUpToastClick(S32 x, S32 y, MASK mask);
+ void setSysWellChiclet(LLSysWellChiclet* chiclet) { mSysWellChiclet = chiclet; }
+
// size constants for the window and for its elements
static const S32 MAX_WINDOW_HEIGHT = 200;
static const S32 MIN_WINDOW_WIDTH = 318;
@@ -104,12 +107,18 @@ protected:
virtual const std::string& getAnchorViewName() = 0;
void reshapeWindow();
+ void releaseNewMessagesState();
// pointer to a corresponding channel's instance
LLNotificationsUI::LLScreenChannel* mChannel;
LLFlatListView* mMessageList;
/**
+ * Reference to an appropriate Well chiclet to release "new message" state. EXT-3147
+ */
+ LLSysWellChiclet* mSysWellChiclet;
+
+ /**
* Special panel which is used as separator of Notifications & IM Rows.
* It is always presents in the list and shown when it is necessary.
* It should be taken into account when reshaping and checking list size
@@ -179,9 +188,14 @@ public:
/*virtual*/ void sessionRemoved(const LLUUID& session_id);
/*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
+ void onNewIM(const LLSD& data);
+
void addObjectRow(const LLUUID& object_id, bool new_message = false);
void removeObjectRow(const LLUUID& object_id);
+ void addIMRow(const LLUUID& session_id);
+ bool hasIMRow(const LLUUID& session_id);
+
protected:
/*virtual*/ const std::string& getAnchorViewName() { return IM_WELL_ANCHOR_NAME; }