MAINT-7383 show notifications for Purge item action in all inventory panels
parent
23af757686
commit
5bd00f8602
|
|
@ -929,17 +929,6 @@ void LLAvatarActions::shareWithAvatars(LLView * panel)
|
|||
LLNotificationsUtil::add("ShareNotification");
|
||||
}
|
||||
|
||||
|
||||
//static
|
||||
void LLAvatarActions::purgeSelectedItems()
|
||||
{
|
||||
const std::set<LLUUID> inventory_selected_uuids = LLAvatarActions::getInventorySelectedUUIDs();
|
||||
if (inventory_selected_uuids.empty()) return;
|
||||
LLSD args;
|
||||
args["COUNT"] = (S32)inventory_selected_uuids.size();
|
||||
LLNotificationsUtil::add("PurgeSelectedItems", args, LLSD(), &callbackPurgeSelectedItems);
|
||||
}
|
||||
|
||||
// static
|
||||
bool LLAvatarActions::canShareSelectedItems(LLInventoryPanel* inv_panel /* = NULL*/)
|
||||
{
|
||||
|
|
@ -1180,24 +1169,6 @@ bool LLAvatarActions::callbackAddFriendWithMessage(const LLSD& notification, con
|
|||
return false;
|
||||
}
|
||||
|
||||
bool LLAvatarActions::callbackPurgeSelectedItems(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
if (option == 0)
|
||||
{
|
||||
const std::set<LLUUID> inventory_selected_uuids = LLAvatarActions::getInventorySelectedUUIDs();
|
||||
if (inventory_selected_uuids.empty()) return false;
|
||||
|
||||
std::set<LLUUID>::const_iterator it = inventory_selected_uuids.begin();
|
||||
const std::set<LLUUID>::const_iterator it_end = inventory_selected_uuids.end();
|
||||
for (; it != it_end; ++it)
|
||||
{
|
||||
remove_inventory_object(*it, NULL);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// static
|
||||
bool LLAvatarActions::handleKick(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -125,8 +125,6 @@ public:
|
|||
*/
|
||||
static void shareWithAvatars(LLView * panel);
|
||||
|
||||
static void purgeSelectedItems();
|
||||
|
||||
/**
|
||||
* Block/unblock the avatar.
|
||||
*/
|
||||
|
|
@ -245,7 +243,6 @@ public:
|
|||
|
||||
private:
|
||||
static bool callbackAddFriendWithMessage(const LLSD& notification, const LLSD& response);
|
||||
static bool callbackPurgeSelectedItems(const LLSD& notification, const LLSD& response);
|
||||
static bool handleRemove(const LLSD& notification, const LLSD& response);
|
||||
static bool handlePay(const LLSD& notification, const LLSD& response, LLUUID avatar_id);
|
||||
static bool handleFreezeAvatar(const LLSD& notification, const LLSD& response);
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@
|
|||
#include "llinventorybridge.h"
|
||||
#include "llinventoryfunctions.h"
|
||||
#include "llinventorymodelbackgroundfetch.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "llpreview.h"
|
||||
#include "llsidepanelinventory.h"
|
||||
#include "lltrans.h"
|
||||
|
|
@ -168,7 +169,6 @@ LLInventoryPanel::LLInventoryPanel(const LLInventoryPanel::Params& p) :
|
|||
mCommitCallbackRegistrar.add("Inventory.BeginIMSession", boost::bind(&LLInventoryPanel::beginIMSession, this));
|
||||
mCommitCallbackRegistrar.add("Inventory.Share", boost::bind(&LLAvatarActions::shareWithAvatars, this));
|
||||
mCommitCallbackRegistrar.add("Inventory.FileUploadLocation", boost::bind(&LLInventoryPanel::fileUploadLocation, this, _2));
|
||||
mCommitCallbackRegistrar.add("Inventory.Purge", boost::bind(&LLInventoryPanel::purgeSelectedItems, this));
|
||||
}
|
||||
|
||||
LLFolderView * LLInventoryPanel::createFolderRoot(LLUUID root_id )
|
||||
|
|
@ -1216,16 +1216,28 @@ void LLInventoryPanel::purgeSelectedItems()
|
|||
{
|
||||
const std::set<LLFolderViewItem*> inventory_selected = mFolderRoot.get()->getSelectionList();
|
||||
if (inventory_selected.empty()) return;
|
||||
|
||||
std::set<LLFolderViewItem*>::const_iterator it = inventory_selected.begin();
|
||||
const std::set<LLFolderViewItem*>::const_iterator it_end = inventory_selected.end();
|
||||
for (; it != it_end; ++it)
|
||||
{
|
||||
LLUUID item_id = static_cast<LLFolderViewModelItemInventory*>((*it)->getViewModelItem())->getUUID();
|
||||
remove_inventory_object(item_id, NULL);
|
||||
}
|
||||
LLSD args;
|
||||
args["COUNT"] = (S32)inventory_selected.size();
|
||||
LLNotificationsUtil::add("PurgeSelectedItems", args, LLSD(), boost::bind(&LLInventoryPanel::callbackPurgeSelectedItems, this, _1, _2));
|
||||
}
|
||||
|
||||
void LLInventoryPanel::callbackPurgeSelectedItems(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
if (option == 0)
|
||||
{
|
||||
const std::set<LLFolderViewItem*> inventory_selected = mFolderRoot.get()->getSelectionList();
|
||||
if (inventory_selected.empty()) return;
|
||||
|
||||
std::set<LLFolderViewItem*>::const_iterator it = inventory_selected.begin();
|
||||
const std::set<LLFolderViewItem*>::const_iterator it_end = inventory_selected.end();
|
||||
for (; it != it_end; ++it)
|
||||
{
|
||||
LLUUID item_id = static_cast<LLFolderViewModelItemInventory*>((*it)->getViewModelItem())->getUUID();
|
||||
remove_inventory_object(item_id, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool LLInventoryPanel::attachObject(const LLSD& userdata)
|
||||
{
|
||||
|
|
@ -1464,6 +1476,11 @@ void LLInventoryPanel::updateSelection()
|
|||
|
||||
void LLInventoryPanel::doToSelected(const LLSD& userdata)
|
||||
{
|
||||
if (("purge" == userdata.asString()))
|
||||
{
|
||||
purgeSelectedItems();
|
||||
return;
|
||||
}
|
||||
LLInventoryAction::doToSelected(mInventory, mFolderRoot.get(), userdata.asString());
|
||||
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -233,6 +233,8 @@ public:
|
|||
// Clean up stuff when the folder root gets deleted
|
||||
void clearFolderRoot();
|
||||
|
||||
void callbackPurgeSelectedItems(const LLSD& notification, const LLSD& response);
|
||||
|
||||
protected:
|
||||
void openStartFolderOrMyInventory(); // open the first level of inventory
|
||||
void onItemsCompletion(); // called when selected items are complete
|
||||
|
|
|
|||
|
|
@ -118,7 +118,6 @@ LLPanelMainInventory::LLPanelMainInventory(const LLPanel::Params& p)
|
|||
mCommitCallbackRegistrar.add("Inventory.ResetFilters", boost::bind(&LLPanelMainInventory::resetFilters, this));
|
||||
mCommitCallbackRegistrar.add("Inventory.SetSortBy", boost::bind(&LLPanelMainInventory::setSortBy, this, _2));
|
||||
mCommitCallbackRegistrar.add("Inventory.Share", boost::bind(&LLAvatarActions::shareWithAvatars, this));
|
||||
mCommitCallbackRegistrar.add("Inventory.Purge", boost::bind(&LLAvatarActions::purgeSelectedItems));
|
||||
|
||||
mSavedFolderState = new LLSaveFolderState();
|
||||
mSavedFolderState->setApply(FALSE);
|
||||
|
|
|
|||
|
|
@ -518,7 +518,8 @@
|
|||
layout="topleft"
|
||||
name="Purge Item">
|
||||
<menu_item_call.on_click
|
||||
function="Inventory.Purge"/>
|
||||
function="Inventory.DoToSelected"
|
||||
parameter="purge"/>
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Restore Item"
|
||||
|
|
|
|||
Loading…
Reference in New Issue