diff options
| -rw-r--r-- | indra/newview/llimview.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llimview.h | 2 | ||||
| -rw-r--r-- | indra/newview/llparticipantlist.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llscreenchannel.cpp | 20 | 
4 files changed, 29 insertions, 13 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 8917cc11e1..403883ad99 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1403,11 +1403,20 @@ void LLCallDialog::getAllowedRect(LLRect& rect)  	rect = gViewerWindow->getWorldViewRectScaled();  } -void LLCallDialog::onOpen(const LLSD& key) +BOOL LLCallDialog::postBuild()  { +	if (!LLDockableFloater::postBuild()) +		return FALSE; +  	// dock the dialog to the Speak Button, where other sys messages appear -	setDockControl(new LLDockControl(LLBottomTray::getInstance()->getChild<LLPanel>("speak_panel"), -		this, getDockTongue(), LLDockControl::TOP, boost::bind(&LLCallDialog::getAllowedRect, this, _1))); +	LLView *anchor_panel = LLBottomTray::getInstance()->getChild<LLView>("speak_panel"); + +	setDockControl(new LLDockControl( +		anchor_panel, this, +		getDockTongue(), LLDockControl::TOP, +		boost::bind(&LLCallDialog::getAllowedRect, this, _1))); + +	return TRUE;  }  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1551,7 +1560,7 @@ void LLOutgoingCallDialog::onCancel(void* user_data)  BOOL LLOutgoingCallDialog::postBuild()  { -	BOOL success = LLDockableFloater::postBuild(); +	BOOL success = LLCallDialog::postBuild();  	childSetAction("Cancel", onCancel, this); @@ -1570,7 +1579,7 @@ LLCallDialog(payload)  BOOL LLIncomingCallDialog::postBuild()  { -	LLDockableFloater::postBuild(); +	LLCallDialog::postBuild();  	LLUUID session_id = mPayload["session_id"].asUUID();  	LLSD caller_id = mPayload["caller_id"]; diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 09f0c9df71..909fdaa37f 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -476,7 +476,7 @@ public:  	LLCallDialog(const LLSD& payload);  	~LLCallDialog() {} -	virtual void onOpen(const LLSD& key); +	virtual BOOL postBuild();  protected:  	virtual void getAllowedRect(LLRect& rect); diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index 5941487c7d..7d5944ea2b 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -213,7 +213,6 @@ void LLParticipantList::updateRecentSpeakersOrder()  	if (E_SORT_BY_RECENT_SPEAKERS == getSortOrder())  	{  		// Resort avatar list -		mAvatarList->setDirty(true);  		sort();  	}  } diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index bd256ec9c2..c18fe8ad7e 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -217,7 +217,10 @@ void LLScreenChannel::addToast(const LLToast::Params& p)  	ToastElem new_toast_elem(p); +	// reset HIDDEN flags for the Overflow Toast  	mOverflowToastHidden = false; +	if(mOverflowToastPanel) +		mOverflowToastPanel->setIsHidden(false);  	new_toast_elem.toast->setOnFadeCallback(boost::bind(&LLScreenChannel::onToastFade, this, _1));  	new_toast_elem.toast->setOnToastDestroyedCallback(boost::bind(&LLScreenChannel::onToastDestroyed, this, _1)); @@ -459,8 +462,6 @@ void LLScreenChannel::showToastsBottom()  	S32		toast_margin = 0;  	std::vector<ToastElem>::reverse_iterator it; -	closeOverflowToastPanel(); -  	for(it = mToastList.rbegin(); it != mToastList.rend(); ++it)  	{  		if(it != mToastList.rbegin()) @@ -513,7 +514,11 @@ void LLScreenChannel::showToastsBottom()  			mHiddenToastsNum++;  		}  		createOverflowToast(bottom, gSavedSettings.getS32("NotificationTipToastLifeTime")); -	}	 +	} +	else +	{ +		closeOverflowToastPanel(); +	}  }  //-------------------------------------------------------------------------- @@ -544,11 +549,14 @@ void LLScreenChannel::createOverflowToast(S32 bottom, F32 timer)  	LLRect toast_rect;  	LLToast::Params p;  	p.lifetime_secs = timer; -	mOverflowToastPanel = new LLToast(p); + +	if(!mOverflowToastPanel) +		mOverflowToastPanel = new LLToast(p);  	if(!mOverflowToastPanel)  		return; +	mOverflowToastPanel->startFading();  	mOverflowToastPanel->setOnFadeCallback(boost::bind(&LLScreenChannel::onOverflowToastHide, this));  	LLTextBox* text_box = mOverflowToastPanel->getChild<LLTextBox>("toast_text"); @@ -606,8 +614,8 @@ void LLScreenChannel::closeOverflowToastPanel()  {  	if(mOverflowToastPanel != NULL)  	{ -		mOverflowToastPanel->closeFloater(); -		mOverflowToastPanel = NULL; +		mOverflowToastPanel->setVisible(FALSE); +		mOverflowToastPanel->stopFading();  	}  }  | 
