diff options
author | Rider Linden <rider@lindenlab.com> | 2015-04-14 09:34:49 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2015-04-14 09:34:49 -0700 |
commit | 82ae214f6a367e17dd335e80e2444cf672108821 (patch) | |
tree | 5a2ebb115b0674698cfb0d9cbd879add63d88ece /indra/newview/llpreview.cpp | |
parent | fe8dec32dbdd6085dd582c49134551638561ca0e (diff) | |
parent | a49e11efd9e249cc6d3cf5bcffaafe1e831f2fa9 (diff) |
Merged lindenlab/viewer-tools-update into default
Diffstat (limited to 'indra/newview/llpreview.cpp')
-rwxr-xr-x | indra/newview/llpreview.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp index 398f4e6e42..bf2652cb49 100755 --- a/indra/newview/llpreview.cpp +++ b/indra/newview/llpreview.cpp @@ -39,6 +39,7 @@ #include "llradiogroup.h" #include "llassetstorage.h" #include "llviewerassettype.h" +#include "llviewermessage.h" #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "lldbstrings.h" @@ -53,7 +54,7 @@ LLPreview::LLPreview(const LLSD& key) : LLFloater(key), - mItemUUID(key.asUUID()), + mItemUUID(key.has("itemid") ? key.get("itemid").asUUID() : key.asUUID()), mObjectUUID(), // set later by setObjectID() mCopyToInvBtn( NULL ), mForceClose(FALSE), @@ -369,6 +370,20 @@ void LLPreview::onBtnCopyToInv(void* userdata) self->mNotecardInventoryID, item); } + else if (self->mObjectUUID.notNull()) + { + // item is in in-world inventory + LLViewerObject* object = gObjectList.findObject(self->mObjectUUID); + LLPermissions perm(item->getPermissions()); + if(object + &&(perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID()) + && perm.allowTransferTo(gAgent.getID()))) + { + // copy to default folder + set_dad_inventory_item(item, LLUUID::null); + object->moveInventory(LLUUID::null, item->getUUID()); + } + } else { LLPointer<LLInventoryCallback> cb = NULL; @@ -453,7 +468,6 @@ LLMultiPreview::LLMultiPreview() setTitle(LLTrans::getString("MultiPreviewTitle")); buildTabContainer(); setCanResize(TRUE); - mAutoResize = FALSE; } void LLMultiPreview::onOpen(const LLSD& key) |