aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llimpanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llimpanel.h')
-rw-r--r--linden/indra/newview/llimpanel.h42
1 files changed, 29 insertions, 13 deletions
diff --git a/linden/indra/newview/llimpanel.h b/linden/indra/newview/llimpanel.h
index 877fd88..e760513 100644
--- a/linden/indra/newview/llimpanel.h
+++ b/linden/indra/newview/llimpanel.h
@@ -4,6 +4,7 @@
4 * 4 *
5 * Copyright (c) 2001-2007, Linden Research, Inc. 5 * Copyright (c) 2001-2007, Linden Research, Inc.
6 * 6 *
7 * Second Life Viewer Source Code
7 * The source code in this file ("Source Code") is provided by Linden Lab 8 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0 9 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement 10 * ("GPL"), unless you have obtained a separate licensing agreement
@@ -46,10 +47,20 @@ public:
46 // the default. For example, if you open a session though a 47 // the default. For example, if you open a session though a
47 // calling card, a new session id will be generated, but the 48 // calling card, a new session id will be generated, but the
48 // target_id will be the agent referenced by the calling card. 49 // target_id will be the agent referenced by the calling card.
49 LLFloaterIMPanel(const std::string& name, const LLRect& rect, 50 LLFloaterIMPanel(const std::string& name,
50 const std::string& session_label, 51 const LLRect& rect,
51 const LLUUID& session_id, const LLUUID& target_id, 52 const std::string& session_label,
52 EInstantMessage dialog); 53 const LLUUID& session_id,
54 const LLUUID& target_id,
55 EInstantMessage dialog);
56 LLFloaterIMPanel(const std::string& name,
57 const LLRect& rect,
58 const std::string& session_label,
59 const LLUUID& session_id,
60 const LLUUID& target_id,
61 const LLDynamicArray<LLUUID>& ids,
62 EInstantMessage dialog);
63
53 64
54 /*virtual*/ BOOL postBuild(); 65 /*virtual*/ BOOL postBuild();
55 66
@@ -78,21 +89,21 @@ public:
78 LLString& tooltip_msg); 89 LLString& tooltip_msg);
79 90
80 static void onInputEditorFocusReceived( LLUICtrl* caller, void* userdata ); 91 static void onInputEditorFocusReceived( LLUICtrl* caller, void* userdata );
81 static void onInputEditorFocusLost(LLLineEditor* caller, void* userdata); 92 static void onInputEditorFocusLost(LLUICtrl* caller, void* userdata);
82 static void onInputEditorKeystroke(LLLineEditor* caller, void* userdata); 93 static void onInputEditorKeystroke(LLLineEditor* caller, void* userdata);
83 static void onTabClick( void* userdata ); 94 static void onTabClick( void* userdata );
84 95
85 static void onClickProfile( void* userdata ); // Profile button pressed 96 static void onClickProfile( void* userdata ); // Profile button pressed
86 static void onClickClose( void* userdata ); 97 static void onClickClose( void* userdata );
87 98
88 //const LLUUID& getItemUUID() const { return mItemUUID; }
89 const LLUUID& getSessionID() const { return mSessionUUID; } 99 const LLUUID& getSessionID() const { return mSessionUUID; }
90 const LLUUID& getOtherParticipantID() const { return mOtherParticipantUUID; } 100 const LLUUID& getOtherParticipantID() const { return mOtherParticipantUUID; }
91 101
92 // HACK -- for enabling a teleport button for helpers 102 // HACK -- for enabling a teleport button for helpers
93 static void onTeleport(void* userdata); 103 static void onTeleport(void* userdata);
94 void addTeleportButton(const LLUUID& lure_id); 104 void addTeleportButton();
95 void removeTeleportButton(); 105
106 void sessionInitReplyReceived(const LLUUID& im_session_id);
96 107
97 // Handle other participant in the session typing. 108 // Handle other participant in the session typing.
98 void processIMTyping(const LLIMInfo* im_info, BOOL typing); 109 void processIMTyping(const LLIMInfo* im_info, BOOL typing);
@@ -100,7 +111,7 @@ public:
100 111
101private: 112private:
102 // called by constructors 113 // called by constructors
103 void init(); 114 void init(const LLString& session_label);
104 115
105 // Called by UI methods. 116 // Called by UI methods.
106 void sendMsg(); 117 void sendMsg();
@@ -129,7 +140,6 @@ private:
129private: 140private:
130 LLLineEditor* mInputEditor; 141 LLLineEditor* mInputEditor;
131 LLViewerTextEditor* mHistoryEditor; 142 LLViewerTextEditor* mHistoryEditor;
132 std::string mSessionLabel;
133 143
134 // The value of the mSessionUUID depends on how the IM session was started: 144 // The value of the mSessionUUID depends on how the IM session was started:
135 // one-on-one ==> random id 145 // one-on-one ==> random id
@@ -138,15 +148,17 @@ private:
138 // 911 ==> Gaurdian_Angel_Group_ID ^ gAgent.getID() 148 // 911 ==> Gaurdian_Angel_Group_ID ^ gAgent.getID()
139 LLUUID mSessionUUID; 149 LLUUID mSessionUUID;
140 150
151 BOOL mSessionInitRequested;
152 BOOL mSessionInitialized;
153 LLSD mQueuedMsgsForInit;
154
141 // The value mOtherParticipantUUID depends on how the IM session was started: 155 // The value mOtherParticipantUUID depends on how the IM session was started:
142 // one-on-one = recipient's id 156 // one-on-one = recipient's id
143 // group ==> group_id 157 // group ==> group_id
144 // inventory folder ==> first target id in list 158 // inventory folder ==> first target id in list
145 // 911 ==> sender 159 // 911 ==> sender
146 LLUUID mOtherParticipantUUID; 160 LLUUID mOtherParticipantUUID;
147 161 LLDynamicArray<LLUUID> mSessionInitialTargetIDs;
148 // the lure ID for help IM sessions
149 LLUUID mLureID;
150 162
151 EInstantMessage mDialog; 163 EInstantMessage mDialog;
152 164
@@ -158,6 +170,8 @@ private:
158 170
159 // Where does the "User is typing..." line start? 171 // Where does the "User is typing..." line start?
160 S32 mTypingLineStartIndex; 172 S32 mTypingLineStartIndex;
173 //Where does the "Starting session..." line start?
174 S32 mSessionStartMsgPos;
161 175
162 BOOL mSentTypingState; 176 BOOL mSentTypingState;
163 177
@@ -168,6 +182,8 @@ private:
168 182
169 // Timer to detect when user has stopped typing. 183 // Timer to detect when user has stopped typing.
170 LLFrameTimer mLastKeystrokeTimer; 184 LLFrameTimer mLastKeystrokeTimer;
185
186 void disableWhileSessionStarting();
171}; 187};
172 188
173 189