diff options
author | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2013-03-28 04:52:24 +0200 |
---|---|---|
committer | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2013-03-28 04:52:24 +0200 |
commit | da8f2ffb16d6df1ccb9f34ddf6f26d799d2ea127 (patch) | |
tree | db9cc545697de6257cb1dd8a54038533ccc1aeaf /indra/newview | |
parent | 3a31b47028e0ae4945512924219118a74b0c7b27 (diff) |
CHUI-855 FIXED Text entry bar auto expand does not resize
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 21 | ||||
-rw-r--r-- | indra/newview/llfloaterimsessiontab.h | 11 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_session.xml | 441 |
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> |