diff options
author | Merov Linden <merov@lindenlab.com> | 2012-11-07 17:11:30 -0800 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-11-07 17:11:30 -0800 |
commit | 4ee2b01b304b5c95fd4b1d73109033d37e84cb25 (patch) | |
tree | a9daa67e94ae62cab5ecacf1743d02ce2e0a21e4 | |
parent | 87c94625d39a72ce8b19b2c295c3824fb45717a3 (diff) | |
parent | bfb22638f865c2270fad95c35eff273b134772e3 (diff) |
Pull from viewer-chui, had to resolve conflicts on llimfloatercontainer.cpp
18 files changed, 371 insertions, 136 deletions
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h index 7e37e06064..b157aabdcf 100755 --- a/indra/llui/llfolderviewitem.h +++ b/indra/llui/llfolderviewitem.h @@ -260,7 +260,7 @@ public: // virtual void handleDropped(); virtual void draw(); - void drawOpenFolderArrow(const Params& default_params, const LLUIColor& fg_color); + virtual void drawOpenFolderArrow(const Params& default_params, const LLUIColor& fg_color); void drawHighlight(const BOOL showContent, const BOOL hasKeyboardFocus, const LLUIColor &bgColor, const LLUIColor &outlineColor, const LLUIColor &mouseOverColor); void drawLabel(const LLFontGL * font, const F32 x, const F32 y, const LLColor4& color, F32 &right_x); virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 87532268e7..c6b970158f 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -133,6 +133,7 @@ BOOL LLConversationViewSession::postBuild() LLGroupIconCtrl* icon = mItemPanel->getChild<LLGroupIconCtrl>("group_icon"); icon->setVisible(true); mSpeakingIndicator->setSpeakerId(gAgentID, vmi->getUUID(), true); + break; } case LLConversationItem::CONV_SESSION_GROUP: { @@ -344,6 +345,15 @@ void LLConversationViewSession::onCurrentVoiceSessionChanged(const LLUUID& sessi } } +void LLConversationViewSession::drawOpenFolderArrow(const LLFolderViewItem::Params& default_params, const LLUIColor& fg_color) +{ + LLConversationItem * itemp = dynamic_cast<LLConversationItem*>(getViewModelItem()); + if (itemp && itemp->getType() != LLConversationItem::CONV_SESSION_1_ON_1) + { + LLFolderViewFolder::drawOpenFolderArrow(default_params, fg_color); + } +} + // // Implementation of conversations list participant (avatar) widgets // diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h index d50e527007..f2ab093739 100755 --- a/indra/newview/llconversationview.h +++ b/indra/newview/llconversationview.h @@ -71,6 +71,8 @@ public: /*virtual*/ bool isMinimized() { return mMinimizedMode; } + /*virtual*/ void drawOpenFolderArrow(const LLFolderViewItem::Params& default_params, const LLUIColor& fg_color); + void toggleMinimizedMode(bool is_minimized); void setVisibleIfDetached(BOOL visible); diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp index fb247b4604..d1ffba0663 100644 --- a/indra/newview/llimconversation.cpp +++ b/indra/newview/llimconversation.cpp @@ -57,6 +57,7 @@ LLIMConversation::LLIMConversation(const LLSD& session_id) , mInputEditor(NULL) , mInputEditorTopPad(0) , mRefreshTimer(new LLTimer()) + , mIsHostAttached(false) { mSession = LLIMModel::getInstance()->findIMSession(mSessionID); diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index c0465c6956..c6e82f11a3 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -332,6 +332,7 @@ void LLIMFloaterContainer::onExpandCollapseButtonClicked() { collapseConversationsPane(!mConversationsPane->isCollapsed()); } + selectConversation(mSelectedSession); } LLIMFloaterContainer* LLIMFloaterContainer::findInstance() @@ -426,14 +427,17 @@ bool LLIMFloaterContainer::onConversationModelEvent(const LLSD& event) } else if (type == "add_participant") { - LLConversationItemSession* session_model = dynamic_cast<LLConversationItemSession*>(get_ptr_in_map(mConversationsItems,session_id)); + LLConversationItemSession* session_model = dynamic_cast<LLConversationItemSession*>(mConversationsItems[session_id]); LLConversationItemParticipant* participant_model = (session_model ? session_model->findParticipant(participant_id) : NULL); - // Add a participant view to the hierarchical conversation list if (!participant_view && session_model && participant_model) { - participant_view = createConversationViewParticipant(participant_model); - participant_view->addToFolder(session_view); - participant_view->setVisible(TRUE); + LLIMModel::LLIMSession * im_sessionp = LLIMModel::getInstance()->findIMSession(session_id); + if (session_id.isNull() || (im_sessionp && !im_sessionp->isP2PSessionType())) + { + participant_view = createConversationViewParticipant(participant_model); + participant_view->addToFolder(session_view); + participant_view->setVisible(TRUE); + } } // Add a participant view to the conversation floater if (conversation_floater && participant_model) @@ -1196,17 +1200,22 @@ LLConversationItem* LLIMFloaterContainer::addConversationListItem(const LLUUID& // Add a new conversation widget to the root folder of the folder view widget->addToFolder(mConversationsRoot); widget->requestArrange(); - + + LLIMModel::LLIMSession * im_sessionp = LLIMModel::getInstance()->findIMSession(uuid); + // Create the participants widgets now // Note: usually, we do not get an updated avatar list at that point - LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = item->getChildrenBegin(); - LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = item->getChildrenEnd(); - while (current_participant_model != end_participant_model) - { - LLConversationItem* participant_model = dynamic_cast<LLConversationItem*>(*current_participant_model); - LLConversationViewParticipant* participant_view = createConversationViewParticipant(participant_model); - participant_view->addToFolder(widget); - current_participant_model++; + if (uuid.isNull() || im_sessionp && !im_sessionp->isP2PSessionType()) + { + LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = item->getChildrenBegin(); + LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = item->getChildrenEnd(); + while (current_participant_model != end_participant_model) + { + LLConversationItem* participant_model = dynamic_cast<LLConversationItem*>(*current_participant_model); + LLConversationViewParticipant* participant_view = createConversationViewParticipant(participant_model); + participant_view->addToFolder(widget); + current_participant_model++; + } } // Do that too for the conversation dialog LLIMConversation *conversation_floater = (uuid.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(uuid))); diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_add_person.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_add_person.png Binary files differindex f024c733f3..0631f16f3b 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_add_person.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_add_person.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_ne.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_ne.png Binary files differindex a19e720d42..578482f5ed 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_ne.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_ne.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_sw.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_sw.png Binary files differindex 7f3f42639d..7676131790 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_sw.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_arrow_sw.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_close.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_close.png Binary files differindex 25a939d7f5..d009c8f446 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_close.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_close.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_collapse.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_collapse.png Binary files differindex 82baabde47..8d82960e28 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_collapse.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_collapse.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_expand.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_expand.png Binary files differindex 7d64abb042..f718d3fc60 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_expand.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_expand.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_hang_up.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_hang_up.png Binary files differindex f0da962c2d..315e2c581a 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_hang_up.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_hang_up.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_open_call.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_open_call.png Binary files differindex 0db001dcdb..732ab02a20 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_open_call.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_open_call.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_plus.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_plus.png Binary files differindex 0cf7edc2d4..25a32cb2ba 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_plus.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_plus.png diff --git a/indra/newview/skins/default/textures/icons/Conv_toolbar_sort.png b/indra/newview/skins/default/textures/icons/Conv_toolbar_sort.png Binary files differindex a0c15a6d3e..08debeb91f 100755 --- a/indra/newview/skins/default/textures/icons/Conv_toolbar_sort.png +++ b/indra/newview/skins/default/textures/icons/Conv_toolbar_sort.png diff --git a/indra/newview/skins/default/textures/icons/nearby_chat_icon.png b/indra/newview/skins/default/textures/icons/nearby_chat_icon.png Binary files differindex 48c2379133..5ac4258b9d 100644 --- a/indra/newview/skins/default/textures/icons/nearby_chat_icon.png +++ b/indra/newview/skins/default/textures/icons/nearby_chat_icon.png diff --git a/indra/newview/skins/default/xui/en/panel_conversation_list_item.xml b/indra/newview/skins/default/xui/en/panel_conversation_list_item.xml index 771d9fa680..a054e71e34 100644 --- a/indra/newview/skins/default/xui/en/panel_conversation_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_conversation_list_item.xml @@ -54,14 +54,14 @@ visible="false" width="20"> <icon - height="20" + height="18" follows="top|right|left" image_name="Conv_toolbar_open_call" layout="topleft" left="0" name="selected_icon" - top="2" - width="20" /> + top="3" + width="18" /> </layout_panel> <layout_panel auto_resize="true" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml index c76a3cfaaf..28434a670e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml @@ -9,151 +9,364 @@ name="chat" top="1" width="517"> - <text - follows="left|top" - layout="topleft" - left="30" - height="12" - name="font_size" - width="120" - top="10"> - Font size: - </text> - <radio_group - height="30" - layout="topleft" - left="40" - control_name="ChatFontSize" - name="chat_font_size" - top_pad="0" - width="440"> - <radio_item - height="16" - label="Small" - layout="topleft" - left="0" - name="radio" - value="0" - top="10" - width="125" /> - <radio_item - height="16" - label="Medium" - layout="topleft" - left_delta="145" - name="radio2" - value="1" - top_delta="0" - width="125" /> - <radio_item - height="16" - label="Large" - layout="topleft" - left_delta="170" - name="radio3" - value="2" - top_delta="0" - width="125" /> - </radio_group> - + + <panel + border="false" + follows="left|top" + height="90" + layout="topleft" + top="10" + left="13" + width="517"> + <check_box - control_name="PlayTypingAnim" - height="16" - initial_value="true" - label="Play typing animation when chatting" - layout="topleft" - left="30" - name="play_typing_animation" - top_pad="10" - width="400" /> + control_name="PlayTypingAnim" + height="16" + initial_value="true" + label="Play typing animation when chatting" + layout="topleft" + top="0" + name="play_typing_animation" + width="330" /> <check_box enabled="false" height="16" label="Email me IMs when I'm offline" layout="topleft" - left_delta="0" name="send_im_to_email" - top_pad="5" - width="400" /> + top_pad="6" + width="330" /> + <check_box + height="16" + label="Keep a conversation log and transcripts" + layout="topleft" + name="keep_convo_log_and_transcripts" + top_pad="6" + width="330" /> <check_box control_name="UseChatBubbles" follows="left|top" height="16" label="Bubble Chat" layout="topleft" - left_delta="0" - top_pad="5" + top_pad="6" name="bubble_text_chat" - width="150" /> + width="330" /> <text - name="disable_toast_label" follows="left|top" layout="topleft" - top_pad="20" - left="30" - height="10" - width="400"> - Enable incoming chat popups: - </text> - <check_box - control_name="EnableGroupChatPopups" - name="EnableGroupChatPopups" - label="Group Chats" - layout="topleft" - top_pad="5" - left_delta="10" - height="20" - tool_tip="Check to see popups when a Group Chat message arrives" - width="400" /> - <check_box - control_name="EnableIMChatPopups" - name="EnableIMChatPopups" - label="IM Chats" - layout="topleft" - top_pad="5" - height="16" - tool_tip="Check to see popups when an instant message arrives" - width="400" /> - <spinner - control_name="NearbyToastLifeTime" - decimal_digits="0" + left="345" + height="12" + name="font_size" + width="120" + top="0"> + Font size: + </text> + <radio_group + height="90" + layout="topleft" + left="352" + control_name="ChatFontSize" + name="chat_font_size" + top_pad="0" + width="50"> + <radio_item + height="16" + label="Small" + layout="topleft" + name="radio" + value="0" + top="10" + width="125" /> + <radio_item + height="16" + label="Medium" + layout="topleft" + name="radio2" + value="1" + top_pad="6" + width="125" /> + <radio_item + height="16" + label="Large" + layout="topleft" + name="radio3" + value="2" + top_pad="6" + width="125" /> + </radio_group> + + </panel> + + <panel + border="false" + follows="left|top" + height="193" + layout="topleft" + left="13" + width="517"> + + <text follows="left|top" - height="23" - increment="1" - initial_value="23" - label="Nearby chat toasts life time:" - label_width="285" layout="topleft" - left="45" - max_val="60" - min_val="1" - name="nearby_toasts_lifetime" - top_pad="10" - width="325" /> - <spinner - control_name="NearbyToastFadingTime" - decimal_digits="0" + height="12" + name="notifications" + left="0" + width="120"> + Notifications: + </text> + <text follows="left|top" - height="23" - increment="1" - initial_value="3" - label="Nearby chat toasts fading time:" - label_width="285" layout="topleft" - left_delta="0" - max_val="60" - min_val="0" - name="nearby_toasts_fadingtime" - top_pad="3" - width="325" /> + height="12" + name="friend_ims" + width="145" + left="0" + top_pad="15" + > + Friend IMs: + </text> + <combo_box + control_name="NotificationFriendIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="FriendIMOptions" + width="223"> + <combo_box.item + label="Pop up the message" + name="0" + value="0"/> + <combo_box.item + label="Flash toolbar button" + name="1" + value="1"/> + <combo_box.item + label="None" + name="2" + value="2"/> + </combo_box> + <text + follows="left|top" + layout="topleft" + height="12" + name="non_friend_ims" + width="145" + left="0" + top_pad="15" + > + Non-friend IMs: + </text> + <combo_box + control_name="NotificationNonFriendIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="NonFriendIMOptions" + width="223"> + <combo_box.item + label="Pop up the message" + name="0" + value="0"/> + <combo_box.item + label="Flash toolbar button" + name="1" + value="1"/> + <combo_box.item + label="None" + name="2" + value="2"/> + </combo_box> + <text + follows="left|top" + layout="topleft" + left="0" + height="13" + name="conference_ims" + width="145" + top_pad="14" + > + Conference IMs: + </text> + <combo_box + control_name="NotificationConferenceIMOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="ConferenceIMOptions" + width="223"> + <combo_box.item + label="Pop up the message" + name="0" + value="0"/> + <combo_box.item + label="Flash toolbar button" + name="1" + value="1"/> + <combo_box.item + label="None" + name="2" + value="2"/> + </combo_box> + <text + follows="left|top" + layout="topleft" + left="0" + height="13" + name="group_chat" + width="145" + top_pad="14" + > + Group chat: + </text> + <combo_box + control_name="NotificationGroupChatOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="GroupChatOptions" + width="223"> + <combo_box.item + label="Pop up the message" + name="0" + value="0"/> + <combo_box.item + label="Flash toolbar button" + name="1" + value="1"/> + <combo_box.item + label="None" + name="2" + value="2"/> + </combo_box> + <text + follows="left|top" + layout="topleft" + left="0" + height="12" + name="nearby_chat" + width="145" + top_pad="14" + > + Nearby chat: + </text> + <combo_box + control_name="NotificationNearbyChatOptions" + height="23" + layout="topleft" + left_pad="5" + top_delta="-6" + name="NearbyChatOptions" + width="223"> + <combo_box.item + label="Pop up the message" + name="0" + value="0"/> + <combo_box.item + label="Flash toolbar button" + name="1" + value="1"/> + <combo_box.item + label="None" + name="2" + value="2"/> + </combo_box> + <text + follows="left|top" + layout="topleft" + left="0" + height="12" + name="notifications_alert" + width="350" + top_pad="11" + visible="true" + text_color="DrYellow" + > + To temporarily stop all notifications, use Me > Status > Busy. + </text> + + </panel> + + <panel + border="false" + follows="left|top" + height="1" + layout="topleft" + left="13" + width="517"> + + <text + follows="left|top" + layout="topleft" + left="0" + name="play_sound" + width="100" + top_pad="13" + visible="true"> + Play sound: + </text> + <check_box + control_name="NewConversation" + height="16" + initial_value="true" + label="New conversation" + layout="topleft" + left_pad="15" + top_pad="-10" + name="new_conversation" + width="150" /> + <check_box + control_name="IncomingVoiceCall" + height="16" + initial_value="true" + label="Incoming voice call" + layout="topleft" + top_pad="6" + name="incoming_voice_call" + width="150" /> + <check_box + control_name="GroupChatMessages" + height="16" + initial_value="false" + label="Group chat messages" + layout="topleft" + top_pad="6" + name="group_chat_messages" + width="150" /> + <check_box + control_name="TeleportOffer" + height="16" + initial_value="true" + label="Teleport offer" + layout="topleft" + left_pad="35" + top_pad="-59" + name="teleport_offer" + width="150" /> + <check_box + control_name="InventoryOffer" + height="16" + initial_value="false" + label="Inventory offer" + layout="topleft" + top_pad="6" + name="inventory_offer" + width="150" /> + + </panel> + <button follows="left|top" height="23" label="Translation..." layout="topleft" - left="30" + left="9" name="ok_btn" - top="-50" + top="-29" width="170"> <button.commit_callback function="Pref.TranslationSettings" /> |