MAINT-7354 correction to misbehaving 'purge' and notification spam.
parent
d4d56f004a
commit
fb7be87beb
|
|
@ -60,7 +60,13 @@ LLFloaterPreviewTrash::~LLFloaterPreviewTrash()
|
|||
// static
|
||||
void LLFloaterPreviewTrash::show()
|
||||
{
|
||||
LLFloaterReg::showTypedInstance<LLFloaterPreviewTrash>("preview_trash");
|
||||
LLFloaterReg::showTypedInstance<LLFloaterPreviewTrash>("preview_trash", LLSD(), TRUE);
|
||||
}
|
||||
|
||||
// static
|
||||
bool LLFloaterPreviewTrash::isVisible()
|
||||
{
|
||||
return LLFloaterReg::instanceVisible("preview_trash");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class LLFloaterPreviewTrash
|
|||
{
|
||||
public:
|
||||
static void show();
|
||||
static bool isVisible();
|
||||
|
||||
LLFloaterPreviewTrash(const LLSD& key);
|
||||
~LLFloaterPreviewTrash();
|
||||
|
|
|
|||
|
|
@ -3437,8 +3437,16 @@ void LLInventoryModel::checkTrashOverflow()
|
|||
const LLUUID trash_id = findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
if (getDescendentsCountRecursive(trash_id, trash_max_capacity) >= trash_max_capacity)
|
||||
{
|
||||
LLNotificationsUtil::add("TrashIsFull", LLSD(), LLSD(),
|
||||
boost::bind(callback_preview_trash_folder, _1, _2));
|
||||
if (LLFloaterPreviewTrash::isVisible())
|
||||
{
|
||||
// bring to front
|
||||
LLFloaterPreviewTrash::show();
|
||||
}
|
||||
else
|
||||
{
|
||||
LLNotificationsUtil::add("TrashIsFull", LLSD(), LLSD(),
|
||||
boost::bind(callback_preview_trash_folder, _1, _2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -168,6 +168,7 @@ 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 )
|
||||
|
|
@ -1211,6 +1212,21 @@ void LLInventoryPanel::fileUploadLocation(const LLSD& userdata)
|
|||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool LLInventoryPanel::attachObject(const LLSD& userdata)
|
||||
{
|
||||
// Copy selected item UUIDs to a vector.
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ public:
|
|||
void doCreate(const LLSD& userdata);
|
||||
bool beginIMSession();
|
||||
void fileUploadLocation(const LLSD& userdata);
|
||||
void purgeSelectedItems();
|
||||
bool attachObject(const LLSD& userdata);
|
||||
static void idle(void* user_data);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue