diff options
| author | William Todd Stinson <stinson@lindenlab.com> | 2012-11-07 10:43:08 -0800 | 
|---|---|---|
| committer | William Todd Stinson <stinson@lindenlab.com> | 2012-11-07 10:43:08 -0800 | 
| commit | e73acc8dbdd3f86b217f744eb48a33dfa2c72f9e (patch) | |
| tree | 48bccf868a1629099dc5001ea3b99a5afaa86737 /indra/newview | |
| parent | 18011db7f0b60e4ec499e3cbdda4e4f716f458a2 (diff) | |
| parent | 8828eb21e2a8960bbcfd4edb2d113dbada7d4a5d (diff) | |
Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui/.
Diffstat (limited to 'indra/newview')
| -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 | 
4 files changed, 369 insertions, 133 deletions
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" />  | 
