diff options
| -rw-r--r-- | indra/llui/llfolderview.cpp | 5 | ||||
| -rw-r--r-- | indra/llui/llfolderview.h | 1 | ||||
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 2 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings_per_account.xml | 2 | ||||
| -rw-r--r-- | indra/newview/llchiclet.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llconversationlog.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/llconversationmodel.cpp | 67 | ||||
| -rwxr-xr-x | indra/newview/llconversationmodel.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/bottomtray/Notices_Unread.png | bin | 0 -> 3693 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_conversation_log.xml | 163 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_container.xml | 7 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_session.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_conversation.xml | 7 | 
15 files changed, 152 insertions, 134 deletions
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp index a33ffc4240..7ae79d94fe 100644 --- a/indra/llui/llfolderview.cpp +++ b/indra/llui/llfolderview.cpp @@ -1913,14 +1913,15 @@ void LLFolderView::updateMenuOptions(LLMenuGL* menu)  	// Successively filter out invalid options -	U32 flags = FIRST_SELECTED_ITEM; +	U32 multi_select_flag = (mSelectedItems.size() > 1 ? ITEM_IN_MULTI_SELECTION : 0x0); +	U32 flags = multi_select_flag | FIRST_SELECTED_ITEM;  	for (selected_items_t::iterator item_itor = mSelectedItems.begin();  			item_itor != mSelectedItems.end();  			++item_itor)  	{  		LLFolderViewItem* selected_item = (*item_itor);  		selected_item->buildContextMenu(*menu, flags); -		flags = 0x0; +		flags = multi_select_flag;  	}  	addNoOptions(menu); diff --git a/indra/llui/llfolderview.h b/indra/llui/llfolderview.h index d4a1434c73..2ee7417240 100644 --- a/indra/llui/llfolderview.h +++ b/indra/llui/llfolderview.h @@ -400,5 +400,6 @@ public:  // Flags for buildContextMenu()  const U32 SUPPRESS_OPEN_ITEM = 0x1;  const U32 FIRST_SELECTED_ITEM = 0x2; +const U32 ITEM_IN_MULTI_SELECTION = 0x4;  #endif // LL_LLFOLDERVIEW_H diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ebc915ec5a..507eb33f2d 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13173,7 +13173,7 @@        <key>Type</key>        <string>F32</string>        <key>Value</key> -      <real>0.25</real> +      <real>0.5</real>      </map>      <key>WindLightUseAtmosShaders</key>      <map> diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index ca22041671..4ff494fbfb 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -53,7 +53,7 @@          <key>Type</key>              <string>S32</string>          <key>Value</key> -            <integer>268</integer> +            <integer>205</integer>      </map>      <key>ConversationsMessagePaneCollapsed</key>      <map> diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 2fdcb17570..3dbb43c657 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -76,7 +76,7 @@ LLSysWellChiclet::LLSysWellChiclet(const Params& p)  LLSysWellChiclet::~LLSysWellChiclet()  { -	delete mFlashToLitTimer; +	mFlashToLitTimer->unset();  }  void LLSysWellChiclet::setCounter(S32 counter) diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp index 1171b3db41..eb3a3731ee 100644 --- a/indra/newview/llconversationlog.cpp +++ b/indra/newview/llconversationlog.cpp @@ -187,16 +187,23 @@ void LLConversationLogFriendObserver::changed(U32 mask)  LLConversationLog::LLConversationLog()  { -	LLControlVariable* ctrl = gSavedPerAccountSettings.getControl("LogInstantMessages").get(); -	if (ctrl) +	LLControlVariable* log_instant_message = gSavedPerAccountSettings.getControl("LogInstantMessages").get(); +	LLControlVariable* keep_convers_log = gSavedSettings.getControl("KeepConversationLogTranscripts").get(); +	bool is_log_message = false; +	bool is_keep_log = false; + +	if (log_instant_message)  	{ -		ctrl->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2)); -		if (ctrl->getValue().asBoolean() -				&& gSavedSettings.getBOOL("KeepConversationLogTranscripts")) -		{ -			enableLogging(true); -		} +		log_instant_message->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2)); +		is_log_message = log_instant_message->getValue().asBoolean();  	} +	if (keep_convers_log) +	{ +		keep_convers_log->getSignal()->connect(boost::bind(&LLConversationLog::enableLogging, this, _2)); +		is_keep_log = keep_convers_log->getValue().asBoolean(); +	} + +	enableLogging(is_log_message && is_keep_log);  }  void LLConversationLog::enableLogging(bool enable) diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp index d03ad92fbc..005439301a 100644 --- a/indra/newview/llconversationmodel.cpp +++ b/indra/newview/llconversationmodel.cpp @@ -102,35 +102,44 @@ void LLConversationItem::showProperties(void)  {  } -void LLConversationItem::buildParticipantMenuOptions(menuentry_vec_t&   items) -{ -    items.push_back(std::string("view_profile")); -    items.push_back(std::string("im")); -    items.push_back(std::string("offer_teleport")); -    items.push_back(std::string("voice_call")); -    items.push_back(std::string("chat_history")); -    items.push_back(std::string("separator_chat_history")); -    items.push_back(std::string("add_friend")); -    items.push_back(std::string("remove_friend")); -    items.push_back(std::string("invite_to_group")); -    items.push_back(std::string("separator_invite_to_group")); -    items.push_back(std::string("map")); -    items.push_back(std::string("share")); -    items.push_back(std::string("pay")); -    items.push_back(std::string("block_unblock")); -    items.push_back(std::string("MuteText")); - -	if(this->getType() != CONV_SESSION_1_ON_1 && mDisplayModeratorOptions) +void LLConversationItem::buildParticipantMenuOptions(menuentry_vec_t& items, U32 flags) +{ +	if (flags & ITEM_IN_MULTI_SELECTION)  	{ -		items.push_back(std::string("Moderator Options Separator")); -		items.push_back(std::string("Moderator Options")); -		items.push_back(std::string("AllowTextChat")); -		items.push_back(std::string("moderate_voice_separator")); -		items.push_back(std::string("ModerateVoiceToggleMuteSelected")); -		items.push_back(std::string("ModerateVoiceMute")); -		items.push_back(std::string("ModerateVoiceUnmute")); +		items.push_back(std::string("im")); +		items.push_back(std::string("offer_teleport")); +		items.push_back(std::string("voice_call")); +		items.push_back(std::string("remove_friends")); +	} +	else  +	{ +		items.push_back(std::string("view_profile")); +		items.push_back(std::string("im")); +		items.push_back(std::string("offer_teleport")); +		items.push_back(std::string("voice_call")); +		items.push_back(std::string("chat_history")); +		items.push_back(std::string("separator_chat_history")); +		items.push_back(std::string("add_friend")); +		items.push_back(std::string("remove_friend")); +		items.push_back(std::string("invite_to_group")); +		items.push_back(std::string("separator_invite_to_group")); +		items.push_back(std::string("map")); +		items.push_back(std::string("share")); +		items.push_back(std::string("pay")); +		items.push_back(std::string("block_unblock")); +		items.push_back(std::string("MuteText")); + +		if ((getType() != CONV_SESSION_1_ON_1) && mDisplayModeratorOptions) +		{ +			items.push_back(std::string("Moderator Options Separator")); +			items.push_back(std::string("Moderator Options")); +			items.push_back(std::string("AllowTextChat")); +			items.push_back(std::string("moderate_voice_separator")); +			items.push_back(std::string("ModerateVoiceToggleMuteSelected")); +			items.push_back(std::string("ModerateVoiceMute")); +			items.push_back(std::string("ModerateVoiceUnmute")); +		}  	} -  }  // @@ -306,7 +315,7 @@ void LLConversationItemSession::buildContextMenu(LLMenuGL& menu, U32 flags)      {          items.push_back(std::string("close_conversation"));          items.push_back(std::string("separator_disconnect_from_voice")); -        buildParticipantMenuOptions(items); +        buildParticipantMenuOptions(items, flags);      }      else if(this->getType() == CONV_SESSION_GROUP)      { @@ -440,7 +449,7 @@ void LLConversationItemParticipant::buildContextMenu(LLMenuGL& menu, U32 flags)      menuentry_vec_t items;      menuentry_vec_t disabled_items; -	buildParticipantMenuOptions(items); +	buildParticipantMenuOptions(items, flags);      hide_context_entries(menu, items, disabled_items);  } diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h index 743a6ba40b..02002d8f70 100755 --- a/indra/newview/llconversationmodel.h +++ b/indra/newview/llconversationmodel.h @@ -130,7 +130,7 @@ public:  	void postEvent(const std::string& event_type, LLConversationItemSession* session, LLConversationItemParticipant* participant); -    void buildParticipantMenuOptions(menuentry_vec_t&   items); +    void buildParticipantMenuOptions(menuentry_vec_t& items, U32 flags);  protected:  	std::string mName;	// Name of the session or the participant diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 92ea6dacde..2019a35faa 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1232,7 +1232,6 @@ void LLFloaterIMContainer::showConversation(const LLUUID& session_id)  void LLFloaterIMContainer::clearAllFlashStates()  { -	llinfos << "Merov debug : clear all flash states" << llendl;  	conversations_widgets_map::iterator widget_it = mConversationsWidgets.begin();  	for (;widget_it != mConversationsWidgets.end(); ++widget_it)  	{ diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index cdc51ad2fc..708400cbe1 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -964,7 +964,7 @@ const std::string LLIMModel::getName(const LLUUID& session_id) const  {  	LLIMSession* session = findIMSession(session_id); -	if (!session)  +	if (!session)  	{  		llwarns << "session " << session_id << "does not exist " << llendl;  		return LLTrans::getString("no_session_message"); diff --git a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png Binary files differnew file mode 100644 index 0000000000..0ac5b72b8f --- /dev/null +++ b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png diff --git a/indra/newview/skins/default/xui/en/floater_conversation_log.xml b/indra/newview/skins/default/xui/en/floater_conversation_log.xml index c9c52e5ce5..960db137b3 100644 --- a/indra/newview/skins/default/xui/en/floater_conversation_log.xml +++ b/indra/newview/skins/default/xui/en/floater_conversation_log.xml @@ -1,91 +1,88 @@  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  <floater -  can_resize="true" -  positioning="cascading" -  height="400" -  min_height="100" -  min_width="390" -  layout="topleft" -  name="floater_conversation_log" -  save_rect="true" -  single_instance="true" -  reuse_instance="true" -  title="CONVERSATION LOG" -  width="450"> -   + can_resize="true" + positioning="cascading" + height="200" + min_height="100" + min_width="200" + layout="topleft" + name="floater_conversation_log" + save_rect="true" + single_instance="true" + reuse_instance="true" + title="CONVERSATION LOG" + width="300">    <string name="logging_calls_disabled">       Conversations are not being logged. To log conversations in the future, select "Save IM logs on my computer" under Preferences > Privacy.    </string> -   -	<panel -      follows="left|top|right" -      height="27" -      layout="topleft" -      left="0" -      name="buttons_panel" -      top="0"> -        <filter_editor -          follows="left|top|right" -          height="23" -          layout="topleft" -          left="8" -          label="Filter People" -          max_length_chars="300" -          name="people_filter_input" -          text_color="Black" -          text_pad_left="10" -          top="4" -          width="364" /> -        <menu_button -          follows="right" -          height="25" -          image_hover_unselected="Toolbar_Middle_Over" -          image_overlay="Conv_toolbar_sort" -          image_selected="Toolbar_Middle_Selected" -          image_unselected="Toolbar_Middle_Off" -          layout="topleft" -          left_pad="5" -          menu_filename="menu_conversation_log_view.xml" -          menu_position="bottomleft" -          name="conversation_view_btn" -          tool_tip="View/sort options" -          top="3" -          width="31" /> -        <menu_button -          follows="right" -          height="25" -          image_hover_unselected="Toolbar_Middle_Over" -          image_overlay="OptionsMenu_Off" -          image_selected="Toolbar_Middle_Selected" -          image_unselected="Toolbar_Middle_Off" -          layout="topleft" -          left_pad="2" -          name="conversations_gear_btn" -          tool_tip="Actions on selected person or group" -          top="3" -          width="31" /> -    </panel> -    <panel -      follows="all" -      height="370" -      layout="topleft" -      left="5" -      name="buttons_panel" -      right="-5" -      top_pad="5"> +  <panel +   bottom="0" +   follows="left|top|right" +   height="32" +   left="0" +   name="buttons_panel" +   right="0" +   top="0"> +    <filter_editor +     follows="left|top|right" +     height="23" +     layout="topleft" +     left="8" +     label="Filter People" +     max_length_chars="300" +     name="people_filter_input" +     text_color="Black" +     text_pad_left="10" +     top="4" +     width="204" /> +    <menu_button +     follows="top|right" +     height="25" +     image_hover_unselected="Toolbar_Middle_Over" +     image_overlay="Conv_toolbar_sort" +     image_selected="Toolbar_Middle_Selected" +     image_unselected="Toolbar_Middle_Off" +     layout="topleft" +     left_pad="8" +     menu_filename="menu_conversation_log_view.xml" +     menu_position="bottomleft" +     name="conversation_view_btn" +     tool_tip="View/sort options" +     top="3" +     width="31" /> +    <menu_button +     follows="top|right" +     height="25" +     image_hover_unselected="Toolbar_Middle_Over" +     image_overlay="OptionsMenu_Off" +     image_selected="Toolbar_Middle_Selected" +     image_unselected="Toolbar_Middle_Off" +     layout="topleft" +     left_pad="8" +     name="conversations_gear_btn" +     tool_tip="Actions on selected person or group" +     top="3" +     width="31" /> +  </panel> +  <panel +   bottom="-1" +   follows="all" +   left="0" +   name="log_panel" +   right="-1" +   top="32">      <conversation_log_list -      opaque="true" -      allow_select="true" -      follows="all" -      height="360" -      layout="topleft" -      left="3" -      keep_selection_visible_on_reshape="true" -      item_pad="2" -      multi_select="false" -      name="conversation_log_list" -      right="-3" -      top="5" /> -    </panel> +     allow_select="true" +     bottom="-8" +     opaque="true" +     follows="all" +     left="8" +     keep_selection_visible_on_reshape="true" +     item_pad="2" +     multi_select="false" +     name="conversation_log_list" +     right="-8" +     top="0" /> +  </panel>  </floater> 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 3475c7da33..cbf1830093 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -3,9 +3,8 @@   can_close="true"     can_minimize="true"   can_resize="true" - height="230" + height="210"   layout="topleft" - min_height="50"   name="floater_im_box"   help_topic="floater_im_box"   save_rect="true" @@ -15,7 +14,7 @@   title="CONVERSATIONS"   bottom="-50"   right="-5" - width="500"> + width="450">      <string       name="collapse_icon"       value="Conv_toolbar_collapse"/> @@ -37,7 +36,6 @@           user_resize="true"                   name="conversations_layout_panel"           min_dim="38" -         width="225"           expanded_min_dim="156">              <layout_stack               animate="false"  @@ -121,7 +119,6 @@               opaque="true"               top_pad="0"               left="5" -             height="390"               right="-1"/>          </layout_panel>          <layout_panel diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 4dbd52d05e..9e2132dc3b 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -206,7 +206,7 @@         auto_resize="true"         visible="true"         name="left_part_holder" -       min_width="225"> +       min_width="221">          <panel           name="trnsAndChat_panel"           follows="all" diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index e0edf384d6..46c6e19fa5 100644 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -76,6 +76,13 @@          <on_enable function="Avatar.EnableItem" parameter="can_delete" />      </menu_item_call>	      <menu_item_call +     label="Remove friends" +     layout="topleft" +     name="remove_friends"> +        <on_click function="Avatar.DoToSelected" parameter="remove_friend" /> +        <on_enable function="Avatar.EnableItem" parameter="can_delete" /> +    </menu_item_call>	 +    <menu_item_call       label="Invite to group..."       layout="topleft"       name="invite_to_group">  | 
