Fixed major bug EXT-6606 (Set As Profile Pic uploads and charges user L$10 without confirmation).

Added upload confirmation dialog.

Reviewed by Mike: https://codereview.productengine.com/secondlife/r/217/

--HG--
branch : product-engine
meow-7.2.2
Vadim Savchuk 2010-04-12 15:14:51 +03:00
parent b52d7ba3a7
commit 85f1954a17
2 changed files with 36 additions and 2 deletions

View File

@ -168,6 +168,8 @@ public:
void setSnapshotBufferType(LLViewerWindow::ESnapshotType type) { mSnapshotBufferType = type; }
void updateSnapshot(BOOL new_snapshot, BOOL new_thumbnail = FALSE, F32 delay = 0.f);
LLFloaterPostcard* savePostcard();
void confirmSavingTexture(bool set_as_profile_pic = false);
bool onSavingTextureConfirmed(const LLSD& notification, const LLSD& response, bool set_as_profile_pic);
void saveTexture(bool set_as_profile_pic = false);
BOOL saveLocal();
void saveWeb(std::string url);
@ -983,6 +985,26 @@ void profile_pic_upload_callback(const LLUUID& uuid)
floater->setAsProfilePic(uuid);
}
void LLSnapshotLivePreview::confirmSavingTexture(bool set_as_profile_pic)
{
LLSD args;
args["AMOUNT"] = "10"; // *TODO: there's currently no way to avoid hardcoding the upload price
LLNotificationsUtil::add("UploadConfirmation", args, LLSD(),
boost::bind(&LLSnapshotLivePreview::onSavingTextureConfirmed, this, _1, _2, set_as_profile_pic));
}
bool LLSnapshotLivePreview::onSavingTextureConfirmed(const LLSD& notification, const LLSD& response, bool set_as_profile_pic)
{
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
if (option == 0)
{
saveTexture(set_as_profile_pic);
}
return false;
}
void LLSnapshotLivePreview::saveTexture(bool set_as_profile_pic)
{
@ -1746,7 +1768,7 @@ void LLFloaterSnapshot::Impl::onCommitProfilePic(LLFloaterSnapshot* view)
if(previewp)
{
previewp->saveTexture(true);
previewp->confirmSavingTexture(true);
}
}
@ -1768,7 +1790,7 @@ void LLFloaterSnapshot::Impl::onCommitSnapshot(LLFloaterSnapshot* view, LLSnapsh
}
else if (type == LLSnapshotLivePreview::SNAPSHOT_TEXTURE)
{
previewp->saveTexture();
previewp->confirmSavingTexture();
}
else if (type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD)
{

View File

@ -4375,6 +4375,18 @@ Uploading in-world and web site snapshots...
(Takes about 5 minutes.)
</notification>
<notification
icon="alertmodal.tga"
name="UploadConfirmation"
type="alertmodal">
Uploading costs L$[AMOUNT].
Do you wish to proceed?
<usetemplate
name="okcancelbuttons"
notext="Cancel"
yestext="Upload"/>
</notification>
<notification
icon="notify.tga"
name="UploadPayment"