From 5e63efe1da6b72fc0ce9771b9ef1e5c9d9bcb537 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Wed, 3 Feb 2010 11:38:03 +0200 Subject: =?UTF-8?q?fixed=20EXT-4805=20=E2=80=9CFriend=20offer=20is=20corru?= =?UTF-8?q?pted=20in=20resized=20IM=20window=E2=80=9D,=20reverted=20IM=20f?= =?UTF-8?q?loater=20default=20width;=20made=20offer=20buttons=20have=20abs?= =?UTF-8?q?olute=20positions;=20avoided=20text=20message=20scrolling=20wit?= =?UTF-8?q?h=20default=20IM=20floater=20width;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llchathistory.cpp | 38 ++++++++++++++++++++++ .../skins/default/xui/en/floater_im_session.xml | 10 +++--- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 581c210bd5..64226ac52b 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -55,6 +55,7 @@ #include "lltoastnotifypanel.h" #include "llviewerregion.h" #include "llworld.h" +#include "lluiconstants.h" #include "llsidetray.h"//for blocked objects panel @@ -664,8 +665,36 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL { LLToastNotifyPanel* notify_box = new LLToastNotifyPanel( notification); + //we can't set follows in xml since it broke toasts behavior notify_box->setFollowsLeft(); notify_box->setFollowsRight(); + notify_box->setFollowsTop(); + + LLButton* accept_button = notify_box->getChild ("Accept", + TRUE); + if (accept_button != NULL) + { + accept_button->setFollowsNone(); + accept_button->setOrigin(2*HPAD, accept_button->getRect().mBottom); + } + + LLButton* decline_button = notify_box->getChild ( + "Decline", TRUE); + if (accept_button != NULL && decline_button != NULL) + { + decline_button->setFollowsNone(); + decline_button->setOrigin(4*HPAD + + accept_button->getRect().getWidth(), + decline_button->getRect().mBottom); + } + + LLTextEditor* text_editor = notify_box->getChild("text_editor_box", TRUE); + S32 text_heigth = 0; + if(text_editor != NULL) + { + text_heigth = text_editor->getTextBoundingRect().getHeight(); + } + //Prepare the rect for the view LLRect target_rect = mEditor->getDocumentView()->getRect(); // squeeze down the widget by subtracting padding off left and right @@ -675,6 +704,15 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL notify_box->getRect().getHeight()); notify_box->setOrigin(target_rect.mLeft, notify_box->getRect().mBottom); + if (text_editor != NULL) + { + S32 text_heigth_delta = + text_editor->getTextBoundingRect().getHeight() + - text_heigth; + notify_box->reshape(target_rect.getWidth(), + notify_box->getRect().getHeight() + text_heigth_delta); + } + LLInlineViewSegment::Params params; params.view = notify_box; params.left_pad = mLeftWidgetPad; diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 9aaa660574..d2e5473157 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -12,7 +12,7 @@ can_minimize="true" can_close="true" visible="false" - width="440" + width="360" can_resize="true" min_width="250" min_height="190"> @@ -20,7 +20,7 @@ animate="false" follows="all" height="320" - width="440" + width="360" layout="topleft" orientation="horizontal" name="im_panels" @@ -38,7 +38,7 @@ left="0" top="0" height="200" - width="325" + width="245" user_resize="true">