From a337d7e59776f0ae6ecf72f67c813c9c60cfd8c7 Mon Sep 17 00:00:00 2001 From: AlexanderP ProductEngine Date: Wed, 7 Nov 2012 12:47:00 +0200 Subject: Fixed postBuild() for Ad-hoc conference --- indra/newview/llconversationview.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llconversationview.cpp') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index de0c65e24f..0f649361fb 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -133,6 +133,7 @@ BOOL LLConversationViewSession::postBuild() LLGroupIconCtrl* icon = mItemPanel->getChild("group_icon"); icon->setVisible(true); mSpeakingIndicator->setSpeakerId(gAgentID, vmi->getUUID(), true); + break; } case LLConversationItem::CONV_SESSION_GROUP: { -- cgit v1.2.3 From 8828eb21e2a8960bbcfd4edb2d113dbada7d4a5d Mon Sep 17 00:00:00 2001 From: maksymsproductengine Date: Tue, 6 Nov 2012 22:02:09 +0200 Subject: CHUI-448 FIXED p2p IM chat conversations show a participant list with a carat --- indra/newview/llconversationview.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indra/newview/llconversationview.cpp') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 0f649361fb..2d3a008bf4 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -344,6 +344,15 @@ void LLConversationViewSession::onCurrentVoiceSessionChanged(const LLUUID& sessi } } +void LLConversationViewSession::drawOpenFolderArrow(const LLFolderViewItem::Params& default_params, const LLUIColor& fg_color) +{ + LLConversationItem * itemp = dynamic_cast(getViewModelItem()); + if (itemp && itemp->getType() != LLConversationItem::CONV_SESSION_1_ON_1) + { + LLFolderViewFolder::drawOpenFolderArrow(default_params, fg_color); + } +} + // // Implementation of conversations list participant (avatar) widgets // -- cgit v1.2.3 From d1f45654d91762af4e614de2156304d7acad6619 Mon Sep 17 00:00:00 2001 From: AlexanderP ProductEngine Date: Wed, 7 Nov 2012 18:45:02 +0200 Subject: CHUI-473, CHUI-482 FIXED (Clicking on nearby chat toast to open Conversation floater does not show Nearby Chat conversation selected in list; Nearby chat conversation is not selected in list by default when it is the only conversation ): implement. new logic in LLIMFloaterContainer for the syncronous select the conv. list's item and corresponding convers. floater; removed floater selecting from conv. items; fixed bug with item select --- indra/newview/llconversationview.cpp | 76 +++++++++++++----------------------- 1 file changed, 28 insertions(+), 48 deletions(-) (limited to 'indra/newview/llconversationview.cpp') diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 2d3a008bf4..34b5976e3e 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -203,6 +203,17 @@ void LLConversationViewSession::draw() LLView::draw(); } +BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask ) +{ + LLConversationItem* item = dynamic_cast(getViewModelItem()); + LLUUID session_id = item? item->getUUID() : LLUUID(); + + (LLFloaterReg::getTypedInstance("im_container"))-> + selectConversationPair(session_id, false); + + return LLFolderViewFolder::handleMouseDown(x, y, mask); +} + // virtual S32 LLConversationViewSession::arrange(S32* width, S32* height) { @@ -233,29 +244,6 @@ void LLConversationViewSession::toggleOpen() } } -void LLConversationViewSession::selectItem() -{ - - LLConversationItem* item = dynamic_cast(mViewModelItem); - LLFloater* session_floater = LLIMConversation::getConversation(item->getUUID()); - LLMultiFloater* host_floater = session_floater->getHost(); - - if (host_floater == mContainer) - { - // Always expand the message pane if the panel is hosted by the container - mContainer->collapseMessagesPane(false); - // Switch to the conversation floater that is being selected - mContainer->selectFloater(session_floater); - } - - // Set the focus on the selected floater - session_floater->setFocus(TRUE); - // Store the active session - LLIMFloaterContainer::getInstance()->setSelectedSession(item->getUUID()); - - - LLFolderViewItem::selectItem(); -} void LLConversationViewSession::toggleMinimizedMode(bool is_minimized) { @@ -441,31 +429,6 @@ void LLConversationViewParticipant::draw() LLView::draw(); } -void LLConversationViewParticipant::selectItem() -{ - LLConversationItem* vmi = this->getParentFolder() ? static_cast(this->getParentFolder()->getViewModelItem()) : NULL; - LLIMFloaterContainer* container = LLIMFloaterContainer::getInstance(); - LLFloater* session_floater; - - if(vmi) - { - session_floater = LLIMConversation::getConversation(vmi->getUUID()); - - //Only execute when switching floaters (conversations) - if(vmi->getUUID() != container->getSelectedSession()) - { - container->selectFloater(session_floater); - // Store the active session - container->setSelectedSession(vmi->getUUID()); - } - - //Redirect focus to the conversation floater - session_floater->setFocus(TRUE); - } - - LLFolderViewItem::selectItem(); -} - void LLConversationViewParticipant::refresh() { // Refresh the participant view from its model data @@ -514,6 +477,23 @@ void LLConversationViewParticipant::onMouseLeave(S32 x, S32 y, MASK mask) LLFolderViewItem::onMouseLeave(x, y, mask); } +BOOL LLConversationViewParticipant::handleMouseDown( S32 x, S32 y, MASK mask ) +{ + LLConversationItem* item = NULL; + LLConversationViewSession* session_widget = + dynamic_cast(this->getParentFolder()); + if (session_widget) + { + item = dynamic_cast(session_widget->getViewModelItem()); + } + LLUUID session_id = item? item->getUUID() : LLUUID(); + + (LLFloaterReg::getTypedInstance("im_container"))-> + selectConversationPair(session_id, false); + + return LLFolderViewItem::handleMouseDown(x, y, mask); +} + S32 LLConversationViewParticipant::getLabelXPos() { return mAvatarIcon->getRect().mRight + mIconPad; -- cgit v1.2.3