- fixed : the nearby people sidebar tab embedded minimap instance isn't hidden when @showminimap=n restricted

--HG--
branch : RLVa
meow-7.2.2
Kitty Barnett 2011-05-22 02:17:54 +02:00
parent ab6dd83afe
commit 36a97d0c8d
3 changed files with 19 additions and 3 deletions

View File

@ -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<LLPanel>("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

View File

@ -49,6 +49,9 @@
<menu_item_check.on_click
function="ToggleControl"
parameter="NearbyListShowMap" />
<menu_item_check.on_enable
function="RLV.EnableIfNot"
parameter="showminimap" />
</menu_item_check>
<menu_item_separator layout="topleft" />
<menu_item_call name="show_blocked_list" label="Show Blocked Residents &amp; Objects">

View File

@ -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">