diff options
author | Paul ProductEngine <pguslisty@productengine.com> | 2011-12-13 17:27:54 +0200 |
---|---|---|
committer | Paul ProductEngine <pguslisty@productengine.com> | 2011-12-13 17:27:54 +0200 |
commit | aba090ab9027e5a5c1e9eb114ecca12b9eafa978 (patch) | |
tree | 64f77ca94916056f9b9b6e4b45f2af5f19f17864 /indra/newview/llavataractions.cpp | |
parent | e859c3446b5c631fe0a9806434aa19b64a0d9113 (diff) |
EXP-1599 FIXED (Sharing multiple selected inventory folders only shares one folder (no warning for user))
- In case of sharing multiple folders, make the confirmation dialog contain a warning that only one folder can be shared at a time.
Diffstat (limited to 'indra/newview/llavataractions.cpp')
-rwxr-xr-x | indra/newview/llavataractions.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 8ca621538f..7abecc643b 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -680,12 +680,29 @@ namespace action_give_inventory std::string items; build_items_string(inventory_selected_uuids, items); + int folders_count = 0; + std::set<LLUUID>::const_iterator it = inventory_selected_uuids.begin(); + + //traverse through selected inventory items and count folders among them + for ( ; it != inventory_selected_uuids.end() && folders_count <=1 ; ++it) + { + LLViewerInventoryCategory* inv_cat = gInventory.getCategory(*it); + if (NULL != inv_cat) + { + folders_count++; + } + } + + // EXP-1599 + // In case of sharing multiple folders, make the confirmation + // dialog contain a warning that only one folder can be shared at a time. + std::string notification = (folders_count > 1) ? "ShareFolderConfirmation" : "ShareItemsConfirmation"; LLSD substitutions; substitutions["RESIDENTS"] = residents; substitutions["ITEMS"] = items; LLShareInfo::instance().mAvatarNames = avatar_names; LLShareInfo::instance().mAvatarUuids = avatar_uuids; - LLNotificationsUtil::add("ShareItemsConfirmation", substitutions, LLSD(), &give_inventory_cb); + LLNotificationsUtil::add(notification, substitutions, LLSD(), &give_inventory_cb); } } |