diff options
author | andreykproductengine <akleshchev@productengine.com> | 2014-07-25 17:27:38 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2014-07-25 17:27:38 +0300 |
commit | 906e2024580cd824e10e8c6799f13453fb2acd89 (patch) | |
tree | c5f8b6e379e2a48174a9705c8d85503229ee03fd /indra | |
parent | f40dd76521c9ddab1fcd3ddca029802cf3bdd99b (diff) |
MAINT-4086 FIXED Limit the number items "Replace Current Outfit" or "Wear" applies to
COF folder is also limited now.
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/newview/llinventorybridge.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 13236ea7d9..33e557cddd 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2279,6 +2279,29 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat, } } } + U32 max_items_to_wear = gSavedSettings.getU32("WearFolderLimit"); + if (is_movable + && move_is_into_current_outfit + && descendent_items.size() > max_items_to_wear) + { + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false); + gInventory.collectDescendentsIf(cat_id, + cats, + items, + LLInventoryModel::EXCLUDE_TRASH, + not_worn); + + if (items.size() > max_items_to_wear) + { + // Can't move 'large' folders into current outfit: MAINT-4086 + is_movable = FALSE; + LLStringUtil::format_map_t args; + args["AMOUNT"] = llformat("%d", max_items_to_wear); + tooltip_msg = LLTrans::getString("TooltipTooManyWearables",args); + } + } if (is_movable && move_is_into_trash) { for (S32 i=0; i < descendent_items.size(); ++i) |