summaryrefslogtreecommitdiff
path: root/indra/newview/llselectmgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llselectmgr.cpp')
-rw-r--r--indra/newview/llselectmgr.cpp45
1 files changed, 15 insertions, 30 deletions
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 81decdf40a..ae4be6173b 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -2695,7 +2695,8 @@ void LLSelectMgr::selectDelete()
return;
}
- LLObjectSelectionHandle* selection_handlep = new LLObjectSelectionHandle(getSelection());
+ LLNotification::Params params("ConfirmObjectDeleteLock");
+ params.functor(boost::bind(&LLSelectMgr::confirmDelete, _1, _2, getSelection()));
if(locked_but_deleteable_object ||
no_copy_but_deleteable_object ||
@@ -2711,72 +2712,55 @@ void LLSelectMgr::selectDelete()
if(locked_but_deleteable_object && !no_copy_but_deleteable_object && all_owned_by_you)
{
//Locked only
- gViewerWindow->alertXml( "ConfirmObjectDeleteLock",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteLock");
}
else if(!locked_but_deleteable_object && no_copy_but_deleteable_object && all_owned_by_you)
{
//No Copy only
- gViewerWindow->alertXml( "ConfirmObjectDeleteNoCopy",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteNoCopy");
}
else if(!locked_but_deleteable_object && !no_copy_but_deleteable_object && !all_owned_by_you)
{
//not owned only
- gViewerWindow->alertXml( "ConfirmObjectDeleteNoOwn",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteNoOwn");
}
else if(locked_but_deleteable_object && no_copy_but_deleteable_object && all_owned_by_you)
{
//locked and no copy
- gViewerWindow->alertXml( "ConfirmObjectDeleteLockNoCopy",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteLockNoCopy");
}
else if(locked_but_deleteable_object && !no_copy_but_deleteable_object && !all_owned_by_you)
{
//locked and not owned
- gViewerWindow->alertXml( "ConfirmObjectDeleteLockNoOwn",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteLockNoOwn");
}
else if(!locked_but_deleteable_object && no_copy_but_deleteable_object && !all_owned_by_you)
{
//no copy and not owned
- gViewerWindow->alertXml( "ConfirmObjectDeleteNoCopyNoOwn",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteNoCopyNoOwn");
}
else
{
//locked, no copy and not owned
- gViewerWindow->alertXml( "ConfirmObjectDeleteLockNoCopyNoOwn",
- &LLSelectMgr::confirmDelete,
- selection_handlep);
+ params.name("ConfirmObjectDeleteLockNoCopyNoOwn");
}
-
-
+ LLNotifications::instance().add(params);
}
else
{
- confirmDelete(0, (void*)selection_handlep);
+ LLNotifications::instance().forceResponse(params, 0);
}
}
// static
-void LLSelectMgr::confirmDelete(S32 option, void* data)
+bool LLSelectMgr::confirmDelete(const LLSD& notification, const LLSD& response, LLObjectSelectionHandle handle)
{
- LLObjectSelectionHandle handle = *(LLObjectSelectionHandle*)data;
- delete (LLObjectSelectionHandle*)data;
-
+ S32 option = LLNotification::getSelectedOption(notification, response);
if (!handle->getObjectCount())
{
llwarns << "Nothing to delete!" << llendl;
- return;
+ return false;
}
switch(option)
@@ -2815,6 +2799,7 @@ void LLSelectMgr::confirmDelete(S32 option, void* data)
default:
break;
}
+ return false;
}