diff options
| author | Sergei Litovchuk <slitovchuk@productengine.com> | 2009-11-14 19:15:51 +0200 | 
|---|---|---|
| committer | Sergei Litovchuk <slitovchuk@productengine.com> | 2009-11-14 19:15:51 +0200 | 
| commit | 93c1e1bd6eaa8f77e746b1346b1729ed564081b4 (patch) | |
| tree | 430e532c6cda6ca8e79e04bb236c2e65954e8400 /indra/newview | |
| parent | 9e11d70225d3e53e2ee31304c4930f01939fe1c3 (diff) | |
No ticket.
- Fixed toggleable menu in Picks panel.
- Minor optimization of LLToggleableMenu.
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llfavoritesbar.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llpanelavatar.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llpanelpicks.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llpanelplaces.cpp | 5 | 
4 files changed, 24 insertions, 7 deletions
| diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 18135fc558..01603f390d 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -901,7 +901,10 @@ void LLFavoritesBarCtrl::showDropDownMenu()  				menu->buildDrawLabels();  				menu->updateParent(LLMenuGL::sMenuContainer); -				menu->setButtonRect(mChevronRect, this); +				if (menu->getButtonRect().isEmpty()) +				{ +					menu->setButtonRect(mChevronRect, this); +				}  				LLMenuGL::showPopup(this, menu, getRect().getWidth() - menu->getRect().getWidth(), 0);  				return; diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index f0aa189b7f..2254684f21 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -570,10 +570,14 @@ void LLPanelAvatarProfile::onOverflowButtonClicked()  		return;  	LLView* btn = getChild<LLView>("overflow_btn"); -	LLRect rect = btn->getRect(); +	if (mProfileMenu->getButtonRect().isEmpty()) +	{ +		mProfileMenu->setButtonRect(btn); +	}  	mProfileMenu->updateParent(LLMenuGL::sMenuContainer); -	mProfileMenu->setButtonRect(btn->getLocalRect(), btn); + +	LLRect rect = btn->getRect();  	LLMenuGL::showPopup(this, mProfileMenu, rect.mRight, rect.mTop);  } diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp index 6905c7e546..04b4226f82 100644 --- a/indra/newview/llpanelpicks.cpp +++ b/indra/newview/llpanelpicks.cpp @@ -346,11 +346,18 @@ void LLPanelPicks::onAccordionStateChanged(const LLAccordionCtrlTab* acc_tab)  void LLPanelPicks::onOverflowButtonClicked()  { -	LLRect rect; -	childGetRect(XML_BTN_OVERFLOW, rect); +	if (!mOverflowMenu->toggleVisibility()) +		return; + +	LLView* btn = getChild<LLView>(XML_BTN_OVERFLOW); +	if (mOverflowMenu->getButtonRect().isEmpty()) +	{ +		mOverflowMenu->setButtonRect(btn); +	}  	mOverflowMenu->updateParent(LLMenuGL::sMenuContainer); -	mOverflowMenu->setButtonRect(rect, this); + +	LLRect rect = btn->getRect();  	LLMenuGL::showPopup(this, mOverflowMenu, rect.mRight, rect.mTop);  } diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 3d0fba9426..eb10d97b37 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -601,9 +601,12 @@ void LLPanelPlaces::onOverflowButtonClicked()  	if (!menu->toggleVisibility())  		return; +	if (menu->getButtonRect().isEmpty()) +	{ +		menu->setButtonRect(mOverflowBtn); +	}  	menu->updateParent(LLMenuGL::sMenuContainer);  	LLRect rect = mOverflowBtn->getRect(); -	menu->setButtonRect(rect, this);  	LLMenuGL::showPopup(this, menu, rect.mRight, rect.mTop);  } | 
