From c58c4ace2ca99e06a69f100036a4f6771e3781fe Mon Sep 17 00:00:00 2001
From: Tofu Linden <tofu.linden@lindenlab.com>
Date: Wed, 13 Jan 2010 13:15:17 -0800
Subject: [PATCH] EXT-3739 Task panel tabs in incorrect order, Home tab is
 missing

---
 indra/newview/llpanelhome.cpp                 |  2 +-
 indra/newview/llsidetray.cpp                  | 26 +++++++++----------
 .../skins/default/textures/textures.xml       |  7 ++---
 .../skins/default/xui/en/panel_side_tray.xml  | 18 +++++++++++--
 4 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/indra/newview/llpanelhome.cpp b/indra/newview/llpanelhome.cpp
index 92b6d2f6199..713d2d79b4c 100644
--- a/indra/newview/llpanelhome.cpp
+++ b/indra/newview/llpanelhome.cpp
@@ -37,7 +37,7 @@
 #include "llmediactrl.h"
 #include "llviewerhome.h"
 
-static LLRegisterPanelClassWrapper<LLPanelHome> t_people("panel_sidetray_home");
+static LLRegisterPanelClassWrapper<LLPanelHome> t_home("panel_sidetray_home");
 
 LLPanelHome::LLPanelHome() :
 	LLPanel(),
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 75414f31f28..fb8aa39445b 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -46,7 +46,7 @@
 #include "llaccordionctrltab.h"
 
 #include "llfloater.h" //for gFloaterView
-#include "lliconctrl.h"//for Home tab icon
+#include "lliconctrl.h"//for OpenClose tab icon
 #include "llsidetraypanelcontainer.h"
 #include "llwindow.h"//for SetCursor
 #include "lltransientfloatermgr.h"
@@ -214,7 +214,7 @@ LLPanel*	LLSideTrayTab::getPanel()
 LLSideTrayTab*  LLSideTrayTab::createInstance	()
 {
 	LLSideTrayTab::Params tab_params; 
-	tab_params.tab_title("Home");
+	tab_params.tab_title("openclose");
 
 	LLSideTrayTab* tab = LLUICtrlFactory::create<LLSideTrayTab>(tab_params);
 	return tab;
@@ -389,9 +389,8 @@ void	LLSideTray::createButtons	()
 
 		std::string name = sidebar_tab->getName();
 		
-		// The "home" button will open/close the whole panel, this will need to
-		// change if the home screen becomes its own tab.
-		if (name == "sidebar_home")
+		// The "OpenClose" button will open/close the whole panel
+		if (name == "sidebar_openclose")
 		{
 			mCollapseButton = createButton("",sidebar_tab->mImage,sidebar_tab->getTabTitle(),
 				boost::bind(&LLSideTray::onToggleCollapse, this));
@@ -427,7 +426,6 @@ void		LLSideTray::processTriState ()
 void		LLSideTray::onTabButtonClick(string name)
 {
 	LLSideTrayTab* side_bar = getTab(name);
-
 	if(side_bar == mActiveTab)
 	{
 		processTriState ();
@@ -443,7 +441,7 @@ void		LLSideTray::onToggleCollapse()
 	if(mCollapsed)
 	{
 		expandSideBar();
-		selectTabByName("sidebar_home");
+		//selectTabByName("sidebar_openclose");
 	}
 	else
 		collapseSideBar();
@@ -534,11 +532,11 @@ void LLSideTray::collapseSideBar()
 		}
 	}
 		
-	// Home tab doesn't put its button in mTabButtons
-	LLSideTrayTab* home_tab = getTab("sidebar_home");
-	if (home_tab)
+	// OpenClose tab doesn't put its button in mTabButtons
+	LLSideTrayTab* openclose_tab = getTab("sidebar_openclose");
+	if (openclose_tab)
 	{
-		mCollapseButton->setImageOverlay( home_tab->mImage );
+		mCollapseButton->setImageOverlay( openclose_tab->mImage );
 	}
 	//mActiveTab->setVisible(FALSE);
 	reflectCollapseChange();
@@ -549,10 +547,10 @@ void LLSideTray::collapseSideBar()
 void LLSideTray::expandSideBar()
 {
 	mCollapsed = false;
-	LLSideTrayTab* home_tab = getTab("sidebar_home");
-	if (home_tab)
+	LLSideTrayTab* openclose_tab = getTab("sidebar_openclose");
+	if (openclose_tab)
 	{
-		mCollapseButton->setImageOverlay( home_tab->mImageSelected );
+		mCollapseButton->setImageOverlay( openclose_tab->mImageSelected );
 	}
 	LLSD key;//empty
 	mActiveTab->onOpen(key);
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index dab11149b99..ed6aa1f6707 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -526,13 +526,14 @@ with the same filename but different name
   <texture name="TabIcon_Appearance_Selected" file_name="taskpanel/TabIcon_Appearance_Selected.png" preload="false" />
   <texture name="TabIcon_Close_Off" file_name="taskpanel/TabIcon_Close_Off.png" preload="false" />
   <texture name="TabIcon_Close_Over" file_name="taskpanel/TabIcon_Close_Over.png" preload="false" />
-  <texture name="TabIcon_Home_Off" file_name="taskpanel/TabIcon_Home_Off.png" preload="false" />
-  <texture name="TabIcon_Home_Over" file_name="taskpanel/TabIcon_Home_Over.png" preload="false" />
-  <texture name="TabIcon_Home_Selected" file_name="taskpanel/TabIcon_Home_Selected.png" preload="false" />
   <texture name="TabIcon_Inventory_Large" file_name="taskpanel/TabIcon_Inventory_Large.png" preload="false" />
   <texture name="TabIcon_Inventory_Off" file_name="taskpanel/TabIcon_Inventory_Off.png" preload="false" />
   <texture name="TabIcon_Inventory_Over" file_name="taskpanel/TabIcon_Inventory_Over.png" preload="false" />
   <texture name="TabIcon_Inventory_Selected" file_name="taskpanel/TabIcon_Inventory_Selected.png" preload="false" />
+  <texture name="TabIcon_Home_Large" file_name="taskpanel/TabIcon_Home_Large.png" preload="false" />
+  <texture name="TabIcon_Home_Off" file_name="taskpanel/TabIcon_Home_Off.png" preload="false" />
+  <texture name="TabIcon_Home_Over" file_name="taskpanel/TabIcon_Home_Over.png" preload="false" />
+  <texture name="TabIcon_Home_Selected" file_name="taskpanel/TabIcon_Home_Selected.png" preload="false" />
   <texture name="TabIcon_Me_Large" file_name="taskpanel/TabIcon_Me_Large.png" preload="false" />
   <texture name="TabIcon_Me_Off" file_name="taskpanel/TabIcon_Me_Off.png" preload="false" />
   <texture name="TabIcon_Me_Over" file_name="taskpanel/TabIcon_Me_Over.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml
index 61f0fa30993..3f836a661dd 100644
--- a/indra/newview/skins/default/xui/en/panel_side_tray.xml
+++ b/indra/newview/skins/default/xui/en/panel_side_tray.xml
@@ -12,13 +12,27 @@
 	appearance up to tray panel header word like "Home".
 	Embedded panels are inset by a pixel and so their
 	backgrounds will not block the world fully. -->
+
+  <sidetray_tab
+    name="sidebar_openclose"
+    help_topic="sidebar_openclose"
+    tab_title="Toggle Sidebar"
+    description="Toggle Sidebar."
+    image="TabIcon_Open_Off"
+	image_selected="TabIcon_Close_Off"
+    mouse_opaque="false"
+    background_visible="true"
+  >
+    <panel /> <!-- dummy panel, never to actually be seen -->
+  </sidetray_tab>
+
   <sidetray_tab
     name="sidebar_home"
     help_topic="sidebar_home"
     tab_title="Home"
     description="Home."
-    image="TabIcon_Open_Off"
-	image_selected="TabIcon_Close_Off"
+    image="TabIcon_Home_Off"
+    image_selected="TabIcon_Home_Selected"
     mouse_opaque="false"
     background_visible="true"
   >
-- 
GitLab