// static void LLPreview::onBtnCopyToInv(void* userdata) { LLPreview* self = (LLPreview*) userdata; LLInventoryItem *item = self->mAuxItem; if(item && item->getUUID().notNull()) { // Copy to inventory if (self->mNotecardInventoryID.notNull()) { copy_inventory_from_notecard(self->mObjectID, self->mNotecardInventoryID, item); } else { LLPointer<LLInventoryCallback> cb = NULL; copy_inventory_item( gAgent.getID(), item->getPermissions().getOwner(), item->getUUID(), LLUUID::null, std::string(), cb); } } self->close(); }
// static void LLPreview::onDiscardBtn(void* data) { LLPreview* self = (LLPreview*)data; const LLViewerInventoryItem* item = self->getItem(); if (!item) return; self->mForceClose = TRUE; self->close(); // Move the item to the trash LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH); if (item->getParentUUID() != trash_id) { LLInventoryModel::update_list_t update; LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1); update.push_back(old_folder); LLInventoryModel::LLCategoryUpdate new_folder(trash_id, 1); update.push_back(new_folder); gInventory.accountForUpdate(update); LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item); new_item->setParent(trash_id); // no need to restamp it though it's a move into trash because // it's a brand new item already. new_item->updateParentOnServer(FALSE); gInventory.updateItem(new_item); gInventory.notifyObservers(); } }
// static void LLPreview::hide(const LLUUID& item_uuid, BOOL no_saving /* = FALSE */ ) { preview_map_t::iterator found_it = LLPreview::sInstances.find(item_uuid); if(found_it != LLPreview::sInstances.end()) { LLPreview* instance = found_it->second; if ( no_saving ) { instance->mForceClose = TRUE; } instance->close(); } }
// static void LLPreview::onKeepBtn(void* data) { LLPreview* self = (LLPreview*)data; self->close(); }