diff options
| author | AndreyL ProductEngine <andreylproductengine@lindenlab.com> | 2015-09-02 01:16:18 +0300 | 
|---|---|---|
| committer | AndreyL ProductEngine <andreylproductengine@lindenlab.com> | 2015-09-02 01:16:18 +0300 | 
| commit | 70136a7e3d1ce1600ecc1b607923b6dd408b8d0e (patch) | |
| tree | 244fb95b9bc72a0164b3bad4ed3c4161a7374882 | |
| parent | 540493b315d8b8380b4c0bc63e7021ad499a62f8 (diff) | |
MAINT-5297 Allow global toggle of 'View People Icons' - Global switch part
--HG--
branch : develop
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 11 | ||||
| -rwxr-xr-x | indra/newview/llavatarlist.cpp | 14 | ||||
| -rwxr-xr-x | indra/newview/llavatarlist.h | 2 | ||||
| -rw-r--r-- | indra/newview/llconversationview.cpp | 4 | ||||
| -rwxr-xr-x | indra/newview/llfloaterimcontainer.cpp | 5 | ||||
| -rwxr-xr-x | indra/newview/llpanelpeople.cpp | 24 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_people_friends_view.xml | 4 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_people_nearby_view.xml | 4 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_people_recent_view.xml | 4 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/panel_preferences_setup.xml | 26 | 
10 files changed, 78 insertions, 20 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1ed4528cb1..96fbc8323b 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -11007,6 +11007,17 @@        <key>Value</key>        <integer>1</integer>      </map> +	<key>GlobalShowIconsOverride</key> +	<map> +		<key>Comment</key> +		<string>Show/hide people icons in any list. This option should be set back to 0 when icons are enabled locally for the lists</string> +		<key>Persist</key> +		<integer>1</integer> +		<key>Type</key> +		<string>Boolean</string> +		<key>Value</key> +		<integer>0</integer> +	</map>      <key>FriendsSortOrder</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp index 8846d1317d..c7fa375ada 100755 --- a/indra/newview/llavatarlist.cpp +++ b/indra/newview/llavatarlist.cpp @@ -63,16 +63,18 @@ bool LLAvatarList::contains(const LLUUID& id)  	return std::find(ids.begin(), ids.end(), id) != ids.end();  } -void LLAvatarList::toggleIcons() +void LLAvatarList::setIconsVisible(bool visible)  { +	if (visible == mShowIcons) // nothing to be done here. +		return; +  	// Save the new value for new items to use. -	mShowIcons = !mShowIcons; -	gSavedSettings.setBOOL(mIconParamName, mShowIcons); -	 +	mShowIcons = visible; +  	// Show/hide icons for all existing items.  	std::vector<LLPanel*> items;  	getItems(items); -	for( std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++) +	for (std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++)  	{  		static_cast<LLAvatarListItem*>(*it)->setAvatarIconVisible(mShowIcons);  	} @@ -187,6 +189,8 @@ void LLAvatarList::draw()  		updateAvatarNames();  	} +	setIconsVisible(gSavedSettings.getBOOL(mIconParamName) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")); +  	if (mDirty)  		refresh(); diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h index 3542577ae3..159ff991e6 100755 --- a/indra/newview/llavatarlist.h +++ b/indra/newview/llavatarlist.h @@ -76,7 +76,7 @@ public:  	void setSessionID(const LLUUID& session_id) { mSessionID = session_id; }  	const LLUUID& getSessionID() { return mSessionID; } -	void toggleIcons(); +	void setIconsVisible(bool visible);  	void setSpeakingIndicatorsVisible(bool visible);  	void showPermissions(bool visible);  	void sortByName(); diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 924a8d7206..3a6e4c4dfe 100644 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -503,7 +503,7 @@ void LLConversationViewSession::refresh()  		}  	} -	setIconsVisible(gSavedSettings.getBOOL("ChatShowIcons")); +	setIconsVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));  	requestArrange();  	// Do the regular upstream refresh @@ -572,7 +572,7 @@ void LLConversationViewParticipant::initFromParams(const LLConversationViewParti  BOOL LLConversationViewParticipant::postBuild()  {      mAvatarIcon = getChild<LLAvatarIconCtrl>("avatar_icon"); -	mAvatarIcon->setVisible(gSavedSettings.getBOOL("ChatShowIcons")); +	mAvatarIcon->setVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));  	mInfoBtn = getChild<LLButton>("info_btn");  	mInfoBtn->setClickedCallback(boost::bind(&LLConversationViewParticipant::onInfoBtnClick, this)); diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 1c9b2e6acb..0a5a6e8e13 100755 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -926,7 +926,8 @@ void LLFloaterIMContainer::onCustomAction(const LLSD& userdata)  	}  	if ("view_icons" == command)  	{ -		gSavedSettings.setBOOL("ChatShowIcons", !gSavedSettings.getBOOL("ChatShowIcons")); +		gSavedSettings.setBOOL("ChatShowIcons", !(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL("ChatShowIcons") && gSavedSettings.getBOOL("GlobalShowIconsOverride")));  	}  	if ("chat_preferences" == command)  	{ @@ -980,7 +981,7 @@ BOOL LLFloaterIMContainer::isActionChecked(const LLSD& userdata)  	}  	if ("view_icons" == command)  	{ -		return gSavedSettings.getBOOL("ChatShowIcons"); +		return gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride");  	}  	if ("Translating.Enabled" == command)  	{ diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index de4efc8612..6b86459d8f 100755 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -1326,8 +1326,12 @@ void LLPanelPeople::onFriendsViewSortMenuItemClicked(const LLSD& userdata)  	}  	else if (chosen_item == "view_icons")  	{ -		mAllFriendList->toggleIcons(); -		mOnlineFriendList->toggleIcons(); +		std::string param = mAllFriendList->getIconParamName(); +		gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		gSavedSettings.setBOOL(mOnlineFriendList->getIconParamName(), gSavedSettings.getBOOL(param)); +		mAllFriendList->setIconsVisible(gSavedSettings.getBOOL(param)); +		mOnlineFriendList->setIconsVisible(gSavedSettings.getBOOL(param));  	}  	else if (chosen_item == "view_permissions")  	{ @@ -1363,7 +1367,10 @@ void LLPanelPeople::onNearbyViewSortMenuItemClicked(const LLSD& userdata)  	}  	else if (chosen_item == "view_icons")  	{ -		mNearbyList->toggleIcons(); +		std::string param = mNearbyList->getIconParamName(); +		gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		mNearbyList->setIconsVisible(gSavedSettings.getBOOL(param));  	}  	else if (chosen_item == "sort_distance")  	{ @@ -1382,6 +1389,8 @@ bool LLPanelPeople::onNearbyViewSortMenuItemCheck(const LLSD& userdata)  		return sort_order == E_SORT_BY_NAME;  	if (item == "sort_distance")  		return sort_order == E_SORT_BY_DISTANCE; +	if (item == "view_icons") +		return gSavedSettings.getBOOL(mNearbyList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");  	return false;  } @@ -1400,7 +1409,10 @@ void LLPanelPeople::onRecentViewSortMenuItemClicked(const LLSD& userdata)  	}  	else if (chosen_item == "view_icons")  	{ -		mRecentList->toggleIcons(); +		std::string param = mRecentList->getIconParamName(); +		gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride"))); +		mRecentList->setIconsVisible(gSavedSettings.getBOOL(param));  	}  } @@ -1413,6 +1425,8 @@ bool LLPanelPeople::onFriendsViewSortMenuItemCheck(const LLSD& userdata)  		return sort_order == E_SORT_BY_NAME;  	if (item == "sort_status")  		return sort_order == E_SORT_BY_STATUS; +	if (item == "view_icons") +		return gSavedSettings.getBOOL(mAllFriendList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");  	return false;  } @@ -1426,6 +1440,8 @@ bool LLPanelPeople::onRecentViewSortMenuItemCheck(const LLSD& userdata)  		return sort_order == E_SORT_BY_MOST_RECENT;  	if (item == "sort_name")   		return sort_order == E_SORT_BY_NAME; +	if (item == "view_icons") +		return gSavedSettings.getBOOL(mRecentList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");  	return false;  } diff --git a/indra/newview/skins/default/xui/en/menu_people_friends_view.xml b/indra/newview/skins/default/xui/en/menu_people_friends_view.xml index 8790fde7c5..02c6cfc006 100755 --- a/indra/newview/skins/default/xui/en/menu_people_friends_view.xml +++ b/indra/newview/skins/default/xui/en/menu_people_friends_view.xml @@ -29,8 +29,8 @@       function="People.Friends.ViewSort.Action"       parameter="view_icons" />      <menu_item_check.on_check -     function="CheckControl" -     parameter="FriendsListShowIcons" /> +     function="People.Friends.ViewSort.CheckItem" +     parameter="view_icons" />    </menu_item_check>    <menu_item_check name="view_permissions" label="View Permissions Granted">      <menu_item_check.on_click diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml index da88ca9f4d..44b3d14e10 100755 --- a/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml +++ b/indra/newview/skins/default/xui/en/menu_people_nearby_view.xml @@ -39,8 +39,8 @@           function="People.Nearby.ViewSort.Action"           parameter="view_icons" />          <menu_item_check.on_check -         function="CheckControl" -         parameter="NearbyListShowIcons" /> +         function="People.Nearby.ViewSort.CheckItem" +         parameter="view_icons"/>      </menu_item_check>      <menu_item_check name ="view_map" label="View Map">          <menu_item_check.on_check diff --git a/indra/newview/skins/default/xui/en/menu_people_recent_view.xml b/indra/newview/skins/default/xui/en/menu_people_recent_view.xml index 1dbc90dd2b..cd2260d0c4 100755 --- a/indra/newview/skins/default/xui/en/menu_people_recent_view.xml +++ b/indra/newview/skins/default/xui/en/menu_people_recent_view.xml @@ -29,7 +29,7 @@       function="People.Recent.ViewSort.Action"       parameter="view_icons" />      <menu_item_check.on_check -     function="CheckControl" -     parameter="RecentListShowIcons" /> +     function="People.Recent.ViewSort.CheckItem" +     parameter="view_icons" />    </menu_item_check>  </toggleable_menu> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index b201e071ef..a8be517f3c 100755 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -313,4 +313,30 @@  		<button.commit_callback  		  function="Pref.Proxy" />    </button> +  <text +    type="string" +    length="1" +    follows="left|top" +    height="10" +    layout="topleft" +    left="30" +    name="People Icons:" +    mouse_opaque="false" +    top_pad="5" +    width="300"> +		People Icons: +  </text> +  <check_box +	top_delta="4" +	enabled="true" +	follows="left|top" +	height="14" +	initial_value="false" +	control_name="GlobalShowIconsOverride" +	label="Hide people icons (global override)" +	left_delta="50" +	mouse_opaque="true" +	name="global_show_icons_override" +	width="400"            +	top_pad="10"/>  </panel>  | 
