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
meow-7.2.2
Vadim Savchuk 2010-06-11 17:25:56 +03:00
parent eb1929c8f9
commit ad048d4b6a
2 changed files with 29 additions and 21 deletions

View File

@ -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);

View File

@ -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>