From 3d3f2fa4be8b28041b46983010547fb804ff8144 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Wed, 2 Dec 2009 14:25:18 +0000 Subject: DEV-43439: Initial web-based Home side tray panel Moved LLSideTrayInfoPanel from llsidetray.cpp into its own llpanelhome.{cpp|h} module. Updated the XUI for the Home tab to simply embed a web view. Thanks to Erica for the initial cut at this XUI. --- indra/newview/CMakeLists.txt | 2 + indra/newview/llpanelhome.cpp | 47 ++++ indra/newview/llpanelhome.h | 50 ++++ indra/newview/llsidetray.cpp | 31 --- .../default/xui/en/panel_sidetray_home_tab.xml | 279 ++------------------- 5 files changed, 123 insertions(+), 286 deletions(-) create mode 100644 indra/newview/llpanelhome.cpp create mode 100644 indra/newview/llpanelhome.h (limited to 'indra') diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 73240cebbb..c2ca366ce4 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -316,6 +316,7 @@ set(viewer_SOURCE_FILES llpanelgrouplandmoney.cpp llpanelgroupnotices.cpp llpanelgrouproles.cpp + llpanelhome.cpp llpanelimcontrolpanel.cpp llpanelland.cpp llpanellandaudio.cpp @@ -813,6 +814,7 @@ set(viewer_HEADER_FILES llpanelgrouplandmoney.h llpanelgroupnotices.h llpanelgrouproles.h + llpanelhome.h llpanelimcontrolpanel.h llpanelland.h llpanellandaudio.h diff --git a/indra/newview/llpanelhome.cpp b/indra/newview/llpanelhome.cpp new file mode 100644 index 0000000000..7f2d24ab34 --- /dev/null +++ b/indra/newview/llpanelhome.cpp @@ -0,0 +1,47 @@ +/** +* @file llpanelhome.cpp +* @author Martin Reddy +* @brief The Home side tray panel +* +* $LicenseInfo:firstyear=2009&license=viewergpl$ +* +* Copyright (c) 2009, Linden Research, Inc. +* +* Second Life Viewer Source Code +* The source code in this file ("Source Code") is provided by Linden Lab +* to you under the terms of the GNU General Public License, version 2.0 +* ("GPL"), unless you have obtained a separate licensing agreement +* ("Other License"), formally executed by you and Linden Lab. Terms of +* the GPL can be found in doc/GPL-license.txt in this distribution, or +* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 +* +* There are special exceptions to the terms and conditions of the GPL as +* it is applied to this Source Code. View the full text of the exception +* in the file doc/FLOSS-exception.txt in this software distribution, or +* online at +* http://secondlifegrid.net/programs/open_source/licensing/flossexception +* +* By copying, modifying or distributing this software, you acknowledge +* that you have read and understood your obligations described above, +* and agree to abide by those obligations. +* +* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO +* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, +* COMPLETENESS OR PERFORMANCE. +* $/LicenseInfo$ +*/ + +#include "llviewerprecompiledheaders.h" +#include "llpanelhome.h" + +static LLRegisterPanelClassWrapper t_people("panel_sidetray_home"); + +LLPanelHome::LLPanelHome() : + LLPanel() +{ +} + +void LLPanelHome::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + return LLPanel::reshape(width, height, called_from_parent); +} diff --git a/indra/newview/llpanelhome.h b/indra/newview/llpanelhome.h new file mode 100644 index 0000000000..2c60eecc39 --- /dev/null +++ b/indra/newview/llpanelhome.h @@ -0,0 +1,50 @@ +/** +* @file llpanelhome.h +* @author Martin Reddy +* @brief The Home side tray panel +* +* $LicenseInfo:firstyear=2009&license=viewergpl$ +* +* Copyright (c) 2009, Linden Research, Inc. +* +* Second Life Viewer Source Code +* The source code in this file ("Source Code") is provided by Linden Lab +* to you under the terms of the GNU General Public License, version 2.0 +* ("GPL"), unless you have obtained a separate licensing agreement +* ("Other License"), formally executed by you and Linden Lab. Terms of +* the GPL can be found in doc/GPL-license.txt in this distribution, or +* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 +* +* There are special exceptions to the terms and conditions of the GPL as +* it is applied to this Source Code. View the full text of the exception +* in the file doc/FLOSS-exception.txt in this software distribution, or +* online at +* http://secondlifegrid.net/programs/open_source/licensing/flossexception +* +* By copying, modifying or distributing this software, you acknowledge +* that you have read and understood your obligations described above, +* and agree to abide by those obligations. +* +* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO +* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, +* COMPLETENESS OR PERFORMANCE. +* $/LicenseInfo$ +*/ + +#ifndef LL_LLPANELHOME_H +#define LL_LLPANELHOME_H + +#include "llpanel.h" + +/** + * Base class for web-based Home side tray + */ +class LLPanelHome : public LLPanel +{ +public: + LLPanelHome(); + + void reshape(S32 width, S32 height, BOOL called_from_parent); +}; + +#endif //LL_LLPANELHOME_H diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index ee62d689b5..9333465052 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -66,37 +66,6 @@ static const std::string TAB_PANEL_CAPTION_TITLE_BOX = "sidetray_tab_title"; LLSideTray* LLSideTray::sInstance = 0; -class LLSideTrayInfoPanel: public LLPanel -{ - -public: - LLSideTrayInfoPanel():LLPanel() - { - setBorderVisible(true); - } - - BOOL handleHover(S32 x, S32 y, MASK mask) - { - getWindow()->setCursor(UI_CURSOR_HAND); - return TRUE; - } - - BOOL handleMouseUp(S32 x, S32 y, MASK mask) - { - std::string name = getName(); - onCommit(); - LLSideTray::getInstance()->selectTabByName(name); - return LLPanel::handleMouseUp(x,y,mask); - } - void reshape (S32 width, S32 height, BOOL called_from_parent ) - { - return LLPanel::reshape(width, height, called_from_parent); - } - -}; - -static LLRegisterPanelClassWrapper t_people("panel_sidetray_home_info"); - LLSideTray* LLSideTray::getInstance() { if (!sInstance) diff --git a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml index 9839075862..e04a07b177 100644 --- a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml +++ b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml @@ -1,265 +1,34 @@ - + - - - - - - Find your friends, your groups, contacts and people nearby. - - - - - - - Find places to go and places you've visited before. - - - - - - - Edit your public profile. - - - - - - - Change your appearance and current look. - - - - - - - Browse your inventory. - - - - + left="10" + help_topic="sidetray_home" + name="sidetray_home" + top_pad="10" + width="313"> + + -- cgit v1.2.3 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(-) (limited to 'indra') 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" /> + + + + + + + -- cgit v1.2.3