(work in progress) low task EXT-6377 - Embedded offer panels aren't reshaped by height on IM window resize
Added new Toast panel class for use in IM floater. New class handles IM floater reshape and updates Toast height. --HG-- branch : product-enginemaster
parent
a85497f598
commit
b2cc39d462
|
|
@ -734,7 +734,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
|
|||
LLNotificationPtr notification = LLNotificationsUtil::find(chat.mNotifId);
|
||||
if (notification != NULL)
|
||||
{
|
||||
LLToastNotifyPanel* notify_box = new LLToastNotifyPanel(
|
||||
LLIMToastNotifyPanel* notify_box = new LLIMToastNotifyPanel(
|
||||
notification);
|
||||
//we can't set follows in xml since it broke toasts behavior
|
||||
notify_box->setFollowsLeft();
|
||||
|
|
|
|||
|
|
@ -526,4 +526,28 @@ void LLToastNotifyPanel::disableRespondedOptions(LLNotificationPtr& notification
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "llscrollcontainer.h"
|
||||
LLIMToastNotifyPanel::LLIMToastNotifyPanel(LLNotificationPtr& pNotification, const LLRect& rect /* = LLRect::null */)
|
||||
: LLToastNotifyPanel(pNotification, rect)
|
||||
{
|
||||
mTextBox->setFollowsAll();
|
||||
}
|
||||
|
||||
void LLIMToastNotifyPanel::reshape(S32 width, S32 height, BOOL called_from_parent /* = TRUE */)
|
||||
{
|
||||
S32 text_height = mTextBox->getTextBoundingRect().getHeight();
|
||||
S32 widget_height = mTextBox->getRect().getHeight();
|
||||
S32 delta = text_height - widget_height;
|
||||
LLRect rc = getRect();
|
||||
|
||||
rc.setLeftTopAndSize(rc.mLeft, rc.mTop, width, height + delta);
|
||||
height = rc.getHeight();
|
||||
width = rc.getWidth();
|
||||
|
||||
LLToastPanel::reshape(width, height, called_from_parent);
|
||||
}
|
||||
|
||||
// EOF
|
||||
|
|
|
|||
|
|
@ -79,8 +79,6 @@ protected:
|
|||
|
||||
bool mCloseNotificationOnDestroy;
|
||||
|
||||
private:
|
||||
|
||||
typedef std::pair<int,LLButton*> index_button_pair_t;
|
||||
void adjustPanelForScriptNotice(S32 max_width, S32 max_height);
|
||||
void adjustPanelForTipNotice();
|
||||
|
|
@ -136,4 +134,13 @@ private:
|
|||
static const LLFontGL* sFontSmall;
|
||||
};
|
||||
|
||||
class LLIMToastNotifyPanel : public LLToastNotifyPanel
|
||||
{
|
||||
public:
|
||||
|
||||
LLIMToastNotifyPanel(LLNotificationPtr& pNotification, const LLRect& rect = LLRect::null);
|
||||
|
||||
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
|
||||
};
|
||||
|
||||
#endif /* LLTOASTNOTIFYPANEL_H_ */
|
||||
|
|
|
|||
Loading…
Reference in New Issue