summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloaterwebcontent.cpp22
-rw-r--r--indra/newview/llfloaterwebcontent.h2
-rw-r--r--indra/newview/skins/default/xui/en/floater_web_content.xml19
3 files changed, 37 insertions, 6 deletions
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp
index ed66be165e..d9748b2235 100644
--- a/indra/newview/llfloaterwebcontent.cpp
+++ b/indra/newview/llfloaterwebcontent.cpp
@@ -33,6 +33,7 @@
#include "llprogressbar.h"
#include "lltextbox.h"
#include "llviewercontrol.h"
+#include "llweb.h"
#include "llwindow.h"
#include "llfloaterwebcontent.h"
@@ -43,8 +44,8 @@ LLFloaterWebContent::LLFloaterWebContent( const LLSD& key )
mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this ));
mCommitCallbackRegistrar.add( "WebContent.Forward", boost::bind( &LLFloaterWebContent::onClickForward, this ));
mCommitCallbackRegistrar.add( "WebContent.Reload", boost::bind( &LLFloaterWebContent::onClickReload, this ));
-
mCommitCallbackRegistrar.add( "WebContent.EnterAddress", boost::bind( &LLFloaterWebContent::onEnterAddress, this ));
+ mCommitCallbackRegistrar.add( "WebContent.PopExternal", boost::bind( &LLFloaterWebContent::onPopExternal, this ));
}
BOOL LLFloaterWebContent::postBuild()
@@ -58,8 +59,9 @@ BOOL LLFloaterWebContent::postBuild()
// observe browser events
mWebBrowser->addObserver( this );
- // these button are always enabled
+ // these buttons are always enabled
getChildView("reload")->setEnabled( true );
+ getChildView("popexternal")->setEnabled( true );
return TRUE;
}
@@ -323,8 +325,20 @@ void LLFloaterWebContent::onEnterAddress()
{
// make sure there is at least something there.
// (perhaps this test should be for minimum length of a URL)
- if ( mAddressCombo->getValue().asString().length() > 0 )
+ std::string url = mAddressCombo->getValue().asString();
+ if ( url.length() > 0 )
+ {
+ mWebBrowser->navigateTo( url, "text/html");
+ };
+}
+
+void LLFloaterWebContent::onPopExternal()
+{
+ // make sure there is at least something there.
+ // (perhaps this test should be for minimum length of a URL)
+ std::string url = mAddressCombo->getValue().asString();
+ if ( url.length() > 0 )
{
- mWebBrowser->navigateTo( mAddressCombo->getValue().asString(), "text/html");
+ LLWeb::loadURLExternal( url );
};
}
diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h
index 1effa2c4ab..09b4945b65 100644
--- a/indra/newview/llfloaterwebcontent.h
+++ b/indra/newview/llfloaterwebcontent.h
@@ -61,7 +61,7 @@ public:
void onClickReload();
void onClickStop();
void onEnterAddress();
- void onClickGo();
+ void onPopExternal();
private:
void open_media(const std::string& media_url, const std::string& target);
diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml
index eac1b4e712..3072ca1b0e 100644
--- a/indra/newview/skins/default/xui/en/floater_web_content.xml
+++ b/indra/newview/skins/default/xui/en/floater_web_content.xml
@@ -110,10 +110,27 @@
name="address"
combo_editor.select_on_focus="true"
top_delta="0"
- width="729">
+ width="702">
<combo_box.commit_callback
function="WebContent.EnterAddress" />
</combo_box>
+ <button
+ image_overlay="ExternalBrowser_Off"
+ image_disabled="PushButton_Disabled"
+ image_disabled_selected="PushButton_Disabled"
+ image_selected="PushButton_Selected"
+ image_unselected="PushButton_Off"
+ follows="right|top"
+ enabled="true"
+ height="22"
+ layout="topleft"
+ name="popexternal"
+ right="800"
+ top_delta="0"
+ width="22">
+ <button.commit_callback
+ function="WebContent.PopExternal" />
+ </button>
</layout_panel>
<layout_panel
height="40"