diff options
author | AlexanderP ProductEngine <apaschenko@productengine.com> | 2012-11-09 17:04:21 +0200 |
---|---|---|
committer | AlexanderP ProductEngine <apaschenko@productengine.com> | 2012-11-09 17:04:21 +0200 |
commit | 3d42133ecb7671d8284bc0309f8df9e6e7f2df9c (patch) | |
tree | b2093d7b851761fb990777bee83b1328af14e50d | |
parent | 2813e49d198400a0f6416e01f720bdeb5f506144 (diff) |
CHUI-362 WIP (Torn off conversation name is highlighted when selected in conversation list with different conversation showing in message panel): implemented the stub panel and a control of it's visibility
-rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llfloaterimcontainer.h | 3 | ||||
-rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_container.xml | 42 |
4 files changed, 57 insertions, 1 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 2789b78c2d..994a76189a 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -141,6 +141,8 @@ BOOL LLFloaterIMContainer::postBuild() // mTabContainer will be initialized in LLMultiFloater::addChild() setTabContainer(getChild<LLTabContainer>("im_box_tab_container")); + mStubPanel = getChild<LLPanel>("stub_panel"); + mStubTextBox = getChild<LLTextBox>("stub_textbox"); mConversationsStack = getChild<LLLayoutStack>("conversations_stack"); mConversationsPane = getChild<LLLayoutPanel>("conversations_layout_panel"); @@ -494,6 +496,16 @@ void LLFloaterIMContainer::tabClose() } } +void LLFloaterIMContainer::showStub(bool stub_is_visible) +{ + if (stub_is_visible) + { + mTabContainer->hideAllTabs(); + } + + mStubPanel->setVisible(stub_is_visible); +} + void LLFloaterIMContainer::setVisible(BOOL visible) { LLFloaterIMNearbyChat* nearby_chat; if (visible) diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index f65e946dad..a09cde60f5 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -71,6 +71,7 @@ public: BOOL selectConversationPair(const LLUUID& session_id, bool select_widget); /*virtual*/ void tabClose(); + void showStub(bool visible); static LLFloater* getCurrentVoiceFloater(); static LLFloaterIMContainer* findInstance(); @@ -146,6 +147,8 @@ private: void openNearbyChat(); LLButton* mExpandCollapseBtn; + LLPanel* mStubPanel; + LLTextBox* mStubTextBox; LLLayoutPanel* mMessagesPane; LLLayoutPanel* mConversationsPane; LLLayoutStack* mConversationsStack; diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index c39319b373..3a1cc2880a 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -313,6 +313,7 @@ void LLFloaterIMSessionTab::onFocusReceived() if (container) { container->selectConversationPair(mSessionID, true); + container->showStub(! getHost()); } } diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml index 590ce45c33..e3db3d52ed 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -124,7 +124,47 @@ left="0" name="im_box_tab_container" top="0" - width="412"/> + width="412"> + <panel + follows="all" + layout="topleft" + name="stub_panel" + opaque="true" + top_pad="0" + left="0" + height="430" + width="412"> + <text + type="string" + clip_partial="false" + follows="left|top" + layout="topleft" + left="20" + right="-20" + name="stub_textbox_1" + top="10" + height="20" + valign="center" + wrap="true"> + This conversation is in a separate window. + </text> + <text + type="string" + clip_partial="false" + follows="left|top" + layout="topleft" + left="20" + right="-20" + name="stub_textbox_2" + top="40" + height="20" + valign="center" + parse_urls="false" + wrap="true"> + Bring it back. + </text> + </panel> + </panel_container> </layout_panel> </layout_stack> </multi_floater> |