From 36a97d0c8d7fde8422e1fd1c6be2feea23ff1bef Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sun, 22 May 2011 02:17:54 +0200 Subject: [PATCH] - fixed : the nearby people sidebar tab embedded minimap instance isn't hidden when @showminimap=n restricted --HG-- branch : RLVa --- indra/newview/rlvui.cpp | 18 +++++++++++++++--- .../xui/en/menu_people_nearby_view_sort.xml | 3 +++ .../skins/default/xui/en/panel_people.xml | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/indra/newview/rlvui.cpp b/indra/newview/rlvui.cpp index 0c7631e1d0..8a8c29d220 100644 --- a/indra/newview/rlvui.cpp +++ b/indra/newview/rlvui.cpp @@ -358,18 +358,18 @@ void RlvUIEnabler::onToggleShowLoc() m_ConnFloaterShowLoc.disconnect(); } -// Checked: 2010-02-28 (RLVa-1.2.0b) | Added: RLVa-1.2.0a +// Checked: 2011-05-22 (RLVa-1.3.1b) | Modified: RLVa-1.3.1b void RlvUIEnabler::onToggleShowMinimap() { bool fEnable = !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWMINIMAP); - // Start or stop filtering opening the mini-map + // Start or stop filtering showing the mini-map floater if (!fEnable) addGenericFloaterFilter("mini_map"); else removeGenericFloaterFilter("mini_map"); - // Hide the mini-map if it's currently visible (or restore it if it was previously visible) + // Hide the mini-map floater if it's currently visible (or restore it if it was previously visible) static bool fPrevVisibile = false; if ( (!fEnable) && ((fPrevVisibile = LLFloaterReg::floaterInstanceVisible("mini_map"))) ) LLFloaterReg::hideFloaterInstance("mini_map"); @@ -381,6 +381,18 @@ void RlvUIEnabler::onToggleShowMinimap() LLView* pBtnView = (pTray) ? pTray->getChildView("mini_map_btn") : NULL; if (pBtnView) pBtnView->setEnabled(fEnable); + + // Break/reestablish the visibility connection for the nearby people panel embedded minimap instance + LLPanel* pPeoplePanel = LLSideTray::getInstance()->getPanel("panel_people"); + LLPanel* pNetMapPanel = (pPeoplePanel) ? pPeoplePanel->getChild("Net Map Panel", 1) : NULL; + RLV_ASSERT( (pPeoplePanel) && (pNetMapPanel) ); + if (pNetMapPanel) + { + pNetMapPanel->setMakeVisibleControlVariable( (fEnable) ? gSavedSettings.getControl("NearbyListShowMap") : NULL); + // Reestablishing the visiblity connection will show the panel if needed so we only need to take care of hiding it when needed + if ( (!fEnable) && (pNetMapPanel->getVisible()) ) + pNetMapPanel->setVisible(false); + } } // Checked: 2010-12-08 (RLVa-1.2.2c) | Modified: RLVa-1.2.2c diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml index 65bd2793b6..a50a21d1d7 100644 --- a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml +++ b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml @@ -49,6 +49,9 @@ + diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 775805ad2e..ab44e81c04 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -111,6 +111,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M height="142" layout="topleft" mouse_opaque="false" + name="Net Map Panel" user_resize="false" visibility_control="NearbyListShowMap" width="313">