From a6b9765d6237f6a251eb875d38164b53c0eb2bd2 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Wed, 2 Dec 2009 16:52:19 +0000 Subject: DEV-43439: Initial implementation of web-based Home panel. The home panel now displays a web page - hardcoded to secondlife.com until we have something more relevant to display. --- indra/newview/llpanelhome.cpp | 28 +++++++++++++++++++--- indra/newview/llpanelhome.h | 10 +++++++- .../skins/default/xui/en/floater_help_browser.xml | 1 + .../skins/default/xui/en/floater_search.xml | 1 + .../skins/default/xui/en/panel_side_tray.xml | 1 + .../default/xui/en/panel_sidetray_home_tab.xml | 5 ++-- 6 files changed, 39 insertions(+), 7 deletions(-) diff --git a/indra/newview/llpanelhome.cpp b/indra/newview/llpanelhome.cpp index 7f2d24ab34..5e7b9ef6bb 100644 --- a/indra/newview/llpanelhome.cpp +++ b/indra/newview/llpanelhome.cpp @@ -34,14 +34,36 @@ #include "llviewerprecompiledheaders.h" #include "llpanelhome.h" +#include "llmediactrl.h" + static LLRegisterPanelClassWrapper t_people("panel_sidetray_home"); LLPanelHome::LLPanelHome() : - LLPanel() + LLPanel(), + mBrowser(NULL), + mFirstView(true) +{ +} + +void LLPanelHome::onOpen(const LLSD& key) { + // display the home page the first time we open the panel + if (mFirstView && mBrowser) + { + mBrowser->navigateHome(); + } + mFirstView = false; } -void LLPanelHome::reshape(S32 width, S32 height, BOOL called_from_parent) +BOOL LLPanelHome::postBuild() { - return LLPanel::reshape(width, height, called_from_parent); + mBrowser = getChild("browser"); + if (mBrowser) + { + mBrowser->setTrusted(true); + mBrowser->setHomePageUrl("http://www.secondlife.com/"); + } + + return TRUE; } + diff --git a/indra/newview/llpanelhome.h b/indra/newview/llpanelhome.h index 2c60eecc39..d75e2c0d80 100644 --- a/indra/newview/llpanelhome.h +++ b/indra/newview/llpanelhome.h @@ -35,6 +35,9 @@ #define LL_LLPANELHOME_H #include "llpanel.h" +#include "llsd.h" + +class LLMediaCtrl; /** * Base class for web-based Home side tray @@ -44,7 +47,12 @@ class LLPanelHome : public LLPanel public: LLPanelHome(); - void reshape(S32 width, S32 height, BOOL called_from_parent); + /*virtual*/ BOOL postBuild(); + /*virtual*/ void onOpen(const LLSD& key); + +private: + LLMediaCtrl *mBrowser; + bool mFirstView; }; #endif //LL_LLPANELHOME_H diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml index f50ff01230..55a6179afb 100644 --- a/indra/newview/skins/default/xui/en/floater_help_browser.xml +++ b/indra/newview/skins/default/xui/en/floater_help_browser.xml @@ -43,6 +43,7 @@ left="0" name="browser" top="0" + start_url="data:text/html,%3Chtml%3E%3Cbody bgcolor=%22#2A2A2A%22%3E%3C/body%3E%3C/html%3E" width="570" />