aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-06-15 01:03:29 -0700
committerJacek Antonelli2010-06-19 02:43:39 -0500
commit991aa9770f6b3d5922ec7a7a3e2e2fc999de61ab (patch)
tree8aa3e75288e5a5e11480f9d8bffdddb4eea84678 /linden
parentAutomatically try logging in again if 'Login Failed. You appear to be already... (diff)
downloadmeta-impy-991aa9770f6b3d5922ec7a7a3e2e2fc999de61ab.zip
meta-impy-991aa9770f6b3d5922ec7a7a3e2e2fc999de61ab.tar.gz
meta-impy-991aa9770f6b3d5922ec7a7a3e2e2fc999de61ab.tar.bz2
meta-impy-991aa9770f6b3d5922ec7a7a3e2e2fc999de61ab.tar.xz
Created toolbar remote for toggling AO on/off
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/CMakeLists.txt5
-rw-r--r--linden/indra/newview/aoremotectrl.cpp122
-rw-r--r--linden/indra/newview/aoremotectrl.h54
-rw-r--r--linden/indra/newview/app_settings/settings.xml44
-rw-r--r--linden/indra/newview/lloverlaybar.cpp14
-rw-r--r--linden/indra/newview/lloverlaybar.h3
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_ao.xml41
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_ao_remote.xml7
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml11
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_expanded.xml10
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_overlaybar.xml7
11 files changed, 287 insertions, 31 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index 796e98e..a3fc7d9 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -65,6 +65,7 @@ include_directories(
65 ) 65 )
66 66
67set(viewer_SOURCE_FILES 67set(viewer_SOURCE_FILES
68 aoremotectrl.cpp
68 emeraldboobutils.cpp 69 emeraldboobutils.cpp
69 floaterao.cpp 70 floaterao.cpp
70 floaterbusy.cpp 71 floaterbusy.cpp
@@ -493,6 +494,7 @@ endif (LINUX)
493set(viewer_HEADER_FILES 494set(viewer_HEADER_FILES
494 CMakeLists.txt 495 CMakeLists.txt
495 ViewerInstall.cmake 496 ViewerInstall.cmake
497 aoremotectrl.h
496 emeraldboobutils.h 498 emeraldboobutils.h
497 floaterao.h 499 floaterao.h
498 floaterbusy.h 500 floaterbusy.h
@@ -1225,6 +1227,9 @@ set(viewer_XUI_FILES
1225 skins/default/xui/en-us/mime_types.xml 1227 skins/default/xui/en-us/mime_types.xml
1226 skins/default/xui/en-us/notifications.xml 1228 skins/default/xui/en-us/notifications.xml
1227 skins/default/xui/en-us/notify.xml 1229 skins/default/xui/en-us/notify.xml
1230 skins/default/xui/en-us/panel_ao_remote_controls.xml
1231 skins/default/xui/en-us/panel_ao_remote.xml
1232 skins/default/xui/en-us/panel_ao_remote_expanded.xml
1228 skins/default/xui/en-us/panel_audio_device.xml 1233 skins/default/xui/en-us/panel_audio_device.xml
1229 skins/default/xui/en-us/panel_audio.xml 1234 skins/default/xui/en-us/panel_audio.xml
1230 skins/default/xui/en-us/panel_avatar_classified.xml 1235 skins/default/xui/en-us/panel_avatar_classified.xml
diff --git a/linden/indra/newview/aoremotectrl.cpp b/linden/indra/newview/aoremotectrl.cpp
new file mode 100644
index 0000000..8cafdd9
--- /dev/null
+++ b/linden/indra/newview/aoremotectrl.cpp
@@ -0,0 +1,122 @@
1/**
2* @file aoremotectrl.cpp
3* @brief toolbar remote for toggling the viewer AO
4*
5* $LicenseInfo:firstyear=2009&license=viewergpl$
6*
7* Copyright (c) 2010, McCabe Maxsted
8*
9* Imprudence Viewer Source Code
10* The source code in this file ("Source Code") is provided to you
11* under the terms of the GNU General Public License, version 2.0
12* ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in
13* this distribution, or online at
14* http://secondlifegrid.net/programs/open_source/licensing/gplv2
15*
16* There are special exceptions to the terms and conditions of the GPL as
17* it is applied to this Source Code. View the full text of the exception
18* in the file doc/FLOSS-exception.txt in this software distribution, or
19* online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
20*
21* By copying, modifying or distributing this software, you acknowledge
22* that you have read and understood your obligations described above,
23* and agree to abide by those obligations.
24*
25* ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO
26* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27* COMPLETENESS OR PERFORMANCE.
28* $/LicenseInfo$
29*/
30
31#include "llviewerprecompiledheaders.h"
32
33#include "aoremotectrl.h"
34
35#include "floaterao.h"
36#include "llbutton.h"
37#include "lloverlaybar.h"
38#include "lluictrlfactory.h"
39#include "llviewercontrol.h"
40
41
42AORemoteCtrl::AORemoteCtrl()
43{
44 setIsChrome(TRUE);
45 build();
46 setFocusRoot(TRUE);
47}
48
49AORemoteCtrl::~AORemoteCtrl()
50{
51}
52
53void AORemoteCtrl::draw()
54{
55 LLButton* expand_button = getChild<LLButton>("popup_btn");
56 if (expand_button)
57 {
58 if (expand_button->getToggleState())
59 {
60 expand_button->setImageOverlay("arrow_down.tga");
61 }
62 else
63 {
64 expand_button->setImageOverlay("arrow_up.tga");
65 }
66 }
67
68 LLPanel::draw();
69}
70
71void AORemoteCtrl::build()
72{
73 if (gSavedSettings.getBOOL("ShowAOSitPopup"))
74 {
75 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_ao_remote_expanded.xml");
76 }
77 else
78 {
79 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_ao_remote.xml");
80 }
81}
82
83BOOL AORemoteCtrl::postBuild()
84{
85
86 childSetAction("ao_btn", onClickToggleAO, this);
87 childSetAction("ao_sit_btn", onClickToggleAOSit, this);
88 childSetAction("ao_show_btn", onClickShowAO, this);
89 childSetAction("popup_btn", onClickPopupBtn, this);
90
91 return TRUE;
92}
93
94// static
95void AORemoteCtrl::onClickToggleAO(void* data)
96{
97 BOOL ao_enable = gSavedSettings.getBOOL("AOEnabled");
98 gSavedSettings.setBOOL("AOEnabled", !ao_enable);
99}
100
101//static
102void AORemoteCtrl::onClickToggleAOSit(void* data)
103{
104 BOOL sit_enable = gSavedSettings.getBOOL("AOSitsEnabled");
105 gSavedSettings.setBOOL("AOSitsEnabled", !sit_enable);
106}
107
108//static
109void AORemoteCtrl::onClickShowAO(void* data)
110{
111 LLFloaterAO::show(NULL);
112}
113
114//static
115void AORemoteCtrl::onClickPopupBtn(void* data)
116{
117 AORemoteCtrl* remotep = (AORemoteCtrl*)data;
118
119 remotep->deleteAllChildren();
120 remotep->build();
121 gOverlayBar->layoutButtons();
122}
diff --git a/linden/indra/newview/aoremotectrl.h b/linden/indra/newview/aoremotectrl.h
new file mode 100644
index 0000000..ca74e0d
--- /dev/null
+++ b/linden/indra/newview/aoremotectrl.h
@@ -0,0 +1,54 @@
1/**
2* @file aoremotectrl.h
3* @brief toolbar remote for toggling the viewer AO
4*
5* $LicenseInfo:firstyear=2009&license=viewergpl$
6*
7* Copyright (c) 2010, McCabe Maxsted
8*
9* Imprudence Viewer Source Code
10* The source code in this file ("Source Code") is provided to you
11* under the terms of the GNU General Public License, version 2.0
12* ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in
13* this distribution, or online at
14* http://secondlifegrid.net/programs/open_source/licensing/gplv2
15*
16* There are special exceptions to the terms and conditions of the GPL as
17* it is applied to this Source Code. View the full text of the exception
18* in the file doc/FLOSS-exception.txt in this software distribution, or
19* online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
20*
21* By copying, modifying or distributing this software, you acknowledge
22* that you have read and understood your obligations described above,
23* and agree to abide by those obligations.
24*
25* ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO
26* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
27* COMPLETENESS OR PERFORMANCE.
28* $/LicenseInfo$
29*/
30
31#ifndef AOREMOTECTRL_H
32#define AOREMOTECTRL_H
33
34#include "llpanel.h"
35
36class AORemoteCtrl : public LLPanel
37{
38public:
39 AORemoteCtrl();
40 virtual ~AORemoteCtrl();
41 /*virtual*/ BOOL postBuild();
42 /*virtual*/ void draw();
43
44private:
45
46 void build();
47
48 static void onClickToggleAO(void* data);
49 static void onClickToggleAOSit(void* data);
50 static void onClickShowAO(void* data);
51 static void onClickPopupBtn(void* data);
52};
53
54#endif // AOREMOTECTRL_H
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index aa6b1fa..fa6e275 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -125,6 +125,17 @@
125 <key>Value</key> 125 <key>Value</key>
126 <integer>0</integer> 126 <integer>0</integer>
127 </map> 127 </map>
128 <key>EnableWindlightRemote</key>
129 <map>
130 <key>Comment</key>
131 <string>Enable windlight quick access remote in toolbar</string>
132 <key>Persist</key>
133 <integer>1</integer>
134 <key>Type</key>
135 <string>Boolean</string>
136 <key>Value</key>
137 <integer>1</integer>
138 </map>
128 <key>FloaterAnimationListRect</key> 139 <key>FloaterAnimationListRect</key>
129 <map> 140 <map>
130 <key>Comment</key> 141 <key>Comment</key>
@@ -586,6 +597,17 @@
586 <key>Value</key> 597 <key>Value</key>
587 <integer>0</integer> 598 <integer>0</integer>
588 </map> 599 </map>
600 <key>ShowAOSitPopup</key>
601 <map>
602 <key>Comment</key>
603 <string>Show AO sit popup</string>
604 <key>Persist</key>
605 <integer>1</integer>
606 <key>Type</key>
607 <string>Boolean</string>
608 <key>Value</key>
609 <integer>0</integer>
610 </map>
589 <key>ShowMiniMapRadar</key> 611 <key>ShowMiniMapRadar</key>
590 <map> 612 <map>
591 <key>Comment</key> 613 <key>Comment</key>
@@ -836,6 +858,17 @@
836 <integer>100</integer> 858 <integer>100</integer>
837 </array> 859 </array>
838 </map> 860 </map>
861 <key>EnableAORemote</key>
862 <map>
863 <key>Comment</key>
864 <string>Enable AO quick access remote in toolbar</string>
865 <key>Persist</key>
866 <integer>1</integer>
867 <key>Type</key>
868 <string>Boolean</string>
869 <key>Value</key>
870 <integer>0</integer>
871 </map>
839 872
840 <!-- Begin: Boob physics --> 873 <!-- Begin: Boob physics -->
841 874
@@ -4342,17 +4375,6 @@
4342 <key>Value</key> 4375 <key>Value</key>
4343 <integer>1</integer> 4376 <integer>1</integer>
4344 </map> 4377 </map>
4345 <key>EnableWindlightRemote</key>
4346 <map>
4347 <key>Comment</key>
4348 <string>Enable windlight quick access remote in toolbar</string>
4349 <key>Persist</key>
4350 <integer>1</integer>
4351 <key>Type</key>
4352 <string>Boolean</string>
4353 <key>Value</key>
4354 <integer>1</integer>
4355 </map>
4356 <key>EnergyFromTop</key> 4378 <key>EnergyFromTop</key>
4357 <map> 4379 <map>
4358 <key>Comment</key> 4380 <key>Comment</key>
diff --git a/linden/indra/newview/lloverlaybar.cpp b/linden/indra/newview/lloverlaybar.cpp
index 9f3776f..6191a01 100644
--- a/linden/indra/newview/lloverlaybar.cpp
+++ b/linden/indra/newview/lloverlaybar.cpp
@@ -37,6 +37,7 @@
37 37
38#include "lloverlaybar.h" 38#include "lloverlaybar.h"
39 39
40#include "aoremotectrl.h"
40#include "audioengine.h" 41#include "audioengine.h"
41#include "llrender.h" 42#include "llrender.h"
42#include "llagent.h" 43#include "llagent.h"
@@ -148,6 +149,13 @@ void* LLOverlayBar::createWindlightRemote(void* userdata)
148 return self->mWindlightRemote; 149 return self->mWindlightRemote;
149} 150}
150 151
152void* LLOverlayBar::createAORemote(void* userdata)
153{
154 LLOverlayBar *self = (LLOverlayBar*)userdata;
155 self->mAORemote = new AORemoteCtrl();
156 return self->mAORemote;
157}
158
151void* LLOverlayBar::createChatBar(void* userdata) 159void* LLOverlayBar::createChatBar(void* userdata)
152{ 160{
153 gChatBar = new LLChatBar(); 161 gChatBar = new LLChatBar();
@@ -159,6 +167,7 @@ LLOverlayBar::LLOverlayBar()
159 mMediaRemote(NULL), 167 mMediaRemote(NULL),
160 mVoiceRemote(NULL), 168 mVoiceRemote(NULL),
161 mWindlightRemote(NULL), 169 mWindlightRemote(NULL),
170 mAORemote(NULL),
162 mMusicState(STOPPED), 171 mMusicState(STOPPED),
163 mOriginalIMLabel("") 172 mOriginalIMLabel("")
164{ 173{
@@ -171,6 +180,7 @@ LLOverlayBar::LLOverlayBar()
171 factory_map["media_remote"] = LLCallbackMap(LLOverlayBar::createMediaRemote, this); 180 factory_map["media_remote"] = LLCallbackMap(LLOverlayBar::createMediaRemote, this);
172 factory_map["voice_remote"] = LLCallbackMap(LLOverlayBar::createVoiceRemote, this); 181 factory_map["voice_remote"] = LLCallbackMap(LLOverlayBar::createVoiceRemote, this);
173 factory_map["windlight_remote"] = LLCallbackMap(LLOverlayBar::createWindlightRemote, this); 182 factory_map["windlight_remote"] = LLCallbackMap(LLOverlayBar::createWindlightRemote, this);
183 factory_map["ao_remote"] = LLCallbackMap(LLOverlayBar::createAORemote, this);
174 factory_map["chat_bar"] = LLCallbackMap(LLOverlayBar::createChatBar, this); 184 factory_map["chat_bar"] = LLCallbackMap(LLOverlayBar::createChatBar, this);
175 185
176 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_overlaybar.xml", &factory_map); 186 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_overlaybar.xml", &factory_map);
@@ -330,7 +340,7 @@ void LLOverlayBar::refresh()
330 buttons_changed = TRUE; 340 buttons_changed = TRUE;
331 } 341 }
332 342
333 343 moveChildToBackOfTabGroup(mAORemote);
334 moveChildToBackOfTabGroup(mWindlightRemote); 344 moveChildToBackOfTabGroup(mWindlightRemote);
335 moveChildToBackOfTabGroup(mMediaRemote); 345 moveChildToBackOfTabGroup(mMediaRemote);
336 moveChildToBackOfTabGroup(mVoiceRemote); 346 moveChildToBackOfTabGroup(mVoiceRemote);
@@ -341,6 +351,7 @@ void LLOverlayBar::refresh()
341 childSetVisible("media_remote_container", FALSE); 351 childSetVisible("media_remote_container", FALSE);
342 childSetVisible("voice_remote_container", FALSE); 352 childSetVisible("voice_remote_container", FALSE);
343 childSetVisible("windlight_remote_container", FALSE); 353 childSetVisible("windlight_remote_container", FALSE);
354 childSetVisible("ao_remote_container", FALSE);
344 childSetVisible("state_buttons", FALSE); 355 childSetVisible("state_buttons", FALSE);
345 } 356 }
346 else 357 else
@@ -349,6 +360,7 @@ void LLOverlayBar::refresh()
349 childSetVisible("media_remote_container", TRUE); 360 childSetVisible("media_remote_container", TRUE);
350 childSetVisible("voice_remote_container", LLVoiceClient::voiceEnabled()); 361 childSetVisible("voice_remote_container", LLVoiceClient::voiceEnabled());
351 childSetVisible("windlight_remote_container", gSavedSettings.getBOOL("EnableWindlightRemote")); 362 childSetVisible("windlight_remote_container", gSavedSettings.getBOOL("EnableWindlightRemote"));
363 childSetVisible("ao_remote_container", gSavedSettings.getBOOL("EnableAORemote"));
352 childSetVisible("state_buttons", TRUE); 364 childSetVisible("state_buttons", TRUE);
353 } 365 }
354 366
diff --git a/linden/indra/newview/lloverlaybar.h b/linden/indra/newview/lloverlaybar.h
index 50ad3d1..233f5c5 100644
--- a/linden/indra/newview/lloverlaybar.h
+++ b/linden/indra/newview/lloverlaybar.h
@@ -52,6 +52,7 @@ class LLStatGraph;
52class LLSlider; 52class LLSlider;
53class LLVoiceRemoteCtrl; 53class LLVoiceRemoteCtrl;
54class LLWindlightRemoteCtrl; 54class LLWindlightRemoteCtrl;
55class AORemoteCtrl;
55 56
56class LLOverlayBar 57class LLOverlayBar
57: public LLPanel 58: public LLPanel
@@ -92,6 +93,7 @@ protected:
92 static void* createMediaRemote(void* userdata); 93 static void* createMediaRemote(void* userdata);
93 static void* createVoiceRemote(void* userdata); 94 static void* createVoiceRemote(void* userdata);
94 static void* createWindlightRemote(void* userdata); 95 static void* createWindlightRemote(void* userdata);
96 static void* createAORemote(void* userdata);
95 static void* createChatBar(void* userdata); 97 static void* createChatBar(void* userdata);
96 98
97 void enableMediaButtons(); 99 void enableMediaButtons();
@@ -100,6 +102,7 @@ protected:
100 LLMediaRemoteCtrl* mMediaRemote; 102 LLMediaRemoteCtrl* mMediaRemote;
101 LLVoiceRemoteCtrl* mVoiceRemote; 103 LLVoiceRemoteCtrl* mVoiceRemote;
102 LLWindlightRemoteCtrl* mWindlightRemote; 104 LLWindlightRemoteCtrl* mWindlightRemote;
105 AORemoteCtrl* mAORemote;
103 bool mBuilt; // dialog constructed yet? 106 bool mBuilt; // dialog constructed yet?
104 S32 mMusicState; 107 S32 mMusicState;
105 std::string mOriginalIMLabel; 108 std::string mOriginalIMLabel;
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml b/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
index 2bcc9d1..134bd13 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
@@ -35,7 +35,7 @@
35 35
36 <button 36 <button
37 name="opencard" 37 name="opencard"
38 label="Open Notecard" 38 label="View Notecard"
39 font="SansSerifSmall" 39 font="SansSerifSmall"
40 left="10" 40 left="10"
41 bottom_delta="-30" 41 bottom_delta="-30"
@@ -55,10 +55,10 @@
55 /> 55 />
56 56
57 <check_box bottom_delta="-24" control_name="AOEnabled" enabled="true" 57 <check_box bottom_delta="-24" control_name="AOEnabled" enabled="true"
58 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" label="Enable Animations Override" left="10" 58 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" label="Enable animations override" left="10"
59 mouse_opaque="true" name="AOEnabled" radio_style="false" width="90" /> 59 mouse_opaque="true" name="AOEnabled" radio_style="false" width="90" />
60 <check_box bottom_delta="-18" control_name="AOSitsEnabled" enabled="true" 60 <check_box bottom_delta="-18" control_name="AOSitsEnabled" enabled="true"
61 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" label="Enable Sits Override" left="10" 61 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" label="Enable sits override" left="10"
62 mouse_opaque="true" name="AOSitsEnabled" radio_style="false" width="90" /> 62 mouse_opaque="true" name="AOSitsEnabled" radio_style="false" width="90" />
63 63
64 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 64 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
@@ -80,26 +80,31 @@
80 follows="bottom|left" 80 follows="bottom|left"
81 /> 81 />
82 <button 82 <button
83 name="nextstand" 83 name="nextstand"
84 tool_tip="next stand" 84 tool_tip="next stand"
85 label="&gt;&gt;" 85 label="&gt;&gt;"
86 font="SansSerifSmall" 86 font="SansSerifSmall"
87 left="104" 87 left="104"
88 bottom_delta="0" 88 bottom_delta="0"
89 width="90" 89 width="90"
90 height="20" 90 height="20"
91 follows="bottom|left" 91 follows="bottom|left"
92 /> 92 />
93 <check_box bottom_delta="-20" control_name="AOStandRandomize" enabled="true" 93 <check_box bottom_delta="-20" control_name="AOStandRandomize" enabled="true"
94 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" label="Randomize Stand Order" left="10" 94 follows="left|top" font="SansSerifSmall" height="16" initial_value="false" label="Randomize stand order" left="10"
95 mouse_opaque="true" name="AOStandRandomize" radio_style="false" width="200" /> 95 mouse_opaque="true" name="AOStandRandomize" radio_style="false" width="200" />
96 <check_box bottom_delta="-20" control_name="AONoStandsInMouselook" enabled="true" 96 <check_box bottom_delta="-20" control_name="AONoStandsInMouselook" enabled="true"
97 follows="left|top" font="SansSerifSmall" height="16" initial_value="true" label="Disable Stands in Mouselook" left="10" 97 follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
98 mouse_opaque="true" name="AONoStandsInMouselook" radio_style="false" width="180" /> 98 label="Disable stands in mouselook" left="10" mouse_opaque="true"
99 name="AONoStandsInMouselook" radio_style="false" width="180" />
100 <check_box bottom_delta="-20" control_name="EnableAORemote" enabled="true"
101 follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
102 label="Show AO toolbar" left="10" mouse_opaque="true"
103 name="ao_remote_checkbox" radio_style="false" width="180" />
99 <spinner bottom_delta="-20" decimal_digits="2" follows="left|top" height="16" control_name="AOStandInterval" 104 <spinner bottom_delta="-20" decimal_digits="2" follows="left|top" height="16" control_name="AOStandInterval"
100 increment="1" initial_val="20" left="10" max_val="9000" min_val="1.00" 105 increment="1" initial_val="20" left="10" max_val="9000" min_val="1.00"
101 mouse_opaque="true" name="standtime" label="Stand Time" label_width="80" 106 mouse_opaque="true" name="standtime" label="Stand time:" label_width="80"
102 tool_tip="AO Stand Time in seconds" width="180" /> 107 tool_tip="AO stand time in seconds" width="180" />
103 108
104 <button 109 <button
105 name="newcard" 110 name="newcard"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote.xml b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote.xml
new file mode 100644
index 0000000..e13cd44
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote.xml
@@ -0,0 +1,7 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel bg_visible="false" border="false" border_visible="false" bottom="0"
3 enabled="true" follows="right|bottom" height="20" left="0" mouse_opaque="true"
4 name="ao_remote" use_bounding_rect="true" width="96">
5 <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="22" left="0" width="96" />
6 <panel bottom="3" filename="panel_ao_remote_controls.xml" name="panel_ao_controls" height="20" left="0" width="96" />
7</panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml
new file mode 100644
index 0000000..5599dca
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel bg_visible="false" border="false" border_visible="false" bottom="1"
3 enabled="true" follows="right|bottom" height="20" left="0"
4 name="ao_controls" width="96">
5 <button bottom="-22" follows="left|bottom" font="SansSerif" halign="center" height="22"
6 label="AO Off" label_selected="AO On" left="3" name="ao_btn" control_name="AOEnabled"
7 tool_tip="Click here to toggle the Animation Overrider" width="66" />
8 <button bottom="-22" follows="left|bottom" font="SansSerif" halign="center" height="22" toggle="true"
9 label="" left_delta="68" name="popup_btn" scale_image="true" control_name="ShowAOSitPopup"
10 tool_tip="Click here for more options" width="22" />
11</panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_expanded.xml b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_expanded.xml
new file mode 100644
index 0000000..29c34fb
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_ao_remote_expanded.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel bg_visible="false" border="false" border_visible="false" bottom="0"
3 enabled="true" follows="right|bottom" height="45" left="0" mouse_opaque="true"
4 name="ao_remote" use_bounding_rect="true" width="96">
5 <panel bottom="1" filename="panel_bg_tab.xml" name="panel_bg_tab" height="47" left="0" width="96" />
6 <button bottom="-20" control_name="AOSitsEnabled" enabled="true"
7 follows="left|top" font="SansSerif" height="22" label="AO Sits Off" label_selected="AO Sits On"
8 mouse_opaque="true" name="ao_sit_btn" width="92" left="3" />
9 <panel bottom="13" filename="panel_ao_remote_controls.xml" name="panel_ao_controls" left="0" width="96" />
10</panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_overlaybar.xml b/linden/indra/newview/skins/default/xui/en-us/panel_overlaybar.xml
index 8ad4fff..8863f10 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_overlaybar.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_overlaybar.xml
@@ -45,7 +45,12 @@
45 use_bounding_rect="true" width="395" /> 45 use_bounding_rect="true" width="395" />
46 </layout_stack> 46 </layout_stack>
47 </layout_panel> 47 </layout_panel>
48 <layout_panel auto_resize="false" bottom="0" left="0" min_width="184" mouse_opaque="false" 48 <layout_panel auto_resize="false" bottom="0" left="0" min_width="96" mouse_opaque="false"
49 name="ao_remote_container" use_bounding_rect="true" user_resize="false"
50 width="100">
51 <panel background_visible="false" border="false" bottom="0" name="ao_remote" />
52 </layout_panel>
53 <layout_panel auto_resize="false" bottom="0" left="0" min_width="182" mouse_opaque="false"
49 name="windlight_remote_container" use_bounding_rect="true" user_resize="false" 54 name="windlight_remote_container" use_bounding_rect="true" user_resize="false"
50 width="186"> 55 width="186">
51 <panel background_visible="false" border="false" bottom="0" name="windlight_remote" /> 56 <panel background_visible="false" border="false" bottom="0" name="windlight_remote" />