Incoming changes from two different project repos left viewer-development with
LLInventoryModel::removeItem() and removeCategory() plus free functions
remove_item() and remove_category() in llinventoryfunctions.cpp.
remove_category() was actually the better implementation; migrated its body
into LLInventoryModel::removeCategory(). Clearly the previous state of affairs
-- with LLInventoryModel::removeItem() plus a remove_category() free function
in a very different source file -- fooled two different developers into
overlooking the other of the pair. Unfortunately we each added different
"missing" functions, leaving us with a complete set of four.
Fix existing references to remove_item() and remove_category() free functions.
It's not really clear why they're in llinventoryfunctions.{h,cpp} instead of
LLInventoryModel, and in fact LLInventoryModel::removeItem() already contains
code essentially cloned from change_item_parent() -- or perhaps vice-versa.
This changeset addresses only migrating the functions, and fixing up existing
references, to simplify code review.
- Dragging folder into Recent Items disabled, but allowed within Recent Items.
- Dragging Contents folder from task inventory disabled.
- Filtering folder contents upon dragging to any inventory panel added, to make the behavior consistent with items filtering during DnD.
Added filtering the items on DnD, allowing to drop only the items which pass the filter in the destinatination inventory panel.
Added filtering the items from object contents and notecards.
Changed handle type for LLInventoryPanel in LLInvFVBridge to remove some extra dynamic casts.
EXP-1834 FIX -- Right click context menus on Folders in Merchant Outbox and Library folders can show all inventory options including admin options
EXP-1835 FIX -- Right clicking on a folder and selecting New Folder creates folder under My Inventory not within selected folder
* Updated folder context menu building to build full options in one step or
trigger a load which will rebuild top-level context menu for all selected
items when complete. Previous code had an implicit assumption that the
selected folder was the only selection after background fetch.
* Refactored LLFolderBridge::buildContextMenu fetch to clear and rebuild basic
context menu options after the fetch rather than trying to merge the two.
* Modified build context menu code to not disable items that are invisible so
secondary background fetch can coalesce menu options with proper state.
* Removed "Move to Merchant Outbox" context menu option.
* Updated context menu default enabled state to use the last state rather than
TRUE. Once per frame, the states are all reset to TRUE so this has the effect
of AND'ing together successive buildContextMenu functions rather than ignoring
previous states.
EXP-1810 PROGRESS -- Cannot resize Received items panel in Inventory window
* Updated "copy to merchant outbox" context menu and drag and drop code to block calling cards.
* Changed user_resize to true on the "Received Items" panel and the main inventory panel