summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authormaksymsproductengine <maksymsproductengine@lindenlab.com>2013-03-28 04:52:24 +0200
committermaksymsproductengine <maksymsproductengine@lindenlab.com>2013-03-28 04:52:24 +0200
commitda8f2ffb16d6df1ccb9f34ddf6f26d799d2ea127 (patch)
treedb9cc545697de6257cb1dd8a54038533ccc1aeaf /indra/newview
parent3a31b47028e0ae4945512924219118a74b0c7b27 (diff)
CHUI-855 FIXED Text entry bar auto expand does not resize
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfloaterimsessiontab.cpp21
-rw-r--r--indra/newview/llfloaterimsessiontab.h11
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_session.xml441
3 files changed, 197 insertions, 276 deletions
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 5083331167..ce6e639305 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -64,6 +64,8 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id)
, mHasVisibleBeenInitialized(false)
, mIsParticipantListExpanded(true)
, mChatLayoutPanel(NULL)
+ , mInputPanels(NULL)
+ , mChatLayoutPanelHeight(0)
{
setAutoFocus(FALSE);
mSession = LLIMModel::getInstance()->findIMSession(mSessionID);
@@ -265,13 +267,15 @@ BOOL LLFloaterIMSessionTab::postBuild()
mInputEditor = getChild<LLChatEntry>("chat_editor");
mChatLayoutPanel = getChild<LLLayoutPanel>("chat_layout_panel");
+ mInputPanels = getChild<LLLayoutStack>("input_panels");
mInputEditor->setTextExpandedCallback(boost::bind(&LLFloaterIMSessionTab::reshapeChatLayoutPanel, this));
mInputEditor->setCommitOnFocusLost( FALSE );
mInputEditor->setPassDelete(TRUE);
mInputEditor->setFont(LLViewerChat::getChatFont());
- mInputEditorPad = mChatLayoutPanel->getRect().getHeight() - mInputEditor->getRect().getHeight();
+ mChatLayoutPanelHeight = mChatLayoutPanel->getRect().getHeight();
+ mInputEditorPad = mChatLayoutPanelHeight - mInputEditor->getRect().getHeight();
setOpenPositioning(LLFloaterEnums::POSITIONING_RELATIVE);
@@ -749,9 +753,7 @@ void LLFloaterIMSessionTab::forceReshape()
void LLFloaterIMSessionTab::reshapeChatLayoutPanel()
{
- LLRect chat_layout_panel_rect = mChatLayoutPanel->getRect();
- LLRect input_rect = mInputEditor->getRect();
- mChatLayoutPanel->reshape(chat_layout_panel_rect.getWidth(), input_rect.getHeight() + mInputEditorPad, FALSE);
+ mChatLayoutPanel->reshape(mChatLayoutPanel->getRect().getWidth(), mInputEditor->getRect().getHeight() + mInputEditorPad, FALSE);
}
void LLFloaterIMSessionTab::showTranslationCheckbox(BOOL show)
@@ -850,6 +852,7 @@ void LLFloaterIMSessionTab::onCollapseToLine(LLFloaterIMSessionTab* self)
self->mExpandCollapseLineBtn->setImageOverlay(self->getString(expand ? "collapseline_icon" : "expandline_icon"));
self->mContentPanel->setVisible(!expand);
self->mToolbarPanel->setVisible(!expand);
+ self->mInputEditor->enableSingleLineMode(expand);
self->reshapeFloater(expand);
self->setMessagePaneExpanded(!expand);
}
@@ -862,20 +865,20 @@ void LLFloaterIMSessionTab::reshapeFloater(bool collapse)
if(collapse)
{
mFloaterHeight = floater_rect.getHeight();
- S32 height = mContentPanel->getRect().getHeight() + mToolbarPanel->getRect().getHeight();
+ S32 height = mContentPanel->getRect().getHeight() + mToolbarPanel->getRect().getHeight()
+ + mChatLayoutPanel->getRect().getHeight() - mChatLayoutPanelHeight + 2;
floater_rect.mTop -= height;
- enableResizeCtrls(true, true, false);
}
else
{
floater_rect.mTop = floater_rect.mBottom + mFloaterHeight;
- enableResizeCtrls(true, true, true);
-
}
+
+ enableResizeCtrls(true, true, !collapse);
+
saveCollapsedState();
setShape(floater_rect, true);
mBodyStack->updateLayout();
-
}
void LLFloaterIMSessionTab::restoreFloater()
diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h
index c7e73bd70d..302d5a8066 100644
--- a/indra/newview/llfloaterimsessiontab.h
+++ b/indra/newview/llfloaterimsessiontab.h
@@ -175,17 +175,14 @@ protected:
LLChatHistory* mChatHistory;
LLChatEntry* mInputEditor;
LLLayoutPanel * mChatLayoutPanel;
- int mInputEditorPad; // padding between input field and chat history
-
+ LLLayoutStack * mInputPanels;
+
LLButton* mExpandCollapseLineBtn;
LLButton* mExpandCollapseBtn;
LLButton* mTearOffBtn;
LLButton* mCloseBtn;
LLButton* mGearBtn;
- S32 mFloaterHeight;
-
-
private:
// Handling selection and contextual menu
void doToSelected(const LLSD& userdata);
@@ -209,6 +206,10 @@ private:
bool mHasVisibleBeenInitialized;
LLTimer* mRefreshTimer; ///< Defines the rate at which refresh() is called.
+
+ S32 mInputEditorPad;
+ S32 mChatLayoutPanelHeight;
+ S32 mFloaterHeight;
};
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 d8b085063f..3b56e974d2 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -42,58 +42,52 @@
<floater.string
name="multiple_participants_added"
value="[NAME] were invited to the conversation."/>
- <floater.string
+ <floater.string
name="tooltip_to_separate_window"
value="Move this conversation to a separate window"/>
- <floater.string
+ <floater.string
name="tooltip_to_main_window"
value="Move this conversation back to main window"/>
- <floater.string
+ <floater.string
name="start_call_button_tooltip"
value="Open voice connection"/>
- <floater.string
+ <floater.string
name="end_call_button_tooltip"
value="Close voice connection"/>
- <floater.string
+ <floater.string
name="expcol_button_not_tearoff_tooltip"
value="Collapse this pane"/>
- <floater.string
+ <floater.string
name="expcol_button_tearoff_and_expanded_tooltip"
value="Collapse participant list"/>
- <floater.string
+ <floater.string
name="expcol_button_tearoff_and_collapsed_tooltip"
value="Expand participant list"/>
<view
- follows="all"
- layout="topleft"
- name="contents_view"
- top="0"
- left="0"
- height="355"
- width="394">
- <layout_stack
- animate="false"
- default_tab_group="2"
- follows="all"
- height="355"
- width="394"
- layout="topleft"
- orientation="vertical"
- name="main_stack"
- tab_group="1"
- top="0"
- left="0">
-
- <layout_panel
- follows="left|top|right"
+ follows="all"
+ layout="topleft"
+ name="contents_view"
+ top="0"
+ left="0"
+ right="-1"
+ bottom="-1">
+ <layout_stack
+ animate="false"
+ default_tab_group="2"
+ follows="all"
+ right="-5"
+ bottom="-1"
layout="topleft"
- name="toolbar_panel"
+ orientation="vertical"
+ name="main_stack"
+ tab_group="1"
top="0"
- left="0"
- height="35"
- min_height="35"
- width="394">
- <menu_button
+ left="5">
+ <layout_panel
+ auto_resize="false"
+ name="toolbar_panel"
+ height="35">
+ <menu_button
menu_filename="menu_im_session_showmodes.xml"
follows="top|left"
height="25"
@@ -107,22 +101,22 @@
tool_tip="View/sort options"
top="5"
width="31" />
- <menu_button
- menu_filename="menu_im_conversation.xml"
- follows="top|left"
- height="25"
- image_hover_unselected="Toolbar_Middle_Over"
- image_overlay="OptionsMenu_Off"
- image_selected="Toolbar_Middle_Selected"
- image_unselected="Toolbar_Middle_Off"
- layout="topleft"
- top="5"
- left_pad="2"
- name="gear_btn"
- visible="false"
- tool_tip="Actions on selected person"
- width="31"/>
- <button
+ <menu_button
+ menu_filename="menu_im_conversation.xml"
+ follows="top|left"
+ height="25"
+ image_hover_unselected="Toolbar_Middle_Over"
+ image_overlay="OptionsMenu_Off"
+ image_selected="Toolbar_Middle_Selected"
+ image_unselected="Toolbar_Middle_Off"
+ layout="topleft"
+ top="5"
+ left_pad="2"
+ name="gear_btn"
+ visible="false"
+ tool_tip="Actions on selected person"
+ width="31"/>
+ <button
enabled="false"
follows="top|left"
height="25"
@@ -136,7 +130,7 @@
name="add_btn"
tool_tip="Add someone to this conversation"
width="31"/>
- <button
+ <button
follows="top|left"
height="25"
image_hover_unselected="Toolbar_Middle_Over"
@@ -149,19 +143,19 @@
name="voice_call_btn"
tool_tip="Open voice connection"
width="31"/>
- <output_monitor
- auto_update="true"
- follows="top|left"
- draw_border="false"
- height="16"
- layout="topleft"
- top="10"
- left_pad="10"
- mouse_opaque="true"
- name="speaking_indicator"
- visible="false"
- width="20" />
- <button
+ <output_monitor
+ auto_update="true"
+ follows="top|left"
+ draw_border="false"
+ height="16"
+ layout="topleft"
+ top="10"
+ left_pad="10"
+ mouse_opaque="true"
+ name="speaking_indicator"
+ visible="false"
+ width="20" />
+ <button
follows="right|top"
height="25"
image_hover_unselected="Toolbar_Middle_Over"
@@ -170,232 +164,155 @@
image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
- left="292"
+ right="-70"
name="close_btn"
tool_tip="End this conversation"
width="31" />
- <button
+ <button
follows="right|top"
height="25"
image_hover_unselected="Toolbar_Middle_Over"
image_overlay="Conv_toolbar_collapse"
image_selected="Toolbar_Middle_Selected"
- image_unselected="Toolbar_Middle_Off"
+ image_unselected="Toolbar_Middle_Off"
layout="topleft"
top="5"
left_pad="2"
name="expand_collapse_btn"
tool_tip="Collapse/Expand this pane"
width="31" />
- <button
+ <button
follows="right|top"
height="25"
image_hover_unselected="Toolbar_Middle_Over"
image_overlay="Conv_toolbar_arrow_ne"
image_selected="Toolbar_Middle_Selected"
- image_unselected="Toolbar_Middle_Off"
+ image_unselected="Toolbar_Middle_Off"
layout="topleft"
- top="5"
left_pad="2"
name="tear_off_btn"
+ top="5"
width="31" />
- </layout_panel>
- <layout_panel
- name="body_panel"
- follows="all"
- width="394"
- height="235"
- user_resize="false"
- auto_resize="true">
- <layout_stack
- animate="true"
- default_tab_group="2"
- follows="all"
- height="275"
- width="394"
- layout="topleft"
- orientation="horizontal"
- name="im_panels"
- tab_group="1"
- top_pad="0"
- left="0">
- <layout_panel
- name="speakers_list_panel"
- follows="all"
- expanded_min_dim="115"
- min_dim="0"
- width="150"
- height="275"
- user_resize="true"
- auto_resize="false">
- </layout_panel>
- <layout_panel
- default_tab_group="3"
- left="0"
- tab_group="2"
- follows="all"
- top="0"
- height="275"
- width="244"
- layout="topleft"
- user_resize="true"
- auto_resize="true"
- visible="true"
- name="right_part_holder"
- min_width="221">
- <panel
- name="trnsAndChat_panel"
- follows="all"
- layout="topleft"
- visible="true"
- height="240"
- width="244">
- <layout_stack
- animate="true"
- default_tab_group="2"
- follows="all"
- height="240"
- width="244"
- layout="topleft"
- visible="true"
- orientation="vertical"
- name="translate_and_chat_stack"
- tab_group="1"
- left_pad="0"
- top="0"
- left="0">
- <layout_panel
- auto_resize="false"
- user_resize="false"
- height="26"
- layout="topleft"
- left_delta="0"
- name="translate_chat_checkbox_lp"
- top_delta="0"
- visible="true"
- width="210">
- <check_box
- top="10"
- control_name="TranslateChat"
- enabled="true"
- height="16"
- label="Translate chat"
- layout="topleft"
- left="5"
- name="translate_chat_checkbox"
- width="230" />
</layout_panel>
<layout_panel
- width="210"
- layout="topleft"
- follows="all"
- left_delta="0"
- top_delta="0"
- bottom="0"
- visible="true"
- user_resize="false"
- auto_resize="true"
- name="chat_holder">
- <chat_history
- font="SansSerifSmall"
- follows="all"
- visible="true"
- name="chat_history"
- parse_highlights="true"
- parse_urls="true"
- layout="topleft"
- right="-5"
- left="5"
- top="0"
- bottom="1">
- </chat_history>
+ name="body_panel"
+ height="235">
+ <layout_stack
+ default_tab_group="2"
+ follows="all"
+ orientation="horizontal"
+ name="im_panels"
+ tab_group="1"
+ top="0"
+ right="-1"
+ bottom="-1"
+ left="0">
+ <layout_panel
+ name="speakers_list_panel"
+ expanded_min_dim="115"
+ min_dim="0"
+ width="150"
+ user_resize="true"
+ auto_resize="false" />
+ <layout_panel
+ default_tab_group="3"
+ tab_group="2"
+ name="right_part_holder"
+ min_width="221">
+ <layout_stack
+ animate="true"
+ default_tab_group="2"
+ follows="all"
+ orientation="vertical"
+ name="translate_and_chat_stack"
+ tab_group="1"
+ top="0"
+ left="0"
+ right="-1"
+ bottom="-1">
+ <layout_panel
+ auto_resize="false"
+ height="26"
+ name="translate_chat_checkbox_lp">
+ <check_box
+ top="10"
+ control_name="TranslateChat"
+ enabled="true"
+ height="16"
+ label="Translate chat"
+ left="5"
+ name="translate_chat_checkbox"
+ width="230" />
+ </layout_panel>
+ <layout_panel
+ name="chat_holder">
+ <chat_history
+ font="SansSerifSmall"
+ follows="all"
+ name="chat_history"
+ parse_highlights="true"
+ parse_urls="true"
+ right="-1"
+ left="5"
+ top="0"
+ bottom="-1" />
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
</layout_panel>
- </layout_stack>
- </panel>
- </layout_panel>
- </layout_stack>
- </layout_panel>
- <layout_panel
+ <layout_panel
height="35"
- layout="topleft"
- follows="left|right|bottom"
- left_delta="0"
- right="0"
- top_delta="0"
- bottom="0"
- visible="true"
- user_resize="false"
auto_resize="false"
name="chat_layout_panel">
- <layout_stack
- animate="true"
- default_tab_group="2"
- follows="all"
- height="35"
- right="0"
- layout="topleft"
- orientation="horizontal"
- name="input_panels"
- top_pad="0"
- left="0">
- <layout_panel
- height="35"
- layout="topleft"
- follows="left|right|bottom"
- left_delta="0"
- top_delta="0"
- bottom="0"
- visible="true"
- user_resize="false"
- auto_resize="true"
- name="input_editor_layout_panel">
- <chat_editor
- expand_lines_count="5"
- follows="left|right|bottom"
- font="SansSerifSmall"
- visible="true"
- height="20"
- is_expandable="true"
- label="To"
- text_tentative_color="TextFgTentativeColor"
- layout="topleft"
- name="chat_editor"
- max_length="1023"
- spellcheck="true"
- tab_group="3"
- width="160"
- top="6"
- left="5"
- right="-5"
- wrap="true">
- </chat_editor>
+ <layout_stack
+ animate="false"
+ default_tab_group="2"
+ follows="all"
+ right="-1"
+ orientation="horizontal"
+ name="input_panels"
+ top="0"
+ bottom="-1"
+ left="0">
+ <layout_panel
+ name="input_editor_layout_panel">
+ <chat_editor
+ layout="topleft"
+ expand_lines_count="5"
+ follows="left|right|bottom"
+ font="SansSerifSmall"
+ height="20"
+ is_expandable="true"
+ text_tentative_color="TextFgTentativeColor"
+ name="chat_editor"
+ max_length="1023"
+ spellcheck="true"
+ tab_group="3"
+ bottom="-8"
+ left="5"
+ right="-5"
+ wrap="true" />
+ </layout_panel>
+ <layout_panel
+ auto_resize="false"
+ name="input_button_layout_panel"
+ width="32">
+ <button
+ left="1"
+ top="4"
+ follows="left|right|top"
+ height="25"
+ image_hover_unselected="Toolbar_Middle_Over"
+ image_overlay="Conv_expand_one_line"
+ image_selected="Toolbar_Middle_Selected"
+ image_unselected="Toolbar_Middle_Off"
+ name="minz_btn"
+ tool_tip="Shows/hides message panel"
+ width="28" />
+ </layout_panel>
+ </layout_stack>
</layout_panel>
- <layout_panel
- height="35"
- layout="topleft"
- follows="left|right|bottom"
- left_delta="0"
- top_delta="0"
- bottom="0"
- width="35"
- visible="true"
- user_resize="false"
- auto_resize="false"
- name="input_button_layout_panel">
- <button
- follows="left|right|bottom"
- height="25"
- image_hover_unselected="Toolbar_Middle_Over"
- image_overlay="Conv_expand_one_line"
- image_selected="Toolbar_Middle_Selected"
- image_unselected="Toolbar_Middle_Off"
- layout="topleft"
- name="minz_btn"
- tool_tip="Shows/hides message panel"
- width="28"/>
- </layout_panel>
- </layout_stack>
- </layout_panel>
- </layout_stack>
+ </layout_stack>
</view>
</floater>