diff options
| author | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-03-03 11:39:45 +0200 | 
|---|---|---|
| committer | Ychebotarev ProductEngine <ychebotarev@productengine.com> | 2010-03-03 11:39:45 +0200 | 
| commit | cdb0911a7897253d269a4c8d4a5532c245bc6b32 (patch) | |
| tree | 2832d7a7ef2f21219b5ff3d6d7858c6963611cf4 | |
| parent | 9676448291e3faa7bbe476549b79a083945eaa7b (diff) | |
fix for EXT-4469 Fast Timers: Minimize and Close icons do not work
--HG--
branch : product-engine
| -rw-r--r-- | indra/llui/llfloater.cpp | 7 | ||||
| -rw-r--r-- | indra/llui/llfloater.h | 4 | ||||
| -rw-r--r-- | indra/newview/lldebugview.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfasttimerview.cpp | 34 | ||||
| -rw-r--r-- | indra/newview/llfasttimerview.h | 4 | 
5 files changed, 47 insertions, 4 deletions
| diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index b6d73cda3c..e91d753a39 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1554,7 +1554,12 @@ void LLFloater::onClickClose( LLFloater* self )  {  	if (!self)  		return; -	self->closeFloater(false); +	self->onClickCloseBtn(); +} + +void	LLFloater::onClickCloseBtn() +{ +	closeFloater(false);  } diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 19e8288807..c1e8813f87 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -307,6 +307,8 @@ protected:  	void			destroy() { die(); } // Don't call this directly.  You probably want to call closeFloater() +	virtual	void	onClickCloseBtn(); +  private:  	void			setForeground(BOOL b);	// called only by floaterview  	void			cleanupHandles(); // remove handles to dead floaters @@ -346,6 +348,7 @@ protected:  	LLResizeBar*	mResizeBar[4];  	LLResizeHandle*	mResizeHandle[4]; +	LLButton*		mButtons[BUTTON_COUNT];  private:  	LLRect			mExpandedRect; @@ -379,7 +382,6 @@ private:  	handle_set_t	mDependents;  	bool			mButtonsEnabled[BUTTON_COUNT]; -	LLButton*		mButtons[BUTTON_COUNT];  	F32				mButtonScale;  	BOOL			mAutoFocus;  	LLHandle<LLFloater> mSnappedTo; diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp index 169a963d0d..f113cc49d4 100644 --- a/indra/newview/lldebugview.cpp +++ b/indra/newview/lldebugview.cpp @@ -81,11 +81,13 @@ void LLDebugView::init()  	r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),     									 (S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f)); +	  	mFastTimerView = new LLFastTimerView(r);  	mFastTimerView->setFollowsTop();  	mFastTimerView->setFollowsLeft();  	mFastTimerView->setVisible(FALSE);			// start invisible  	addChild(mFastTimerView); +	mFastTimerView->setRect(rect);  	r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),   									 (S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f)); diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index 4fa97e789b..48fc60d529 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -44,6 +44,7 @@  #include "llfontgl.h"  #include "llsdserialize.h"  #include "lltooltip.h" +#include "llbutton.h"  #include "llappviewer.h"  #include "llviewertexturelist.h" @@ -99,6 +100,8 @@ LLFastTimerView::LLFastTimerView(const LLRect& rect)  	FTV_NUM_TIMERS = LLFastTimer::NamedTimer::instanceCount();  	mPrintStats = -1;	  	mAverageCyclesPerTimer = 0; +	setCanMinimize(false); +	setCanClose(true);  } @@ -139,6 +142,18 @@ LLFastTimer::NamedTimer* LLFastTimerView::getLegendID(S32 y)  BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)  { + +	{ +		S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft; +		S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom; +		if(mButtons[BUTTON_CLOSE]->getVisible() +			&&  mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y)  ) +		{ +			return LLFloater::handleMouseDown(x, y, mask);; +		} +	} +	 +  	if (x < mBarRect.mLeft)   	{  		LLFastTimer::NamedTimer* idp = getLegendID(y); @@ -188,11 +203,25 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)  BOOL LLFastTimerView::handleMouseUp(S32 x, S32 y, MASK mask)  { +	{ +		S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft; +		S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom; +		if(mButtons[BUTTON_CLOSE]->getVisible() +			&&  mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y)  ) +		{ +			return LLFloater::handleMouseUp(x, y, mask);; +		} +	}  	return FALSE;  }  BOOL LLFastTimerView::handleHover(S32 x, S32 y, MASK mask)  { +	/*if(y>getRect().getHeight()-20) +	{ +		return LLFloater::handleMouseDown(x, y, mask); +	}*/ +  	mHoverTimer = NULL;  	mHoverID = NULL; @@ -1191,5 +1220,8 @@ void LLFastTimerView::doAnalysis(std::string baseline, std::string target, std::  		return ;  	}  } - +void	LLFastTimerView::onClickCloseBtn() +{ +	setVisible(false); +} diff --git a/indra/newview/llfasttimerview.h b/indra/newview/llfasttimerview.h index f5c8f23818..ac06990913 100644 --- a/indra/newview/llfasttimerview.h +++ b/indra/newview/llfasttimerview.h @@ -63,7 +63,9 @@ public:  	LLFastTimer::NamedTimer* getLegendID(S32 y);  	F64 getTime(const std::string& name); -	 + +protected: +	virtual	void	onClickCloseBtn();  private:	  	typedef std::vector<std::vector<S32> > bar_positions_t;  	bar_positions_t mBarStart; | 
