From c2935e40a6966f47ebd87705dd730ab0960e2b6d Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Thu, 2 Sep 2010 20:13:25 +0300 Subject: VWR-20696 ADDITIONAL FIX Fix dock/undock button image changing depending on tab state. --- indra/newview/llsidetray.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'indra/newview/llsidetray.cpp') diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 9893370dcf..086e35dfdc 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -176,6 +176,7 @@ BOOL LLSideTrayTab::postBuild() title_panel->getChild(TAB_PANEL_CAPTION_TITLE_BOX)->setValue(mTabTitle); + getChild("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); getChild("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); return true; @@ -221,7 +222,14 @@ void LLSideTrayTab::toggleTabDocked() LLSideTray* side_tray = LLSideTray::getInstance(); - if (LLFloater::isShown(floater_tab)) + bool is_tab_undocked = LLFloater::isShown(floater_tab); + + // Hide the "Tear Off" button when a tab gets undocked + // and show "Dock" button instead. + getChild("undock")->setVisible(!is_tab_undocked); + getChild("dock")->setVisible(is_tab_undocked); + + if (is_tab_undocked) { // Remove the tab from Side Tray's tabs list. // We have to do it despite removing the tab from Side Tray's child view tree -- cgit v1.2.3