--HG--
branch : product-engine
meow-7.2.2
Vadim Savchuk 2009-12-22 16:42:37 +02:00
commit d4a8f4c6ef
4 changed files with 29 additions and 13 deletions

View File

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

View File

@ -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);

View File

@ -213,7 +213,6 @@ void LLParticipantList::updateRecentSpeakersOrder()
if (E_SORT_BY_RECENT_SPEAKERS == getSortOrder())
{
// Resort avatar list
mAvatarList->setDirty(true);
sort();
}
}

View File

@ -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();
}
}