summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.h
diff options
context:
space:
mode:
authorDmitry Oleshko <doleshko@productengine.com>2009-10-26 19:03:55 +0200
committerDmitry Oleshko <doleshko@productengine.com>2009-10-26 19:03:55 +0200
commit1d4d4fec00aacb1e1e00a4f60a6af4d8ed3b8bde (patch)
tree800f9e701813376f460b40863821731db0efe407 /indra/newview/llimfloater.h
parentfa13628e9d56d473ae1fd8f4aa53afaf6a229e7b (diff)
parente874fbc8f052e3a7a16d4b4d61a35a4c49dab1cd (diff)
merge
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llimfloater.h')
-rw-r--r--indra/newview/llimfloater.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h
index 99810b6d6d..3559e14c89 100644
--- a/indra/newview/llimfloater.h
+++ b/indra/newview/llimfloater.h
@@ -55,6 +55,8 @@ public:
// LLView overrides
/*virtual*/ BOOL postBuild();
/*virtual*/ void setVisible(BOOL visible);
+ // Check typing timeout timer.
+ /*virtual*/ void draw();
// LLFloater overrides
/*virtual*/ void onClose(bool app_quitting);
@@ -85,6 +87,7 @@ public:
void setPositioned(bool b) { mPositioned = b; };
void onVisibilityChange(const LLSD& new_visibility);
+ void processIMTyping(const LLIMInfo* im_info, BOOL typing);
private:
// process focus events to set a currently active session
@@ -94,7 +97,7 @@ private:
static void onInputEditorFocusReceived( LLFocusableElement* caller, void* userdata );
static void onInputEditorFocusLost(LLFocusableElement* caller, void* userdata);
static void onInputEditorKeystroke(LLLineEditor* caller, void* userdata);
- void setTyping(BOOL typing);
+ void setTyping(bool typing);
void onSlide();
static void* createPanelIMControl(void* userdata);
static void* createPanelGroupControl(void* userdata);
@@ -103,6 +106,11 @@ private:
static void chatFromLogFile(LLLogChat::ELogLineType type, std::string line, void* userdata);
+ // Add the "User is typing..." indicator.
+ void addTypingIndicator(const LLIMInfo* im_info);
+
+ // Remove the "User is typing..." indicator.
+ void removeTypingIndicator(const LLIMInfo* im_info = NULL);
LLPanelChatControlPanel* mControlPanel;
LLUUID mSessionID;
@@ -114,6 +122,14 @@ private:
LLLineEditor* mInputEditor;
bool mPositioned;
+ std::string mSavedTitle;
+ LLUIString mTypingStart;
+ bool mMeTyping;
+ bool mOtherTyping;
+ bool mShouldSendTypingState;
+ LLFrameTimer mTypingTimer;
+ LLFrameTimer mTypingTimeoutTimer;
+
bool mSessionInitialized;
LLSD mQueuedMsgsForInit;
};