diff options
Diffstat (limited to 'linden/indra/newview/llimpanel.h')
-rw-r--r-- | linden/indra/newview/llimpanel.h | 42 |
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 | ||
101 | private: | 112 | private: |
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: | |||
129 | private: | 140 | private: |
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 | ||