diff options
author | callum <none@none> | 2010-12-08 14:38:20 -0800 |
---|---|---|
committer | callum <none@none> | 2010-12-08 14:38:20 -0800 |
commit | 61b675e0afb96d1d46b1f36a8d54bb8146ef27d6 (patch) | |
tree | aa9484ac0b7253f106ef7a3227f07638f1c3d305 /indra | |
parent | 52ff7420fdd6c41211174720e4c07b35f61d81c2 (diff) |
SOCIAL-358 FIX Add button to Web Content floater to open current URL in system browser
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloaterwebcontent.cpp | 22 | ||||
-rw-r--r-- | indra/newview/llfloaterwebcontent.h | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_web_content.xml | 19 |
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"
|