diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-11 17:25:56 +0300 | 
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-11 17:25:56 +0300 | 
| commit | ad048d4b6a114c11848ecf3147f1be93db00abe2 (patch) | |
| tree | cfa534df543e48a0de37e53c51da5e7bf362ae76 | |
| parent | eb1929c8f97f256264cac620871e4b498d985d68 (diff) | |
EXT-7807 FIXED Hide inappropriate outfit context menu items.
Hide the following outfit context menu items instead of disabling them:
* Wear - Replace Current Outfit
* Wear - Add to Current Outfit"
* Take Off - Remove from Current Outfit
* Edit Outfit
* Delete Outfit
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/565/
--HG--
branch : product-engine
| -rw-r--r-- | indra/newview/lloutfitslist.cpp | 30 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_outfit_tab.xml | 20 | 
2 files changed, 29 insertions, 21 deletions
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index bca292fa4a..03df2d2b20 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -90,17 +90,33 @@ protected:  		registrar.add("Outfit.Delete", boost::bind(deleteOutfit, selected_id));  		enable_registrar.add("Outfit.OnEnable", boost::bind(&OutfitContextMenu::onEnable, this, _2)); +		enable_registrar.add("Outfit.OnVisible", boost::bind(&OutfitContextMenu::onVisible, this, _2));  		return createFromFile("menu_outfit_tab.xml");  	} -	bool onEnable(const LLSD& data) +	bool onEnable(LLSD::String param) +	{ +		LLUUID outfit_cat_id = mUUIDs.back(); + +		if ("rename" == param) +		{ +			return get_is_category_renameable(&gInventory, outfit_cat_id); +		} + +		return true; +	} + +	bool onVisible(LLSD::String param)  	{ -		std::string param = data.asString();  		LLUUID outfit_cat_id = mUUIDs.back();  		bool is_worn = LLAppearanceMgr::instance().getBaseOutfitUUID() == outfit_cat_id; -		if ("wear_replace" == param) +		if ("edit" == param) +		{ +			return is_worn; +		} +		else if ("wear_replace" == param)  		{  			return !is_worn;  		} @@ -112,14 +128,6 @@ protected:  		{  			return is_worn;  		} -		else if ("edit" == param) -		{ -			return is_worn; -		} -		else if ("rename" == param) -		{ -			return get_is_category_renameable(&gInventory, outfit_cat_id); -		}  		else if ("delete" == param)  		{  			return LLAppearanceMgr::instance().getCanRemoveOutfit(outfit_cat_id); diff --git a/indra/newview/skins/default/xui/en/menu_outfit_tab.xml b/indra/newview/skins/default/xui/en/menu_outfit_tab.xml index 67559638d9..e084216a69 100644 --- a/indra/newview/skins/default/xui/en/menu_outfit_tab.xml +++ b/indra/newview/skins/default/xui/en/menu_outfit_tab.xml @@ -8,8 +8,8 @@       name="wear_replace">          <on_click           function="Outfit.WearReplace" /> -        <on_enable -         function="Outfit.OnEnable" +        <on_visible +         function="Outfit.OnVisible"           parameter="wear_replace" />      </menu_item_call>      <menu_item_call @@ -18,8 +18,8 @@       name="wear_add">          <on_click           function="Outfit.WearAdd" /> -        <on_enable -         function="Outfit.OnEnable" +        <on_visible +         function="Outfit.OnVisible"           parameter="wear_add" />      </menu_item_call>      <menu_item_call @@ -28,8 +28,8 @@       name="take_off">          <on_click           function="Outfit.TakeOff" /> -        <on_enable -         function="Outfit.OnEnable" +        <on_visible +         function="Outfit.OnVisible"           parameter="take_off" />      </menu_item_call>      <menu_item_call @@ -38,8 +38,8 @@       name="edit">          <on_click           function="Outfit.Edit" /> -        <on_enable -         function="Outfit.OnEnable" +        <on_visible +         function="Outfit.OnVisible"           parameter="edit" />      </menu_item_call>      <menu_item_separator /> @@ -59,8 +59,8 @@       name="delete">          <on_click           function="Outfit.Delete" /> -        <on_enable -         function="Outfit.OnEnable" +        <on_visible +         function="Outfit.OnVisible"           parameter="delete" />      </menu_item_call>  </context_menu>  | 
