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 | |
| parent | 52ff7420fdd6c41211174720e4c07b35f61d81c2 (diff) | |
SOCIAL-358 FIX Add button to Web Content floater to open current URL in system browser
| -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"
 | 
