diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-17 19:03:57 +0300 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-06-17 19:03:57 +0300 |
commit | 9f996443604a902e03de87d2d14545b4adffa69c (patch) | |
tree | 8ebeb38bfe7f09fdcb82173c5d2607242f0d62f5 /indra/newview/lloutfitslist.cpp | |
parent | 8d2ddff47e973c1692b42081e74dba3ad7745fdd (diff) |
EXT-7722 Fixed "Add to COF" and "Remove from COF" outfit context menu items to be enabled when appropriate and work properly.
Work on "Take Off - Remove from Current Outfit" and "Wear - Add to Current Outfit" menu options:
- The menu items of the outfit context menu and the My Outfits gear menu are now disabled
when inappropriate instead of being hidden.
- The menu items get enabled/disabled depending on whether you can wear (take off) anything from the selected outfit.
(was: depending on whether you're wearing the outfit)
- Changed the way the options work: they now only operate on clothes and attachments.
"Add to COF" now only adds those body parts that are missing in COF;
"Remove from COF" doesn't touch body parts at all.
Without this change both "Add" and "Remove" options would be available simultaneously, because
any valid outfit contains body parts. I think that would be confusing.
And you don't expect you body parts to be replaced when doing "Add to COF'. (that's addition, not replacement)
Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/585/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/lloutfitslist.cpp')
-rw-r--r-- | indra/newview/lloutfitslist.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 8c6189353e..73c850e1fb 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -102,6 +102,14 @@ protected: { return get_is_category_renameable(&gInventory, outfit_cat_id); } + else if ("wear_add" == param) + { + return LLAppearanceMgr::getCanAddToCOF(outfit_cat_id); + } + else if ("take_off" == param) + { + return LLAppearanceMgr::getCanRemoveFromCOF(outfit_cat_id); + } return true; } @@ -119,14 +127,6 @@ protected: { return !is_worn; } - else if ("wear_add" == param) - { - return !is_worn; - } - else if ("take_off" == param) - { - return is_worn; - } else if ("delete" == param) { return LLAppearanceMgr::instance().getCanRemoveOutfit(outfit_cat_id); |