aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
authorMcCabe Maxsted2009-09-09 02:31:31 -0700
committerMcCabe Maxsted2009-09-09 04:22:50 -0700
commitb4d35c8d24d1095cdb67864b6576ef280b76c646 (patch)
tree07828961852c1b8d3242d5b21a521a868e7302de /linden
parentApplied and tweaked last owner in tools window from Emerald viewer (diff)
downloadmeta-impy-b4d35c8d24d1095cdb67864b6576ef280b76c646.zip
meta-impy-b4d35c8d24d1095cdb67864b6576ef280b76c646.tar.gz
meta-impy-b4d35c8d24d1095cdb67864b6576ef280b76c646.tar.bz2
meta-impy-b4d35c8d24d1095cdb67864b6576ef280b76c646.tar.xz
Created my own version of Emerald's chat channel tool
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/app_settings/settings.xml11
-rw-r--r--linden/indra/newview/llchatbar.cpp43
-rw-r--r--linden/indra/newview/llchatbar.h5
-rw-r--r--linden/indra/newview/llfloaterchat.cpp31
-rw-r--r--linden/indra/newview/llfloaterchat.h2
-rw-r--r--linden/indra/newview/llprefschat.cpp23
-rw-r--r--linden/indra/newview/llprefsim.cpp2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml6
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml10
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_chat.xml16
10 files changed, 132 insertions, 17 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index a6a18e6..56d65f4 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -1105,6 +1105,17 @@
1105 <key>Value</key> 1105 <key>Value</key>
1106 <real>0.5</real> 1106 <real>0.5</real>
1107 </map> 1107 </map>
1108 <key>ChatChannelSelect</key>
1109 <map>
1110 <key>Comment</key>
1111 <string>Toggle custom channel controls in the chat bar</string>
1112 <key>Persist</key>
1113 <integer>1</integer>
1114 <key>Type</key>
1115 <string>Boolean</string>
1116 <key>Value</key>
1117 <integer>0</integer>
1118 </map>
1108 <key>ChatFontSize</key> 1119 <key>ChatFontSize</key>
1109 <map> 1120 <map>
1110 <key>Comment</key> 1121 <key>Comment</key>
diff --git a/linden/indra/newview/llchatbar.cpp b/linden/indra/newview/llchatbar.cpp
index 59aa572..0178420 100644
--- a/linden/indra/newview/llchatbar.cpp
+++ b/linden/indra/newview/llchatbar.cpp
@@ -53,6 +53,7 @@
53#include "llkeyboard.h" 53#include "llkeyboard.h"
54#include "lllineeditor.h" 54#include "lllineeditor.h"
55#include "llstatusbar.h" 55#include "llstatusbar.h"
56#include "llspinctrl.h"
56#include "lltextbox.h" 57#include "lltextbox.h"
57#include "lluiconstants.h" 58#include "lluiconstants.h"
58#include "llviewergesture.h" // for triggering gestures 59#include "llviewergesture.h" // for triggering gestures
@@ -98,6 +99,7 @@ private:
98 99
99LLChatBar::LLChatBar() 100LLChatBar::LLChatBar()
100: LLPanel(LLStringUtil::null, LLRect(), BORDER_NO), 101: LLPanel(LLStringUtil::null, LLRect(), BORDER_NO),
102 mChannelControl(FALSE),
101 mInputEditor(NULL), 103 mInputEditor(NULL),
102 mGestureLabelTimer(), 104 mGestureLabelTimer(),
103 mLastSpecialChatChannel(0), 105 mLastSpecialChatChannel(0),
@@ -151,6 +153,8 @@ BOOL LLChatBar::postBuild()
151 mInputEditor->setEnableLineHistory(TRUE); 153 mInputEditor->setEnableLineHistory(TRUE);
152 } 154 }
153 155
156 toggleChannelControl();
157
154 mIsBuilt = TRUE; 158 mIsBuilt = TRUE;
155 159
156 return TRUE; 160 return TRUE;
@@ -210,6 +214,7 @@ void LLChatBar::refresh()
210 214
211 childSetValue("History", LLFloaterChat::instanceVisible(LLSD())); 215 childSetValue("History", LLFloaterChat::instanceVisible(LLSD()));
212 216
217 childSetValue("channel_control",( 1.f * ((S32)(getChild<LLSpinCtrl>("channel_control")->get()))) );
213 childSetEnabled("Say", mInputEditor->getText().size() > 0); 218 childSetEnabled("Say", mInputEditor->getText().size() > 0);
214 childSetEnabled("Shout", mInputEditor->getText().size() > 0); 219 childSetEnabled("Shout", mInputEditor->getText().size() > 0);
215 220
@@ -370,8 +375,11 @@ LLWString LLChatBar::stripChannelNumber(const LLWString &mesg, S32* channel)
370 } 375 }
371 else 376 else
372 { 377 {
373 // This is normal chat. 378 if (!mChannelControl)
374 *channel = 0; 379 {
380 // This is normal chat.
381 *channel = 0;
382 }
375 return mesg; 383 return mesg;
376 } 384 }
377} 385}
@@ -387,7 +395,8 @@ void LLChatBar::sendChat( EChatType type )
387 // store sent line in history, duplicates will get filtered 395 // store sent line in history, duplicates will get filtered
388 if (mInputEditor) mInputEditor->updateHistory(); 396 if (mInputEditor) mInputEditor->updateHistory();
389 // Check if this is destined for another channel 397 // Check if this is destined for another channel
390 S32 channel = 0; 398 S32 channel = mChannelControl ? (S32)(getChild<LLSpinCtrl>("channel_control")->get()) : 0;
399
391 stripChannelNumber(text, &channel); 400 stripChannelNumber(text, &channel);
392 401
393 std::string utf8text = wstring_to_utf8str(text); 402 std::string utf8text = wstring_to_utf8str(text);
@@ -425,6 +434,31 @@ void LLChatBar::sendChat( EChatType type )
425 } 434 }
426} 435}
427 436
437void LLChatBar::toggleChannelControl()
438{
439 LLRect input_rect = mInputEditor->getRect();
440 S32 chan_width = getChild<LLSpinCtrl>("channel_control")->getRect().getWidth();
441 BOOL visible = gSavedSettings.getBOOL("ChatChannelSelect");
442 BOOL control = getChild<LLSpinCtrl>("channel_control")->getVisible();
443
444 if (visible && !control)
445 {
446 input_rect.setLeftTopAndSize(input_rect.mLeft+chan_width, input_rect.mTop,
447 input_rect.getWidth()-chan_width, input_rect.getHeight());
448 }
449 else if (!visible && control)
450 {
451 input_rect.setLeftTopAndSize(input_rect.mLeft-chan_width, input_rect.mTop,
452 input_rect.getWidth()+chan_width, input_rect.getHeight());
453
454 }
455 mInputEditor->setRect(input_rect);
456
457 childSetVisible("channel_control", visible);
458 childSetEnabled("channel_control", visible);
459 mChannelControl = visible;
460}
461
428 462
429//----------------------------------------------------------------------- 463//-----------------------------------------------------------------------
430// Static functions 464// Static functions
@@ -575,7 +609,8 @@ void LLChatBar::sendChatFromViewer(const std::string &utf8text, EChatType type,
575void LLChatBar::sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate) 609void LLChatBar::sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate)
576{ 610{
577 // Look for "/20 foo" channel chats. 611 // Look for "/20 foo" channel chats.
578 S32 channel = 0; 612 S32 channel = mChannelControl ? (S32)(getChild<LLSpinCtrl>("channel_control")->get()) : 0;
613 //S32 channel = (S32)(getChild<LLSpinCtrl>("ChatChannel")->get());
579 LLWString out_text = stripChannelNumber(wtext, &channel); 614 LLWString out_text = stripChannelNumber(wtext, &channel);
580 std::string utf8_out_text = wstring_to_utf8str(out_text); 615 std::string utf8_out_text = wstring_to_utf8str(out_text);
581 std::string utf8_text = wstring_to_utf8str(wtext); 616 std::string utf8_text = wstring_to_utf8str(wtext);
diff --git a/linden/indra/newview/llchatbar.h b/linden/indra/newview/llchatbar.h
index 72c797a..53ac233 100644
--- a/linden/indra/newview/llchatbar.h
+++ b/linden/indra/newview/llchatbar.h
@@ -93,6 +93,8 @@ public:
93 static void startChat(const char* line); 93 static void startChat(const char* line);
94 static void stopChat(); 94 static void stopChat();
95 95
96 void toggleChannelControl();
97
96protected: 98protected:
97 void sendChat(EChatType type); 99 void sendChat(EChatType type);
98 void updateChat(); 100 void updateChat();
@@ -109,6 +111,9 @@ protected:
109 LLComboBox* mGestureCombo; 111 LLComboBox* mGestureCombo;
110 112
111 LLChatBarGestureObserver* mObserver; 113 LLChatBarGestureObserver* mObserver;
114
115private:
116 BOOL mChannelControl;
112}; 117};
113 118
114extern LLChatBar *gChatBar; 119extern LLChatBar *gChatBar;
diff --git a/linden/indra/newview/llfloaterchat.cpp b/linden/indra/newview/llfloaterchat.cpp
index 5117b8d..f624ec3 100644
--- a/linden/indra/newview/llfloaterchat.cpp
+++ b/linden/indra/newview/llfloaterchat.cpp
@@ -56,10 +56,11 @@
56#include "llfloaterchatterbox.h" 56#include "llfloaterchatterbox.h"
57#include "llfloatermute.h" 57#include "llfloatermute.h"
58#include "llkeyboard.h" 58#include "llkeyboard.h"
59//#include "lllineeditor.h" 59#include "lllineeditor.h"
60#include "llmutelist.h" 60#include "llmutelist.h"
61//#include "llresizehandle.h" 61//#include "llresizehandle.h"
62#include "llchatbar.h" 62#include "llchatbar.h"
63#include "llspinctrl.h"
63#include "llstatusbar.h" 64#include "llstatusbar.h"
64#include "llviewertexteditor.h" 65#include "llviewertexteditor.h"
65#include "llviewergesture.h" // for triggering gestures 66#include "llviewergesture.h" // for triggering gestures
@@ -223,6 +224,34 @@ void log_chat_text(const LLChat& chat)
223 224
224 LLLogChat::saveHistory(std::string("chat"),histstr); 225 LLLogChat::saveHistory(std::string("chat"),histstr);
225} 226}
227
228// static
229void LLFloaterChat::toggleHistoryChannelControl()
230{
231 LLFloaterChat* chat_floater = LLFloaterChat::getInstance(LLSD());
232 BOOL visible = gSavedSettings.getBOOL("ChatChannelSelect");
233 BOOL control = chat_floater->getChild<LLSpinCtrl>("channel_control")->getVisible();
234
235 LLLineEditor* input = chat_floater->getChild<LLLineEditor>("Chat Editor");
236 LLRect input_rect = input->getRect();
237 S32 chan_width = chat_floater->getChild<LLSpinCtrl>("channel_control")->getRect().getWidth();
238
239 if (visible && !control)
240 {
241 input_rect.setLeftTopAndSize(input_rect.mLeft+chan_width+4, input_rect.mTop,
242 input_rect.getWidth()-chan_width, input_rect.getHeight());
243 }
244 else if (!visible && control)
245 {
246 input_rect.setLeftTopAndSize(input_rect.mLeft-chan_width-4, input_rect.mTop,
247 input_rect.getWidth()+chan_width, input_rect.getHeight());
248 }
249 input->setRect(input_rect);
250
251 chat_floater->childSetVisible("channel_control", visible);
252 chat_floater->childSetEnabled("channel_control", visible);
253}
254
226// static 255// static
227void LLFloaterChat::addChatHistory(const LLChat& chat, bool log_to_file) 256void LLFloaterChat::addChatHistory(const LLChat& chat, bool log_to_file)
228{ 257{
diff --git a/linden/indra/newview/llfloaterchat.h b/linden/indra/newview/llfloaterchat.h
index 923fd9a..203a158 100644
--- a/linden/indra/newview/llfloaterchat.h
+++ b/linden/indra/newview/llfloaterchat.h
@@ -82,6 +82,8 @@ public:
82 static void* createSpeakersPanel(void* data); 82 static void* createSpeakersPanel(void* data);
83 static void* createChatPanel(void* data); 83 static void* createChatPanel(void* data);
84 84
85 static void toggleHistoryChannelControl();
86
85 // visibility policy for LLUISingleton 87 // visibility policy for LLUISingleton
86 static bool visible(LLFloater* instance, const LLSD& key); 88 static bool visible(LLFloater* instance, const LLSD& key);
87 static void show(LLFloater* instance, const LLSD& key); 89 static void show(LLFloater* instance, const LLSD& key);
diff --git a/linden/indra/newview/llprefschat.cpp b/linden/indra/newview/llprefschat.cpp
index 4453751..82ae07c 100644
--- a/linden/indra/newview/llprefschat.cpp
+++ b/linden/indra/newview/llprefschat.cpp
@@ -32,6 +32,8 @@
32 32
33#include "llviewerprecompiledheaders.h" 33#include "llviewerprecompiledheaders.h"
34 34
35#include "llchatbar.h"
36#include "llfloaterchat.h"
35#include "llprefschat.h" 37#include "llprefschat.h"
36#include "lltexteditor.h" 38#include "lltexteditor.h"
37#include "llviewercontrol.h" 39#include "llviewercontrol.h"
@@ -45,10 +47,13 @@ class LLPrefsChatImpl : public LLPanel
45public: 47public:
46 LLPrefsChatImpl(); 48 LLPrefsChatImpl();
47 /*virtual*/ ~LLPrefsChatImpl(){}; 49 /*virtual*/ ~LLPrefsChatImpl(){};
50 /*virtual*/ BOOL postBuild();
48 51
49 void apply(); 52 void apply();
50 void cancel(); 53 void cancel();
51 54
55 static void onCheckToggleChannel(LLUICtrl* ctrl, void* user_data);
56
52protected: 57protected:
53 S32 mChatSize; 58 S32 mChatSize;
54 F32 mChatPersist; 59 F32 mChatPersist;
@@ -73,7 +78,6 @@ protected:
73 F32 mBubbleOpacity; 78 F32 mBubbleOpacity;
74}; 79};
75 80
76
77LLPrefsChatImpl::LLPrefsChatImpl() 81LLPrefsChatImpl::LLPrefsChatImpl()
78 : LLPanel(std::string("Chat Panel")) 82 : LLPanel(std::string("Chat Panel"))
79{ 83{
@@ -128,6 +132,13 @@ LLPrefsChatImpl::LLPrefsChatImpl()
128 mBubbleOpacity = gSavedSettings.getF32("ChatBubbleOpacity"); 132 mBubbleOpacity = gSavedSettings.getF32("ChatBubbleOpacity");
129} 133}
130 134
135BOOL LLPrefsChatImpl::postBuild()
136{
137 childSetCommitCallback("toggle_channel_control",onCheckToggleChannel, this);
138
139 return TRUE;
140}
141
131void LLPrefsChatImpl::cancel() 142void LLPrefsChatImpl::cancel()
132{ 143{
133 gSavedSettings.setS32("ChatFontSize", mChatSize); 144 gSavedSettings.setS32("ChatFontSize", mChatSize);
@@ -183,6 +194,16 @@ void LLPrefsChatImpl::apply()
183 gSavedSettings.setF32("ChatBubbleOpacity", childGetValue("bubble_chat_opacity").asReal()); 194 gSavedSettings.setF32("ChatBubbleOpacity", childGetValue("bubble_chat_opacity").asReal());
184} 195}
185 196
197// static
198void LLPrefsChatImpl::onCheckToggleChannel(LLUICtrl* ctrl, void* user_data)
199{
200 if (gChatBar)
201 {
202 gChatBar->toggleChannelControl();
203 LLFloaterChat::toggleHistoryChannelControl();
204 }
205}
206
186//--------------------------------------------------------------------------- 207//---------------------------------------------------------------------------
187 208
188LLPrefsChat::LLPrefsChat() 209LLPrefsChat::LLPrefsChat()
diff --git a/linden/indra/newview/llprefsim.cpp b/linden/indra/newview/llprefsim.cpp
index 39619b7..6115074 100644
--- a/linden/indra/newview/llprefsim.cpp
+++ b/linden/indra/newview/llprefsim.cpp
@@ -58,7 +58,7 @@ public:
58 void cancel(); 58 void cancel();
59 void setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email); 59 void setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email);
60 void enableHistory(); 60 void enableHistory();
61 61
62 static void onClickLogPath(void* user_data); 62 static void onClickLogPath(void* user_data);
63 static void onCommitLogging(LLUICtrl* ctrl, void* user_data); 63 static void onCommitLogging(LLUICtrl* ctrl, void* user_data);
64 64
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml b/linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml
index 100c455..dd66a83 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml
@@ -59,10 +59,14 @@
59 <panel bottom="5" follows="left|right|bottom" left="5" name="chat_panel" right="-5" 59 <panel bottom="5" follows="left|right|bottom" left="5" name="chat_panel" right="-5"
60 tab_group="1" top="25"> 60 tab_group="1" top="25">
61 <string name="gesture_label">Gestures</string> 61 <string name="gesture_label">Gestures</string>
62 <spinner bottom="-22" decimal_digits="0" follows="left|bottom" height="20"
63 increment="1.00" initial_val="0" label="Channel" label_width="50" left="0"
64 max_val="2147483647" min_val="0" mouse_opaque="true" name="channel_control"
65 width="100" tool_tip="Set the default channel for inworld chat"/>
62 <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="0" 66 <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="0"
63 enabled="true" follows="left|right|bottom" font="SansSerif" 67 enabled="true" follows="left|right|bottom" font="SansSerif"
64 handle_edit_keys_directly="false" height="20" label="Click here to chat." 68 handle_edit_keys_directly="false" height="20" label="Click here to chat."
65 left="0" max_length="254" mouse_opaque="true" name="Chat Editor" 69 left="105" max_length="254" mouse_opaque="true" name="Chat Editor"
66 right="-70" select_all_on_focus_received="false" select_on_focus="false" 70 right="-70" select_all_on_focus_received="false" select_on_focus="false"
67 tab_group="1" /> 71 tab_group="1" />
68 <flyout_button bottom="0" follows="right|bottom" height="20" label="Say" left="-65" 72 <flyout_button bottom="0" follows="right|bottom" height="20" label="Say" left="-65"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml b/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
index 464ecac..ac3a74a 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_chat_bar.xml
@@ -8,13 +8,17 @@
8 <button bottom="-23" follows="left|bottom" font="SansSerif" halign="center" height="20" 8 <button bottom="-23" follows="left|bottom" font="SansSerif" halign="center" height="20"
9 label="Local Chat" left="7" name="History" 9 label="Local Chat" left="7" name="History"
10 tool_tip="Click here to see what has been said" width="93" /> 10 tool_tip="Click here to see what has been said" width="93" />
11 <spinner bottom="-24" decimal_digits="0" follows="left|bottom" height="20"
12 increment="1.00" initial_val="0" label="Channel" label_width="50" left="107"
13 max_val="2147483647" min_val="0" mouse_opaque="true" name="channel_control"
14 width="100" tool_tip="Set the default channel for inworld chat"/>
11 <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-23" 15 <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-23"
12 follows="left|right|bottom" font="SansSerif" 16 follows="left|right|bottom" font="SansSerif"
13 handle_edit_keys_directly="false" height="20" label="Click here to chat." 17 handle_edit_keys_directly="false" height="20" label="Click here to chat."
14 left="107" max_length="254" name="Chat Editor" 18 left="212" max_length="254" name="Chat Editor"
15 select_all_on_focus_received="false" select_on_focus="false" tab_group="1" 19 select_all_on_focus_received="false" select_on_focus="false" tab_group="1"
16 tool_tip="Press Enter to say, Ctrl-Enter to shout." width="105" /> 20 tool_tip="Press Enter to say, Ctrl-Enter to shout." width="5" />
17 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Say" left_delta="109" 21 <flyout_button bottom="-23" follows="right|bottom" height="20" label="Say" left_delta="4"
18 list_position="above" mouse_opaque="true" name="Say" tool_tip="(Enter)" 22 list_position="above" mouse_opaque="true" name="Say" tool_tip="(Enter)"
19 width="80"> 23 width="80">
20 <flyout_button_item value="shout" name="shout_item"> 24 <flyout_button_item value="shout" name="shout_item">
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_chat.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_chat.xml
index 24753d1..0704666 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_chat.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_chat.xml
@@ -131,30 +131,34 @@
131 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" 131 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
132 label="Close chat bar after hitting return" left="148" mouse_opaque="true" 132 label="Close chat bar after hitting return" left="148" mouse_opaque="true"
133 name="close_chat_on_return_check" radio_style="false" width="237" /> 133 name="close_chat_on_return_check" radio_style="false" width="237" />
134 <check_box bottom_delta="-20" enabled="true" 134 <check_box bottom_delta="-18" enabled="true"
135 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" 135 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
136 label="Arrow keys always move avatar when chatting" left="148" 136 label="Arrow keys always move avatar when chatting" left="148"
137 mouse_opaque="true" name="arrow_keys_move_avatar_check" radio_style="false" 137 mouse_opaque="true" name="arrow_keys_move_avatar_check" radio_style="false"
138 width="237" /> 138 width="237" />
139 <check_box bottom_delta="-20" enabled="true" 139 <check_box bottom_delta="-18" enabled="true"
140 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" 140 follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
141 label="Show timestamps in Local Chat" left="148" mouse_opaque="true" 141 label="Show timestamps in Local Chat" left="148" mouse_opaque="true"
142 name="show_timestamps_check" radio_style="false" width="237" /> 142 name="show_timestamps_check" radio_style="false" width="237" />
143 <check_box bottom_delta="-20" enabled="true" 143 <check_box bottom_delta="-18" enabled="true"
144 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" 144 follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
145 label="Play typing animation when chatting" left="148" mouse_opaque="true" 145 label="Play typing animation when chatting" left="148" mouse_opaque="true"
146 name="play_typing_animation" radio_style="false" width="237" /> 146 name="play_typing_animation" radio_style="false" width="237" />
147 <check_box bottom_delta="-18" enabled="true" follows="left|top"
148 font="SansSerifSmall" height="16" initial_value="false" control_name="ChatChannelSelect"
149 label="Show custom chat channel" left="148" mouse_opaque="true"
150 name="toggle_channel_control" radio_style="false" width="237" />
147 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 151 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
148 bottom="-369" drop_shadow_visible="true" enabled="true" follows="left|top" 152 bottom="-379" drop_shadow_visible="true" enabled="true" follows="left|top"
149 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" 153 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12"
150 mouse_opaque="false" name="text_box7" v_pad="0" width="128"> 154 mouse_opaque="false" name="text_box7" v_pad="0" width="128">
151 Bubble Chat: 155 Bubble Chat:
152 </text> 156 </text>
153 <check_box bottom="-376" control_name="UseChatBubbles" enabled="true" follows="left|top" 157 <check_box bottom="-386" control_name="UseChatBubbles" enabled="true" follows="left|top"
154 font="SansSerifSmall" height="16" initial_value="false" 158 font="SansSerifSmall" height="16" initial_value="false"
155 label="Show chat bubbles" left="148" mouse_opaque="true" 159 label="Show chat bubbles" left="148" mouse_opaque="true"
156 name="bubble_text_chat" radio_style="false" width="237" /> 160 name="bubble_text_chat" radio_style="false" width="237" />
157 <slider bottom="-392" can_edit_text="false" control_name="ChatBubbleOpacity" 161 <slider bottom="-402" can_edit_text="false" control_name="ChatBubbleOpacity"
158 decimal_digits="3" enabled="true" follows="left|top" height="12" 162 decimal_digits="3" enabled="true" follows="left|top" height="12"
159 increment="0.05" initial_val="1" label="Opacity" left="148" max_val="1" 163 increment="0.05" initial_val="1" label="Opacity" left="148" max_val="1"
160 min_val="0" mouse_opaque="true" name="bubble_chat_opacity" show_text="true" 164 min_val="0" mouse_opaque="true" name="bubble_chat_opacity" show_text="true"