aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/CMakeLists.txt3
-rw-r--r--linden/indra/newview/app_settings/settings.xml27
-rw-r--r--linden/indra/newview/llfloaterchat.cpp1
-rw-r--r--linden/indra/newview/llfloaterhtml.cpp253
-rw-r--r--linden/indra/newview/llfloaterhtml.h76
-rw-r--r--linden/indra/newview/llfloaterhtmlhelp.cpp323
-rw-r--r--linden/indra/newview/llfloaterhtmlhelp.h19
-rw-r--r--linden/indra/newview/llimpanel.cpp1
-rw-r--r--linden/indra/newview/llpanellogin.cpp4
-rw-r--r--linden/indra/newview/llurldispatcher.cpp1
-rw-r--r--linden/indra/newview/llviewermenu.cpp14
-rw-r--r--linden/indra/newview/llviewerparcelmgr.cpp1
-rw-r--r--linden/indra/newview/llviewerstats.cpp1
-rw-r--r--linden/indra/newview/llwebbrowserctrl.cpp11
-rw-r--r--linden/indra/newview/skins/default/xui/de/floater_html.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_html.xml25
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml16
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/strings.xml1
-rw-r--r--linden/indra/newview/skins/default/xui/es/floater_html.xml12
-rw-r--r--linden/indra/newview/skins/default/xui/fr/floater_html.xml16
-rw-r--r--linden/indra/newview/skins/default/xui/ja/floater_html.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/ko/floater_html.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/pt/floater_html.xml12
-rw-r--r--linden/indra/newview/skins/default/xui/zh/floater_html.xml12
24 files changed, 89 insertions, 782 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index 0205ceb..4024fdd 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -150,7 +150,6 @@ set(viewer_SOURCE_FILES
150 llfloatergroupinvite.cpp 150 llfloatergroupinvite.cpp
151 llfloatergroups.cpp 151 llfloatergroups.cpp
152 llfloaterhardwaresettings.cpp 152 llfloaterhardwaresettings.cpp
153 llfloaterhtml.cpp
154 llfloaterhtmlhelp.cpp 153 llfloaterhtmlhelp.cpp
155 llfloaterhud.cpp 154 llfloaterhud.cpp
156 llfloaterimagepreview.cpp 155 llfloaterimagepreview.cpp
@@ -544,7 +543,6 @@ set(viewer_HEADER_FILES
544 llfloatergroupinvite.h 543 llfloatergroupinvite.h
545 llfloatergroups.h 544 llfloatergroups.h
546 llfloaterhardwaresettings.h 545 llfloaterhardwaresettings.h
547 llfloaterhtml.h
548 llfloaterhtmlhelp.h 546 llfloaterhtmlhelp.h
549 llfloaterhud.h 547 llfloaterhud.h
550 llfloaterimagepreview.h 548 llfloaterimagepreview.h
@@ -1047,7 +1045,6 @@ set(viewer_XUI_FILES
1047 skins/default/xui/en-us/floater_god_tools.xml 1045 skins/default/xui/en-us/floater_god_tools.xml
1048 skins/default/xui/en-us/floater_group_info.xml 1046 skins/default/xui/en-us/floater_group_info.xml
1049 skins/default/xui/en-us/floater_hardware_settings.xml 1047 skins/default/xui/en-us/floater_hardware_settings.xml
1050 skins/default/xui/en-us/floater_html.xml
1051 skins/default/xui/en-us/floater_hud.xml 1048 skins/default/xui/en-us/floater_hud.xml
1052 skins/default/xui/en-us/floater_image_preview.xml 1049 skins/default/xui/en-us/floater_image_preview.xml
1053 skins/default/xui/en-us/floater_import.xml 1050 skins/default/xui/en-us/floater_import.xml
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 01f6add..e7e7303 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -2903,22 +2903,6 @@
2903 <integer>0</integer> 2903 <integer>0</integer>
2904 </array> 2904 </array>
2905 </map> 2905 </map>
2906 <key>FloaterHtmlRect</key>
2907 <map>
2908 <key>Comment</key>
2909 <string>Rectangle for HTML window</string>
2910 <key>Persist</key>
2911 <integer>1</integer>
2912 <key>Type</key>
2913 <string>Rect</string>
2914 <key>Value</key>
2915 <array>
2916 <integer>100</integer>
2917 <integer>460</integer>
2918 <integer>370</integer>
2919 <integer>100</integer>
2920 </array>
2921 </map>
2922 <key>FloaterIMRect</key> 2906 <key>FloaterIMRect</key>
2923 <map> 2907 <map>
2924 <key>Comment</key> 2908 <key>Comment</key>
@@ -3814,6 +3798,17 @@
3814 <key>Value</key> 3798 <key>Value</key>
3815 <string>help/index.html</string> 3799 <string>help/index.html</string>
3816 </map> 3800 </map>
3801 <key>HelpSupportURL</key>
3802 <map>
3803 <key>Comment</key>
3804 <string>Main URL of support page</string>
3805 <key>Persist</key>
3806 <integer>1</integer>
3807 <key>Type</key>
3808 <string>String</string>
3809 <key>Value</key>
3810 <string>http://support.secondlife.com</string>
3811 </map>
3817 <key>HighResSnapshot</key> 3812 <key>HighResSnapshot</key>
3818 <map> 3813 <map>
3819 <key>Comment</key> 3814 <key>Comment</key>
diff --git a/linden/indra/newview/llfloaterchat.cpp b/linden/indra/newview/llfloaterchat.cpp
index 1f0c6ad..a626ad3 100644
--- a/linden/indra/newview/llfloaterchat.cpp
+++ b/linden/indra/newview/llfloaterchat.cpp
@@ -70,7 +70,6 @@
70#include "llchatbar.h" 70#include "llchatbar.h"
71#include "lllogchat.h" 71#include "lllogchat.h"
72#include "lltexteditor.h" 72#include "lltexteditor.h"
73#include "llfloaterhtml.h"
74#include "llweb.h" 73#include "llweb.h"
75#include "llstylemap.h" 74#include "llstylemap.h"
76 75
diff --git a/linden/indra/newview/llfloaterhtml.cpp b/linden/indra/newview/llfloaterhtml.cpp
deleted file mode 100644
index eb09754..0000000
--- a/linden/indra/newview/llfloaterhtml.cpp
+++ /dev/null
@@ -1,253 +0,0 @@
1/**
2 * @file llfloaterhtml.cpp
3 * @brief In-world HTML dialog
4 *
5 * $LicenseInfo:firstyear=2005&license=viewergpl$
6 *
7 * Copyright (c) 2005-2008, Linden Research, Inc.
8 *
9 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab
11 * to you under the terms of the GNU General Public License, version 2.0
12 * ("GPL"), unless you have obtained a separate licensing agreement
13 * ("Other License"), formally executed by you and Linden Lab. Terms of
14 * the GPL can be found in doc/GPL-license.txt in this distribution, or
15 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
16 *
17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
21 *
22 * By copying, modifying or distributing this software, you acknowledge
23 * that you have read and understood your obligations described above,
24 * and agree to abide by those obligations.
25 *
26 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
27 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
28 * COMPLETENESS OR PERFORMANCE.
29 * $/LicenseInfo$
30 */
31
32#include "llviewerprecompiledheaders.h"
33
34#include "llfloaterhtml.h"
35
36// viewer includes
37#include "lluictrlfactory.h"
38#include "llviewercontrol.h"
39#include "lllineeditor.h"
40#include "llviewerwindow.h"
41#include "llweb.h"
42
43#include "llwebbrowserctrl.h"
44
45LLFloaterHtml* LLFloaterHtml::sInstance = 0;
46
47////////////////////////////////////////////////////////////////////////////////
48//
49LLFloaterHtml* LLFloaterHtml::getInstance()
50{
51 if ( ! sInstance )
52 sInstance = new LLFloaterHtml();
53
54 return sInstance;
55}
56
57////////////////////////////////////////////////////////////////////////////////
58//
59LLFloaterHtml::LLFloaterHtml()
60: LLFloater( std::string("HTML Floater") )
61
62 ,
63 mWebBrowser( 0 )
64{
65 LLUICtrlFactory::getInstance()->buildFloater( this, "floater_html.xml" );
66
67 childSetAction("back_btn", onClickBack, this);
68 childSetAction("home_btn", onClickHome, this);
69 childSetAction("forward_btn", onClickForward, this);
70 childSetAction("close_btn", onClickClose, this);
71 childSetCommitCallback("url_edit", onCommitUrlEdit, this );
72 childSetAction("go_btn", onClickGo, this );
73
74 // reposition floater from saved settings
75 LLRect rect = gSavedSettings.getRect( "FloaterHtmlRect" );
76 reshape( rect.getWidth(), rect.getHeight(), FALSE );
77 setRect( rect );
78
79 mWebBrowser = getChild<LLWebBrowserCtrl>("html_floater_browser" );
80 if ( mWebBrowser )
81 {
82 // open links in internal browser
83 mWebBrowser->setOpenInExternalBrowser( false );
84 }
85}
86
87////////////////////////////////////////////////////////////////////////////////
88//
89LLFloaterHtml::~LLFloaterHtml()
90{
91 // save position of floater
92 gSavedSettings.setRect( "FloaterHtmlRect", getRect() );
93
94 sInstance = 0;
95}
96
97////////////////////////////////////////////////////////////////////////////////
98// virtual
99void LLFloaterHtml::draw()
100{
101 // enable/disable buttons depending on state
102 if ( mWebBrowser )
103 {
104 bool enable_back = mWebBrowser->canNavigateBack();
105 childSetEnabled( "back_btn", enable_back );
106
107 bool enable_forward = mWebBrowser->canNavigateForward();
108 childSetEnabled( "forward_btn", enable_forward );
109 };
110
111 LLFloater::draw();
112}
113
114////////////////////////////////////////////////////////////////////////////////
115//
116void LLFloaterHtml::show( std::string content_id, bool open_link_external, bool open_app_slurls )
117{
118 // calculate the XML labels we'll need (if only XML folders worked)
119 std::string title_str = content_id + "_title";
120 std::string url_str = content_id + "_url";
121
122 std::string title = getString( title_str );
123 std::string url = getString( url_str );
124
125 show( url, title, open_link_external, open_app_slurls );
126}
127
128////////////////////////////////////////////////////////////////////////////////
129//
130void LLFloaterHtml::show( std::string start_url, std::string title, bool open_link_external, bool open_app_slurls )
131{
132 // set the title
133 setTitle( title );
134
135 // navigate to the URL
136 if ( mWebBrowser )
137 {
138 mWebBrowser->setOpenAppSLURLs( open_app_slurls );
139 mWebBrowser->setOpenInExternalBrowser( open_link_external );
140 mWebBrowser->navigateTo( start_url );
141 }
142
143 // make floater appear
144 setVisibleAndFrontmost();
145}
146
147////////////////////////////////////////////////////////////////////////////////
148//
149std::string LLFloaterHtml::getSupportUrl()
150{
151 return getString("support_page_url");
152}
153
154////////////////////////////////////////////////////////////////////////////////
155//
156void LLFloaterHtml::onClose( bool app_quitting )
157{
158 setVisible( false );
159 // HACK for fast XML iteration replace with:
160 // destroy();
161}
162
163////////////////////////////////////////////////////////////////////////////////
164//
165void LLFloaterHtml::onClickClose( void* data )
166{
167 LLFloaterHtml* self = ( LLFloaterHtml* )data;
168 self->close();
169}
170
171////////////////////////////////////////////////////////////////////////////////
172// static
173void LLFloaterHtml::onClickBack( void* data )
174{
175 LLFloaterHtml* self = ( LLFloaterHtml* )data;
176 if ( self )
177 {
178 if ( self->mWebBrowser )
179 {
180 self->mWebBrowser->navigateBack();
181 };
182 };
183}
184
185////////////////////////////////////////////////////////////////////////////////
186//
187void LLFloaterHtml::onClickHome( void* data )
188{
189 LLFloaterHtml* self = ( LLFloaterHtml* )data;
190 if ( self )
191 {
192 if ( self->mWebBrowser )
193 {
194 std::string home_url = self->getString("home_page_url");
195 if ( home_url.length() > 4 )
196 {
197 self->mWebBrowser->navigateTo( home_url );
198 }
199 else
200 {
201 llwarns << "Invalid home page specified for HTML floater - navigating to default" << llendl;
202 self->mWebBrowser->navigateTo( "http://secondlife.com" );
203 }
204 };
205 };
206}
207
208////////////////////////////////////////////////////////////////////////////////
209// static
210void LLFloaterHtml::onClickForward( void* data )
211{
212 LLFloaterHtml* self = ( LLFloaterHtml* )data;
213 if ( self )
214 {
215 if ( self->mWebBrowser )
216 {
217 self->mWebBrowser->navigateForward();
218 };
219 };
220}
221
222////////////////////////////////////////////////////////////////////////////////
223// static
224void LLFloaterHtml::onCommitUrlEdit(LLUICtrl* ctrl, void* user_data)
225{
226 LLFloaterHtml* self = (LLFloaterHtml*)user_data;
227
228 LLLineEditor* editor = (LLLineEditor*)ctrl;
229 std::string url = editor->getText();
230
231 if ( self->mWebBrowser )
232 {
233 self->mWebBrowser->navigateTo( url );
234 };
235}
236
237////////////////////////////////////////////////////////////////////////////////
238// static
239void LLFloaterHtml::onClickGo( void* data )
240{
241 LLFloaterHtml* self = ( LLFloaterHtml* )data;
242 if ( self )
243 {
244 std::string url = self->childGetValue( "url_edit" ).asString();
245 if ( url.length() )
246 {
247 if ( self->mWebBrowser )
248 {
249 self->mWebBrowser->navigateTo( url );
250 }
251 }
252 }
253}
diff --git a/linden/indra/newview/llfloaterhtml.h b/linden/indra/newview/llfloaterhtml.h
deleted file mode 100644
index e236ffe..0000000
--- a/linden/indra/newview/llfloaterhtml.h
+++ /dev/null
@@ -1,76 +0,0 @@
1 /**
2 * @file llfloaterhtml.h
3 * @author James Cook
4 * @brief In-world HTML dialog
5 *
6 * $LicenseInfo:firstyear=2005&license=viewergpl$
7 *
8 * Copyright (c) 2005-2008, Linden Research, Inc.
9 *
10 * Second Life Viewer Source Code
11 * The source code in this file ("Source Code") is provided by Linden Lab
12 * to you under the terms of the GNU General Public License, version 2.0
13 * ("GPL"), unless you have obtained a separate licensing agreement
14 * ("Other License"), formally executed by you and Linden Lab. Terms of
15 * the GPL can be found in doc/GPL-license.txt in this distribution, or
16 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
17 *
18 * There are special exceptions to the terms and conditions of the GPL as
19 * it is applied to this Source Code. View the full text of the exception
20 * in the file doc/FLOSS-exception.txt in this software distribution, or
21 * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
22 *
23 * By copying, modifying or distributing this software, you acknowledge
24 * that you have read and understood your obligations described above,
25 * and agree to abide by those obligations.
26 *
27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
31 */
32
33#ifndef LL_LLFLOATERHTML_H
34#define LL_LLFLOATERHTML_H
35
36#include "llfloater.h"
37#include "llhtmlhelp.h"
38
39class LLWebBrowserCtrl;
40
41class LLFloaterHtml :
42 public LLFloater
43{
44 public:
45 static LLFloaterHtml* getInstance();
46 virtual ~LLFloaterHtml();
47
48 virtual void draw();
49 virtual void onClose( bool app_quitting );
50
51 // Pass string like "in-world_help" or "additional help"
52 void show( std::string content_id, bool open_link_external, bool open_app_slurls );
53
54 // Pass raw URL and window title
55 // Can be set to handle secondlife:///app/ URLs, but this should
56 // usually be false.
57 void show( std::string start_url, std::string title, bool open_link_external, bool open_app_slurls );
58
59 std::string getSupportUrl();
60
61 static void onClickClose( void* data );
62 static void onClickBack( void* data );
63 static void onClickHome( void* data );
64 static void onClickForward( void* data );
65 static void onCommitUrlEdit(LLUICtrl* ctrl, void* user_data);
66 static void onClickGo( void* data );
67
68 private:
69 LLFloaterHtml();
70
71 LLWebBrowserCtrl* mWebBrowser;
72 static LLFloaterHtml* sInstance;
73 LLButton* mCloseButton;
74};
75
76#endif
diff --git a/linden/indra/newview/llfloaterhtmlhelp.cpp b/linden/indra/newview/llfloaterhtmlhelp.cpp
index 7fe4d59..f637624 100644
--- a/linden/indra/newview/llfloaterhtmlhelp.cpp
+++ b/linden/indra/newview/llfloaterhtmlhelp.cpp
@@ -32,7 +32,6 @@
32#include "llviewerprecompiledheaders.h" 32#include "llviewerprecompiledheaders.h"
33 33
34#include "llfloaterhtmlhelp.h" 34#include "llfloaterhtmlhelp.h"
35#include "llfloaterhtml.h"
36 35
37#include "llparcel.h" 36#include "llparcel.h"
38#include "lluictrlfactory.h" 37#include "lluictrlfactory.h"
@@ -50,6 +49,13 @@
50#include "llviewerparcelmedia.h" 49#include "llviewerparcelmedia.h"
51#include "llcombobox.h" 50#include "llcombobox.h"
52 51
52#include "llchat.h"
53#include "lllineeditor.h"
54#include "llfloaterchat.h"
55#include "lltrans.h"
56
57// static
58LLFloaterMediaBrowser* LLFloaterMediaBrowser::sInstance = NULL;
53 59
54LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& media_data) 60LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& media_data)
55{ 61{
@@ -118,7 +124,7 @@ void LLFloaterMediaBrowser::buildURLHistory()
118 124
119void LLFloaterMediaBrowser::onClose(bool app_quitting) 125void LLFloaterMediaBrowser::onClose(bool app_quitting)
120{ 126{
121 //setVisible(FALSE); 127 //setVisible(FALSE)
122 destroy(); 128 destroy();
123} 129}
124 130
@@ -155,20 +161,52 @@ void LLFloaterMediaBrowser::onLocationChange( const EventType& eventIn )
155 161
156LLFloaterMediaBrowser* LLFloaterMediaBrowser::showInstance(const LLSD& media_url) 162LLFloaterMediaBrowser* LLFloaterMediaBrowser::showInstance(const LLSD& media_url)
157{ 163{
158 LLFloaterMediaBrowser* floaterp = LLUISingleton<LLFloaterMediaBrowser, VisibilityPolicy<LLFloater> >::showInstance(media_url); 164 LLFloaterMediaBrowser* sInstance = LLUISingleton<LLFloaterMediaBrowser, VisibilityPolicy<LLFloater> >::showInstance(media_url);
159 165
160 floaterp->openMedia(media_url.asString()); 166 sInstance->openMedia(media_url.asString());
161 return floaterp; 167 return sInstance;
162} 168}
163 169
164void LLFloaterMediaBrowser::show() 170//static
171void LLFloaterMediaBrowser::toggle()
172{
173 bool visible = LLFloaterMediaBrowser::instanceVisible();
174 LLFloaterMediaBrowser* self = sInstance->getInstance();
175
176 if(visible && self)
177 {
178 self->close();
179 }
180 else
181 {
182 //Show home url if new session, last visited if not
183 std::string last_url = gSavedSettings.getString("BrowserLastVisited");
184 if(last_url.empty())
185 last_url = gSavedSettings.getString("BrowserHome");
186 showInstance(last_url);
187 }
188}
189
190//static
191void LLFloaterMediaBrowser::helpF1()
192{
193 std::string url = gSavedSettings.getString("HelpSupportURL");
194 std::string* url_copy = new std::string(url);
195
196 gViewerWindow->alertXml("ClickOpenF1Help", onClickF1HelpLoadURL, url_copy);
197}
198
199// static
200void LLFloaterMediaBrowser::onClickF1HelpLoadURL(S32 option, void* userdata)
165{ 201{
166 //Show home url if new session, last visited if not 202 std::string* urlp = (std::string*)userdata;
167 std::string last_url = gSavedSettings.getString("BrowserLastVisited"); 203 if (0 == option)
168 if(last_url.empty()) 204 {
169 last_url = gSavedSettings.getString("BrowserHome"); 205 showInstance(urlp->c_str());
170 showInstance(last_url); 206 }
207 delete urlp;
171} 208}
209
172//static 210//static
173void LLFloaterMediaBrowser::onEnterAddress(LLUICtrl* ctrl, void* user_data) 211void LLFloaterMediaBrowser::onEnterAddress(LLUICtrl* ctrl, void* user_data)
174{ 212{
@@ -225,7 +263,7 @@ void LLFloaterMediaBrowser::onClickOpenWebBrowser(void* user_data)
225 std::string url = self->mCurrentURL.empty() ? 263 std::string url = self->mCurrentURL.empty() ?
226 self->mBrowser->getHomePageUrl() : 264 self->mBrowser->getHomePageUrl() :
227 self->mCurrentURL; 265 self->mCurrentURL;
228 LLWeb::loadURLExternal(url); 266 LLWeb::loadURL(url);
229} 267}
230 268
231void LLFloaterMediaBrowser::onClickAssign(void* user_data) 269void LLFloaterMediaBrowser::onClickAssign(void* user_data)
@@ -247,8 +285,6 @@ void LLFloaterMediaBrowser::onClickAssign(void* user_data)
247 LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel, true ); 285 LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel, true );
248 // now check for video 286 // now check for video
249 LLViewerParcelMedia::update( parcel ); 287 LLViewerParcelMedia::update( parcel );
250
251
252} 288}
253 289
254void LLFloaterMediaBrowser::onClickHome(void* user_data) 290void LLFloaterMediaBrowser::onClickHome(void* user_data)
@@ -270,6 +306,11 @@ void LLFloaterMediaBrowser::onClickSetHome(void* user_data)
270 std::string url = self->mCurrentURL; 306 std::string url = self->mCurrentURL;
271 if(!url.empty()) 307 if(!url.empty())
272 { 308 {
309 LLChat chat;
310 std::string log_message = LLTrans::getString("new_home_page") + " ";
311 log_message += url;
312 chat.mText = log_message;
313 LLFloaterChat::addChat(chat, FALSE, FALSE);
273 gSavedSettings.setString("BrowserHome", url); 314 gSavedSettings.setString("BrowserHome", url);
274 } 315 }
275} 316}
@@ -279,257 +320,3 @@ void LLFloaterMediaBrowser::openMedia(const std::string& media_url)
279 mBrowser->setHomePageUrl(media_url); 320 mBrowser->setHomePageUrl(media_url);
280 mBrowser->navigateTo(media_url); 321 mBrowser->navigateTo(media_url);
281} 322}
282
283LLViewerHtmlHelp gViewerHtmlHelp;
284
285class LLFloaterHtmlHelp :
286 public LLFloater,
287 public LLWebBrowserCtrlObserver
288{
289public:
290 LLFloaterHtmlHelp(std::string start_url, std::string title);
291 virtual ~LLFloaterHtmlHelp();
292
293 virtual void onClose( bool app_quitting );
294 virtual void draw();
295
296 static void show(std::string url, std::string title);
297 static void onClickBack( void* data );
298 static void onClickHome( void* data );
299 static void onClickForward( void* data );
300 static void onClickClose( void* data );
301
302 // browser observer impls
303 virtual void onStatusTextChange( const EventType& eventIn );
304 virtual void onLocationChange( const EventType& eventIn );
305
306 // used for some stats logging - will be removed at some point
307 static BOOL sFloaterOpened;
308
309 static void onClickF1HelpLoadURL(S32 option, void* userdata);
310
311protected:
312 LLWebBrowserCtrl* mWebBrowser;
313 static LLFloaterHtmlHelp* sInstance;
314 LLButton* mBackButton;
315 LLButton* mForwardButton;
316 LLButton* mCloseButton;
317 LLTextBox* mStatusText;
318 std::string mStatusTextContents;
319 std::string mCurrentUrl;
320 std::string mSupportUrl;
321};
322
323LLFloaterHtmlHelp* LLFloaterHtmlHelp::sInstance = 0;
324
325BOOL LLFloaterHtmlHelp::sFloaterOpened = FALSE;
326
327////////////////////////////////////////////////////////////////////////////////
328//
329LLFloaterHtmlHelp::LLFloaterHtmlHelp(std::string start_url, std::string title)
330: LLFloater( std::string("HTML Help") ),
331 mWebBrowser( 0 ),
332 mStatusTextContents( LLStringUtil::null ),
333 mCurrentUrl( LLStringUtil::null )
334{
335 sInstance = this;
336
337 // create floater from its XML definition
338 LLUICtrlFactory::getInstance()->buildFloater( this, "floater_html_help.xml" );
339
340 childSetAction("back_btn", onClickBack, this);
341 childSetAction("home_btn", onClickHome, this);
342 childSetAction("forward_btn", onClickForward, this);
343
344 if (!title.empty())
345 {
346 setTitle(title);
347 }
348
349 mWebBrowser = getChild<LLWebBrowserCtrl>("html_help_browser" );
350 if ( mWebBrowser )
351 {
352 // observe browser control events
353 mWebBrowser->addObserver( this );
354
355 if (start_url != "")
356 {
357 mWebBrowser->navigateTo( start_url );
358 }
359 else
360 {
361 // if the last page we were at before the client was closed is valid, go there and
362 // override what is in the XML file
363 // (not when the window was closed - it's only ever hidden - not closed)
364 std::string lastPageUrl = gSavedSettings.getString( "HtmlHelpLastPage" );
365 if ( lastPageUrl != "" )
366 {
367 mWebBrowser->navigateTo( lastPageUrl );
368 };
369 }
370 };
371}
372
373////////////////////////////////////////////////////////////////////////////////
374//
375LLFloaterHtmlHelp::~LLFloaterHtmlHelp()
376{
377 // stop observing browser events
378 if ( mWebBrowser )
379 {
380 mWebBrowser->remObserver( this );
381 };
382
383 // save position of floater
384 gSavedSettings.setRect( "HtmlHelpRect", getRect() );
385
386 // save the location we were at when SL closed
387 gSavedSettings.setString( "HtmlHelpLastPage", mCurrentUrl );
388
389 sInstance = 0;
390}
391
392////////////////////////////////////////////////////////////////////////////////
393// virtual
394void LLFloaterHtmlHelp::draw()
395{
396 // enable/disable buttons depending on state
397 if ( mWebBrowser )
398 {
399 bool enable_back = mWebBrowser->canNavigateBack();
400 childSetEnabled( "back_btn", enable_back );
401
402 bool enable_forward = mWebBrowser->canNavigateForward();
403 childSetEnabled( "forward_btn", enable_forward );
404 };
405
406 LLFloater::draw();
407}
408
409////////////////////////////////////////////////////////////////////////////////
410//
411void LLFloaterHtmlHelp::show(std::string url, std::string title)
412{
413 LLFloaterHtml* floater_html = LLFloaterHtml::getInstance();
414 floater_html->setVisible(FALSE);
415
416 if(url.empty())
417 {
418 url = floater_html->getSupportUrl();
419 }
420 std::string* url_copy = new std::string(url);
421
422 gViewerWindow->alertXml("ClickOpenF1Help", onClickF1HelpLoadURL, url_copy);
423
424}
425
426// static
427void LLFloaterHtmlHelp::onClickF1HelpLoadURL(S32 option, void* userdata)
428{
429 std::string* urlp = (std::string*)userdata;
430 if (0 == option)
431 {
432 LLWeb::loadURL(urlp->c_str());
433 }
434 delete urlp;
435}
436
437////////////////////////////////////////////////////////////////////////////////
438//
439void LLFloaterHtmlHelp::onClose( bool app_quitting )
440{
441 setVisible( false );
442}
443
444////////////////////////////////////////////////////////////////////////////////
445//
446void LLFloaterHtmlHelp::onClickClose( void* data )
447{
448 LLFloaterHtmlHelp* self = ( LLFloaterHtmlHelp* )data;
449
450 self->setVisible( false );
451}
452
453////////////////////////////////////////////////////////////////////////////////
454//
455void LLFloaterHtmlHelp::onClickBack( void* data )
456{
457 LLFloaterHtmlHelp* self = ( LLFloaterHtmlHelp* )data;
458 if ( self )
459 {
460 if ( self->mWebBrowser )
461 {
462 self->mWebBrowser->navigateBack();
463 };
464 };
465}
466
467////////////////////////////////////////////////////////////////////////////////
468//
469void LLFloaterHtmlHelp::onClickHome( void* data )
470{
471 LLFloaterHtmlHelp* self = ( LLFloaterHtmlHelp* )data;
472 if ( self )
473 {
474 // get the home page URL (which can differ from the start URL) from XML and go there
475 LLWebBrowserCtrl* web_browser = self->getChild<LLWebBrowserCtrl>("html_help_browser" );
476 if ( web_browser )
477 {
478 web_browser->navigateHome();
479 };
480 };
481}
482
483////////////////////////////////////////////////////////////////////////////////
484//
485void LLFloaterHtmlHelp::onClickForward( void* data )
486{
487 LLFloaterHtmlHelp* self = ( LLFloaterHtmlHelp* )data;
488 if ( self )
489 {
490 if ( self->mWebBrowser )
491 {
492 self->mWebBrowser->navigateForward();
493 };
494 };
495}
496
497////////////////////////////////////////////////////////////////////////////////
498//
499void LLFloaterHtmlHelp::onStatusTextChange( const EventType& eventIn )
500{
501 mStatusTextContents = std::string( eventIn.getStringValue() );
502
503 childSetText("status_text", mStatusTextContents);
504}
505
506////////////////////////////////////////////////////////////////////////////////
507//
508void LLFloaterHtmlHelp::onLocationChange( const EventType& eventIn )
509{
510 llinfos << "MOZ> Location changed to " << eventIn.getStringValue() << llendl;
511 mCurrentUrl = std::string( eventIn.getStringValue() );
512}
513
514////////////////////////////////////////////////////////////////////////////////
515//
516LLViewerHtmlHelp::LLViewerHtmlHelp()
517{
518 LLUI::setHtmlHelp(this);
519}
520
521LLViewerHtmlHelp::~LLViewerHtmlHelp()
522{
523 LLUI::setHtmlHelp(NULL);
524}
525
526void LLViewerHtmlHelp::show()
527{
528 LLFloaterHtmlHelp::show("", "");
529}
530
531void LLViewerHtmlHelp::show(std::string url)
532{
533 std::string title; // empty
534 LLFloaterHtmlHelp::show(url, title);
535}
diff --git a/linden/indra/newview/llfloaterhtmlhelp.h b/linden/indra/newview/llfloaterhtmlhelp.h
index d726b77..d52d8d3 100644
--- a/linden/indra/newview/llfloaterhtmlhelp.h
+++ b/linden/indra/newview/llfloaterhtmlhelp.h
@@ -36,16 +36,6 @@
36#include "llfloater.h" 36#include "llfloater.h"
37#include "llwebbrowserctrl.h" 37#include "llwebbrowserctrl.h"
38 38
39class LLViewerHtmlHelp : public LLHtmlHelp
40{
41public:
42 LLViewerHtmlHelp();
43 virtual ~LLViewerHtmlHelp();
44
45 /*virtual*/ void show();
46 /*virtual*/ void show(std::string start_url);
47};
48
49class LLComboBox; 39class LLComboBox;
50class LLWebBrowserCtrl; 40class LLWebBrowserCtrl;
51 41
@@ -65,7 +55,9 @@ public:
65 void buildURLHistory(); 55 void buildURLHistory();
66 56
67 static LLFloaterMediaBrowser* showInstance(const LLSD& id); 57 static LLFloaterMediaBrowser* showInstance(const LLSD& id);
68 static void show(); 58
59 static void toggle();
60 static void helpF1();
69 static void onEnterAddress(LLUICtrl* ctrl, void* user_data); 61 static void onEnterAddress(LLUICtrl* ctrl, void* user_data);
70 static void onClickRefresh(void* user_data); 62 static void onClickRefresh(void* user_data);
71 static void onClickBack(void* user_data); 63 static void onClickBack(void* user_data);
@@ -76,14 +68,15 @@ public:
76 static void onClickAssign(void* user_data); 68 static void onClickAssign(void* user_data);
77 static void onClickHome(void* user_data); 69 static void onClickHome(void* user_data);
78 static void onClickSetHome(void* user_data); 70 static void onClickSetHome(void* user_data);
71 static void onClickF1HelpLoadURL(S32 option, void* userdata);
79 72
80private: 73private:
81 LLWebBrowserCtrl* mBrowser; 74 LLWebBrowserCtrl* mBrowser;
82 LLComboBox* mAddressCombo; 75 LLComboBox* mAddressCombo;
83 std::string mCurrentURL; 76 std::string mCurrentURL;
84};
85 77
86extern LLViewerHtmlHelp gViewerHtmlHelp; 78 static LLFloaterMediaBrowser* sInstance;
79};
87 80
88#endif // LL_LLFLOATERHTMLHELP_H 81#endif // LL_LLFLOATERHTMLHELP_H
89 82
diff --git a/linden/indra/newview/llimpanel.cpp b/linden/indra/newview/llimpanel.cpp
index 5e260ec..dede746 100644
--- a/linden/indra/newview/llimpanel.cpp
+++ b/linden/indra/newview/llimpanel.cpp
@@ -68,7 +68,6 @@
68#include "lluictrlfactory.h" 68#include "lluictrlfactory.h"
69#include "llviewerwindow.h" 69#include "llviewerwindow.h"
70#include "lllogchat.h" 70#include "lllogchat.h"
71#include "llfloaterhtml.h"
72#include "llweb.h" 71#include "llweb.h"
73#include "llhttpclient.h" 72#include "llhttpclient.h"
74#include "llmutelist.h" 73#include "llmutelist.h"
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp
index a495516..aeb3b2d 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -70,8 +70,6 @@
70#include "llweb.h" 70#include "llweb.h"
71#include "llwebbrowserctrl.h" 71#include "llwebbrowserctrl.h"
72 72
73#include "llfloaterhtml.h"
74
75#include "llfloaterhtmlhelp.h" 73#include "llfloaterhtmlhelp.h"
76#include "llfloatertos.h" 74#include "llfloatertos.h"
77 75
@@ -559,7 +557,7 @@ BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask)
559 if ( KEY_F1 == key ) 557 if ( KEY_F1 == key )
560 { 558 {
561 llinfos << "Spawning HTML help window" << llendl; 559 llinfos << "Spawning HTML help window" << llendl;
562 gViewerHtmlHelp.show(); 560 LLFloaterMediaBrowser::helpF1();
563 return TRUE; 561 return TRUE;
564 } 562 }
565 563
diff --git a/linden/indra/newview/llurldispatcher.cpp b/linden/indra/newview/llurldispatcher.cpp
index 229314e..d574ea1 100644
--- a/linden/indra/newview/llurldispatcher.cpp
+++ b/linden/indra/newview/llurldispatcher.cpp
@@ -37,7 +37,6 @@
37#include "llcommandhandler.h" 37#include "llcommandhandler.h"
38#include "llfloaterurldisplay.h" 38#include "llfloaterurldisplay.h"
39#include "llfloaterdirectory.h" 39#include "llfloaterdirectory.h"
40#include "llfloaterhtml.h"
41#include "llfloaterworldmap.h" 40#include "llfloaterworldmap.h"
42#include "llfloaterhtmlhelp.h" 41#include "llfloaterhtmlhelp.h"
43#include "llpanellogin.h" 42#include "llpanellogin.h"
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index d607afe..4c6de79 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -105,7 +105,6 @@
105#include "llfloatergroupinfo.h" 105#include "llfloatergroupinfo.h"
106#include "llfloatergroupinvite.h" 106#include "llfloatergroupinvite.h"
107#include "llfloatergroups.h" 107#include "llfloatergroups.h"
108#include "llfloaterhtml.h"
109#include "llfloaterhtmlhelp.h" 108#include "llfloaterhtmlhelp.h"
110#include "llfloaterhud.h" 109#include "llfloaterhud.h"
111#include "llfloaterinspect.h" 110#include "llfloaterinspect.h"
@@ -5146,7 +5145,7 @@ class LLShowFloater : public view_listener_t
5146 } 5145 }
5147 else if (floater_name == "help f1") 5146 else if (floater_name == "help f1")
5148 { 5147 {
5149 gViewerHtmlHelp.show(); 5148 LLFloaterMediaBrowser::helpF1();
5150 } 5149 }
5151 else if (floater_name == "help tutorial") 5150 else if (floater_name == "help tutorial")
5152 { 5151 {
@@ -5189,7 +5188,7 @@ class LLShowFloater : public view_listener_t
5189 } 5188 }
5190 else if (floater_name == "inworld browser") 5189 else if (floater_name == "inworld browser")
5191 { 5190 {
5192 LLFloaterMediaBrowser::show(); 5191 LLFloaterMediaBrowser::toggle();
5193 } 5192 }
5194 return true; 5193 return true;
5195 } 5194 }
@@ -6968,13 +6967,8 @@ void handle_load_from_xml(void*)
6968 6967
6969void handle_slurl_test(void*) 6968void handle_slurl_test(void*)
6970{ 6969{
6971 const bool open_links_externally = false; 6970 std::string test_slurl = "http://secondlife.com/app/search/slurls.html";
6972 const bool open_app_slurls = true; 6971 LLFloaterMediaBrowser::showInstance(test_slurl);
6973 LLFloaterHtml::getInstance()->show(
6974 "http://secondlife.com/app/search/slurls.html",
6975 "SLURL Test",
6976 open_links_externally,
6977 open_app_slurls);
6978} 6972}
6979 6973
6980void handle_rebake_textures(void*) 6974void handle_rebake_textures(void*)
diff --git a/linden/indra/newview/llviewerparcelmgr.cpp b/linden/indra/newview/llviewerparcelmgr.cpp
index a1311d3..5ef6f83 100644
--- a/linden/indra/newview/llviewerparcelmgr.cpp
+++ b/linden/indra/newview/llviewerparcelmgr.cpp
@@ -50,7 +50,6 @@
50#include "llfirstuse.h" 50#include "llfirstuse.h"
51#include "llfloaterbuyland.h" 51#include "llfloaterbuyland.h"
52#include "llfloatergroups.h" 52#include "llfloatergroups.h"
53//#include "llfloaterhtml.h"
54#include "llfloatersellland.h" 53#include "llfloatersellland.h"
55#include "llfloatertools.h" 54#include "llfloatertools.h"
56#include "llnotify.h" 55#include "llnotify.h"
diff --git a/linden/indra/newview/llviewerstats.cpp b/linden/indra/newview/llviewerstats.cpp
index 9034634..edefb57 100644
--- a/linden/indra/newview/llviewerstats.cpp
+++ b/linden/indra/newview/llviewerstats.cpp
@@ -53,7 +53,6 @@
53#include "llfasttimerview.h" 53#include "llfasttimerview.h"
54#include "llviewerregion.h" 54#include "llviewerregion.h"
55#include "llvoavatar.h" 55#include "llvoavatar.h"
56#include "llfloaterhtml.h"
57#include "llviewerwindow.h" // *TODO: remove, only used for width/height 56#include "llviewerwindow.h" // *TODO: remove, only used for width/height
58#include "llworld.h" 57#include "llworld.h"
59#include "llfeaturemanager.h" 58#include "llfeaturemanager.h"
diff --git a/linden/indra/newview/llwebbrowserctrl.cpp b/linden/indra/newview/llwebbrowserctrl.cpp
index e9a7132..c4a2b2b 100644
--- a/linden/indra/newview/llwebbrowserctrl.cpp
+++ b/linden/indra/newview/llwebbrowserctrl.cpp
@@ -35,7 +35,7 @@
35#include "llwebbrowserctrl.h" 35#include "llwebbrowserctrl.h"
36 36
37// viewer includes 37// viewer includes
38#include "llfloaterhtml.h" 38#include "llfloaterhtmlhelp.h"
39#include "llfloaterworldmap.h" 39#include "llfloaterworldmap.h"
40#include "lluictrlfactory.h" 40#include "lluictrlfactory.h"
41#include "llurldispatcher.h" 41#include "llurldispatcher.h"
@@ -750,15 +750,10 @@ void LLWebBrowserCtrl::onClickLinkHref( const EventType& eventIn )
750 if ( LLStringUtil::compareInsensitive( eventIn.getStringValue().substr( 0, protocol1.length() ), protocol1 ) == 0 || 750 if ( LLStringUtil::compareInsensitive( eventIn.getStringValue().substr( 0, protocol1.length() ), protocol1 ) == 0 ||
751 LLStringUtil::compareInsensitive( eventIn.getStringValue().substr( 0, protocol2.length() ), protocol2 ) == 0 ) 751 LLStringUtil::compareInsensitive( eventIn.getStringValue().substr( 0, protocol2.length() ), protocol2 ) == 0 )
752 { 752 {
753 // If we spawn a new LLFloaterHTML, assume we want it to 753 // If we spawn a new LLFloaterMediaBrowser, assume we want it to
754 // follow this LLWebBrowserCtrl's setting for whether or 754 // follow this LLWebBrowserCtrl's setting for whether or
755 // not to open secondlife:///app/ links. JC. 755 // not to open secondlife:///app/ links. JC.
756 const bool open_links_externally = false; 756 LLFloaterMediaBrowser::showInstance(eventIn.getStringValue());
757 LLFloaterHtml::getInstance()->show(
758 eventIn.getStringValue(),
759 "Second Life Browser",
760 open_links_externally,
761 mOpenAppSLURLs);
762 }; 757 };
763 }; 758 };
764 }; 759 };
diff --git a/linden/indra/newview/skins/default/xui/de/floater_html.xml b/linden/indra/newview/skins/default/xui/de/floater_html.xml
deleted file mode 100644
index 5d5877e..0000000
--- a/linden/indra/newview/skins/default/xui/de/floater_html.xml
+++ /dev/null
@@ -1,14 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="Schließen" name="close_btn" />
4 <button label="Zurück" name="back_btn" />
5 <button label="Zuhause" name="home_btn" />
6 <button label="Weiterleiten" name="forward_btn" />
7 <button label="Los" name="go_btn" />
8 <string name="home_page_url">
9 http://de.secondlife.com
10 </string>
11 <string name="support_page_url">
12 http://de.secondlife.com/support
13 </string>
14</floater>
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_html.xml b/linden/indra/newview/skins/default/xui/en-us/floater_html.xml
deleted file mode 100644
index d107454..0000000
--- a/linden/indra/newview/skins/default/xui/en-us/floater_html.xml
+++ /dev/null
@@ -1,25 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
3 height="500" min_height="300" min_width="400" name="htmlfloater" title=""
4 width="700">
5 <button bottom="10" follows="bottom|right" font="SansSerifSmall" height="20"
6 label="Close" name="close_btn" right="-10" width="80" />
7 <web_browser bottom="40" follows="top|left|bottom|right" font="SansSerifSmall" left="15"
8 name="html_floater_browser" right="-15" top="-56" />
9 <button bottom="-45" follows="top|left" font="SansSerifSmall" height="20" label="Back"
10 left="15" name="back_btn" width="70" />
11 <button bottom_delta="0" follows="top|left" font="SansSerifSmall" height="20"
12 label="Forward" left_delta="73" name="forward_btn" width="70" />
13 <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom_delta="0"
14 follows="top|left|right" font="SansSerifSmall" height="20" left_delta="85"
15 max_length="256" mouse_opaque="true" name="url_edit"
16 select_all_on_focus_received="true" width="435" />
17 <button bottom_delta="0" follows="top|right" font="SansSerifSmall" height="20"
18 label="Go" left_delta="440" name="go_btn" width="70" />
19 <string name="home_page_url">
20 http://www.secondlife.com
21 </string>
22 <string name="support_page_url">
23 http://support.secondlife.com
24 </string>
25</floater>
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml b/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
index 077ab23..318f46a 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
@@ -8,15 +8,15 @@
8 <button bottom="0" follows="left|top" height="20" label="Back" left="0" name="back" 8 <button bottom="0" follows="left|top" height="20" label="Back" left="0" name="back"
9 width="55" /> 9 width="55" />
10 <button bottom_delta="0" follows="left|top" height="20" label="Forward" left_delta="55" 10 <button bottom_delta="0" follows="left|top" height="20" label="Forward" left_delta="55"
11 name="forward" width="60" /> 11 name="forward" width="68" />
12 <button bottom_delta="0" enabled="false" follows="left|top" height="20" label="Reload" 12 <button bottom_delta="0" enabled="false" follows="left|top" height="20" label="Reload"
13 left_delta="65" name="reload" width="70" /> 13 left_delta="70" name="reload" width="70" />
14 <combo_box allow_text_entry="true" bottom_delta="0" follows="left|top|right" height="20" 14 <combo_box allow_text_entry="true" bottom_delta="0" follows="left|top|right" height="20"
15 left_delta="75" max_chars="235" name="address" width="225" /> 15 left_delta="75" max_chars="235" name="address" width="230" />
16 <button bottom_delta="0" enabled="false" follows="right|top" height="20" label="Go" 16 <button bottom_delta="0" enabled="false" follows="right|top" height="20" label="Go"
17 left_delta="230" name="go" width="55" /> 17 left_delta="232" name="go" width="55" />
18 <button bottom_delta="0" enabled="true" follows="right|top" height="20" label="Home" 18 <button bottom_delta="0" enabled="true" follows="right|top" height="20" label="Home"
19 left_delta="60" name="home" width="55" /> 19 left_delta="58" name="home" width="55" />
20 </layout_panel> 20 </layout_panel>
21 <layout_panel auto_resize="false" bottom="0" height="20" left="0" 21 <layout_panel auto_resize="false" bottom="0" height="20" left="0"
22 name="parcel_owner_controls" user_resize="false" width="540"> 22 name="parcel_owner_controls" user_resize="false" width="540">
@@ -30,10 +30,10 @@
30 <button bottom="5" follows="bottom|left" height="20" label="Open in My Web Browser" 30 <button bottom="5" follows="bottom|left" height="20" label="Open in My Web Browser"
31 left="0" name="open_browser" width="185" /> 31 left="0" name="open_browser" width="185" />
32 <check_box bottom="5" control_name="UseExternalBrowser" follows="bottom|left" height="20" 32 <check_box bottom="5" control_name="UseExternalBrowser" follows="bottom|left" height="20"
33 label="Always open in my web browser" left_delta="190" name="open_always" 33 label="Always open in my web browser" left_delta="184" name="open_always"
34 width="200" /> 34 width="200" />
35 <button bottom="5" enabled="false" follows="bottom|right" height="20" label="Set Home To Here" 35 <button bottom="5" enabled="false" follows="bottom|right" height="20" label="Set As Home"
36 left="-265" name="set_home" width="155" /> 36 left="-176" name="set_home" width="104" />
37 <button bottom="5" follows="bottom|right" height="20" label="Close" left="-70" 37 <button bottom="5" follows="bottom|right" height="20" label="Close" left="-70"
38 name="close" width="70" /> 38 name="close" width="70" />
39 </layout_panel> 39 </layout_panel>
diff --git a/linden/indra/newview/skins/default/xui/en-us/strings.xml b/linden/indra/newview/skins/default/xui/en-us/strings.xml
index ecacc78..5808e71 100644
--- a/linden/indra/newview/skins/default/xui/en-us/strings.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/strings.xml
@@ -178,6 +178,7 @@
178 178
179 <!-- System messages --> 179 <!-- System messages -->
180 <string name="landmark_created">You created a landmark at</string> 180 <string name="landmark_created">You created a landmark at</string>
181 <string name="new_home_page">Your new Home Page is</string>
181 182
182</strings> 183</strings>
183 184
diff --git a/linden/indra/newview/skins/default/xui/es/floater_html.xml b/linden/indra/newview/skins/default/xui/es/floater_html.xml
deleted file mode 100644
index 9985276..0000000
--- a/linden/indra/newview/skins/default/xui/es/floater_html.xml
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="Volver" name="back_btn" />
4 <button label="Avanzar" name="forward_btn" />
5 <button label="Recargar" name="reload_btn" />
6 <button label="Parar" name="stop_btn" />
7 <button label="Casa" name="home_btn" />
8 <button label="Ir" name="go_btn" />
9 <string name="support_page_url">
10 http://secondlife.com/app/support/index_es.html
11 </string>
12</floater>
diff --git a/linden/indra/newview/skins/default/xui/fr/floater_html.xml b/linden/indra/newview/skins/default/xui/fr/floater_html.xml
deleted file mode 100644
index 9504040..0000000
--- a/linden/indra/newview/skins/default/xui/fr/floater_html.xml
+++ /dev/null
@@ -1,16 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="Fermer" name="close_btn" />
4 <button label="Précédente" name="back_btn" />
5 <button label="Suivante" name="forward_btn" />
6 <button label="Recharger" name="reload_btn" />
7 <button label="Arrêter" name="stop_btn" />
8 <button label="Domicile" name="home_btn" />
9 <button label="Aller" name="go_btn" />
10 <string name="home_page_url">
11 http://www.secondlife.com
12 </string>
13 <string name="support_page_url">
14 http://support.secondlife.com
15 </string>
16</floater>
diff --git a/linden/indra/newview/skins/default/xui/ja/floater_html.xml b/linden/indra/newview/skins/default/xui/ja/floater_html.xml
deleted file mode 100644
index da63fab..0000000
--- a/linden/indra/newview/skins/default/xui/ja/floater_html.xml
+++ /dev/null
@@ -1,14 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="閉じる" name="close_btn" />
4 <button label="戻る" name="back_btn" />
5 <button label="ホーム" name="home_btn" />
6 <button label="進む" name="forward_btn" />
7 <button label="移動" name="go_btn" />
8 <string name="home_page_url">
9 http://jp.secondlife.com
10 </string>
11 <string name="support_page_url">
12 http://help.secondlife.com/jp
13 </string>
14</floater>
diff --git a/linden/indra/newview/skins/default/xui/ko/floater_html.xml b/linden/indra/newview/skins/default/xui/ko/floater_html.xml
deleted file mode 100644
index c4c2055..0000000
--- a/linden/indra/newview/skins/default/xui/ko/floater_html.xml
+++ /dev/null
@@ -1,14 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="닫기" name="close_btn" />
4 <button label="뒤로" name="back_btn" />
5 <button label="홈" name="home_btn" />
6 <button label="앞으로" name="forward_btn" />
7 <button label="이동" name="go_btn" />
8 <string name="home_page_url">
9 http://kr.secondlife.com
10 </string>
11 <string name="support_page_url">
12 http://help.secondlife.com/kr
13 </string>
14</floater>
diff --git a/linden/indra/newview/skins/default/xui/pt/floater_html.xml b/linden/indra/newview/skins/default/xui/pt/floater_html.xml
deleted file mode 100644
index b64cb2d..0000000
--- a/linden/indra/newview/skins/default/xui/pt/floater_html.xml
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <text name="f1_help_title">
4 Second Life Help
5 </text>
6 <text name="f1_help_url">
7 http://secondlife.com/app/support/index_pt.html
8 </text>
9 <string name="support_page_url">
10 http://secondlife.com/app/support/index_pt.html
11 </string>
12</floater>
diff --git a/linden/indra/newview/skins/default/xui/zh/floater_html.xml b/linden/indra/newview/skins/default/xui/zh/floater_html.xml
deleted file mode 100644
index 8c75fa7..0000000
--- a/linden/indra/newview/skins/default/xui/zh/floater_html.xml
+++ /dev/null
@@ -1,12 +0,0 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="">
3 <button label="返回" name="back_btn" />
4 <button label="朝向" name="forward_btn" />
5 <button label="重载入" name="reload_btn" />
6 <button label="停止" name="stop_btn" />
7 <button label="家" name="home_btn" />
8 <button label="行动" name="go_btn" />
9 <string name="support_page_url">
10 http://secondlife.com/app/support/index_zh.html
11 </string>
12</floater>