Skip to content
Snippets Groups Projects
Commit 16aec9dc authored by akl's avatar akl
Browse files

MAINT-2588 FIXED User cannot delete items from content of other object, using...

MAINT-2588 FIXED User cannot delete items from content of other object, using 'Delete' button on keyboard.
parent dd8b3247
No related branches found
No related tags found
No related merge requests found
...@@ -2011,3 +2011,46 @@ void LLPanelObjectInventory::clearItemIDs() ...@@ -2011,3 +2011,46 @@ void LLPanelObjectInventory::clearItemIDs()
mItemMap.clear(); mItemMap.clear();
} }
BOOL LLPanelObjectInventory::handleKeyHere( KEY key, MASK mask )
{
BOOL handled = FALSE;
switch (key)
{
case KEY_DELETE:
case KEY_BACKSPACE:
// Delete selected items if delete or backspace key hit on the inventory panel
// Note: on Mac laptop keyboards, backspace and delete are one and the same
if (isSelectionRemovable() && mask == MASK_NONE)
{
LLInventoryAction::doToSelected(&gInventory, mFolders, "delete");
handled = TRUE;
}
break;
}
return handled;
}
BOOL LLPanelObjectInventory::isSelectionRemovable()
{
if (!mFolders || !mFolders->getRoot())
{
return FALSE;
}
std::set<LLFolderViewItem*> selection_set = mFolders->getRoot()->getSelectionList();
if (selection_set.empty())
{
return FALSE;
}
for (std::set<LLFolderViewItem*>::iterator iter = selection_set.begin();
iter != selection_set.end();
++iter)
{
LLFolderViewItem *item = *iter;
const LLFolderViewModelItemInventory *listener = dynamic_cast<const LLFolderViewModelItemInventory*>(item->getViewModelItem());
if (!listener || !listener->isItemRemovable() || listener->isItemInTrash())
{
return FALSE;
}
}
return TRUE;
}
...@@ -94,6 +94,9 @@ class LLPanelObjectInventory : public LLPanel, public LLVOInventoryListener ...@@ -94,6 +94,9 @@ class LLPanelObjectInventory : public LLPanel, public LLVOInventoryListener
void removeItemID(const LLUUID& id); void removeItemID(const LLUUID& id);
void clearItemIDs(); void clearItemIDs();
BOOL handleKeyHere( KEY key, MASK mask );
BOOL isSelectionRemovable();
private: private:
std::map<LLUUID, LLFolderViewItem*> mItemMap; std::map<LLUUID, LLFolderViewItem*> mItemMap;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment