diff options
-rwxr-xr-x | indra/llui/llfolderviewitem.h | 2 | ||||
-rwxr-xr-x | indra/newview/llconversationview.cpp | 10 | ||||
-rwxr-xr-x | indra/newview/llconversationview.h | 2 | ||||
-rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 41 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_chat.xml | 449 |
5 files changed, 370 insertions, 134 deletions
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h index 7cbe70fb8b..8bb73bcf5d 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 de0c65e24f..2d3a008bf4 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: { @@ -343,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<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 4d77a4ade0..aeca747260 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/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp index 52deae445b..af43b1ac38 100644 --- a/indra/newview/llimfloatercontainer.cpp +++ b/indra/newview/llimfloatercontainer.cpp @@ -424,15 +424,21 @@ bool LLIMFloaterContainer::onConversationModelEvent(const LLSD& event) LLConversationItemSession* session_model = dynamic_cast<LLConversationItemSession*>(mConversationsItems[session_id]); if (session_model) { - LLConversationItemParticipant* participant_model = session_model->findParticipant(participant_id); - if (participant_model) + const LLUUID& uuid = session_model->getUUID(); + + LLIMModel::LLIMSession * im_sessionp = LLIMModel::getInstance()->findIMSession(uuid); + + if (uuid.isNull() || im_sessionp && !im_sessionp->isP2PSessionType()) { - participant_view = createConversationViewParticipant(participant_model); - participant_view->addToFolder(session_view); - participant_view->setVisible(TRUE); + LLConversationItemParticipant* participant_model = session_model->findParticipant(participant_id); + if (participant_model) + { + participant_view = createConversationViewParticipant(participant_model); + participant_view->addToFolder(session_view); + participant_view->setVisible(TRUE); + } } } - } } else if (type == "update_participant") @@ -1175,17 +1181,22 @@ void LLIMFloaterContainer::addConversationListItem(const LLUUID& uuid, bool isWi // 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++; + } } // set the widget to minimized mode if conversations pane is collapsed 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" /> |