void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) { // [RLVa:KB] - Checked: 2009-11-11 (RLVa-1.1.0a) | Modified: RLVa-1.1.0a if (gRlvHandler.hasBehaviour(RLV_BHVR_VIEWTEXTURE)) { RlvUtil::notifyBlockedViewXXX(LLAssetType::AT_TEXTURE); return; } // [/RLVa:KB] // See if we can bring an existing preview to the front // *NOTE: Just for embedded Texture , we should use getAssetUUID(), // not getUUID(), because LLPreviewTexture pass in AssetUUID into // LLPreview constructor ItemUUID parameter. if( !LLPreview::show( item->getAssetUUID() ) ) { // There isn't one, so make a new preview if(item) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewTextureRect"); rect.translate( left - rect.mLeft, top - rect.mTop ); LLPreviewTexture* preview = new LLPreviewTexture("preview texture", rect, item->getName(), item->getAssetUUID(), TRUE); preview->setAuxItem( item ); preview->setNotecardInfo(mNotecardInventoryID, mObjectID); } } }
void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item ) { // See if we can bring an existing preview to the front // *NOTE: Just for embedded Texture , we should use getAssetUUID(), // not getUUID(), because LLPreviewTexture pass in AssetUUID into // LLPreview constructor ItemUUID parameter. if( !LLPreview::show( item->getAssetUUID() ) ) { // There isn't one, so make a new preview if(item) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewTextureRect"); rect.translate( left - rect.mLeft, top - rect.mTop ); LLPreviewTexture* preview = new LLPreviewTexture("preview texture", rect, item->getName(), item->getAssetUUID(), TRUE); preview->setAuxItem( item ); preview->setNotecardInfo(mNotecardInventoryID, mObjectID); } } }
// static void LLPreviewTexture::onSaveAsBtn(LLUICtrl* ctrl, void* data) { LLPreviewTexture* self = (LLPreviewTexture*)data; std::string value = ctrl->getValue().asString(); if (value == "format_png") { self->saveAs(LLPreviewTexture::FORMAT_PNG); } else if (value == "format_tga") { self->saveAs(LLPreviewTexture::FORMAT_TGA); } else { // <FS:PP> Allow to use user-defined default save format for textures // self->saveAs(LLPreviewTexture::FORMAT_TGA); if (!gSavedSettings.getBOOL("FSTextureDefaultSaveAsFormat")) { self->saveAs(LLPreviewTexture::FORMAT_TGA); } else { self->saveAs(LLPreviewTexture::FORMAT_PNG); } // </FS:PP> } }
// static void LLPreviewTexture::saveAsCallback(LLFilePicker::ESaveFilter type, std::string& filename, void* user_data) { LLPreviewTexture* self = (LLPreviewTexture*)user_data; if (!self || !sList.count(self)) { LLNotifications::instance().add("TextureSavingAborted"); } if (filename.empty()) return; // remember the user-approved/edited file name. self->mSaveFileName = filename; self->mLoadingFullImage = TRUE; self->getWindow()->incBusyCount(); self->mImage->forceToSaveRawImage(0) ;//re-fetch the raw image if the old one is removed. if (type == LLFilePicker::FFSAVE_PNG) { self->mImage->setLoadedCallback(LLPreviewTexture::onFileLoadedForSavePNG, 0, TRUE, FALSE, new LLUUID(self->mItemUUID), &self->mCallbackTextureList); } else { self->mImage->setLoadedCallback(LLPreviewTexture::onFileLoadedForSaveTGA, 0, TRUE, FALSE, new LLUUID(self->mItemUUID), &self->mCallbackTextureList); } }
void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) { // *NOTE: Just for embedded Texture , we should use getAssetUUID(), // not getUUID(), because LLPreviewTexture pass in AssetUUID into // LLPreview constructor ItemUUID parameter. if (!item) return; LLPreviewTexture* preview = LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", LLSD(item->getAssetUUID()), TAKE_FOCUS_YES); if (preview) { preview->setAuxItem( item ); preview->setNotecardInfo(mNotecardInventoryID, mObjectID); } }
void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) { // *NOTE: Just for embedded Texture , we should use getAssetUUID(), // not getUUID(), because LLPreviewTexture pass in AssetUUID into // LLPreview constructor ItemUUID parameter. if (!item) return; // LLPreviewTexture* preview = LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", LLSD(item->getAssetUUID()), TAKE_FOCUS_YES); // [SL:KB] - Patch: UI-Notecards | Checked: 2010-09-05 (Catznip-2.1.2a) | Added: Catznip-2.1.2a // If there's already a preview of the texture open then we do want it to take focus, otherwise leave it up to the debug setting BOOL fHasInstance = (NULL != LLFloaterReg::findTypedInstance<LLPreviewTexture>("preview_texture", LLSD(item->getAssetUUID()))); BOOL fTakeFocus = ( (fHasInstance) || (gSavedSettings.getBOOL("EmbeddedTextureStealsFocus")) ) ? TAKE_FOCUS_YES : TAKE_FOCUS_NO; LLPreviewTexture* preview = LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", LLSD(item->getAssetUUID()), fTakeFocus); // [/SL:KB] if (preview) { preview->setAuxItem( item ); preview->setNotecardInfo(mNotecardInventoryID, mObjectID); } }
void LLViewerTextEditor::openEmbeddedTexture( LLInventoryItem* item, llwchar wc ) { // *NOTE: Just for embedded Texture , we should use getAssetUUID(), // not getUUID(), because LLPreviewTexture pass in AssetUUID into // LLPreview constructor ItemUUID parameter. if (!item) return; LLPreviewTexture* preview = LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", LLSD(item->getAssetUUID()), TAKE_FOCUS_YES); if (preview) { preview->setAuxItem( item ); preview->setNotecardInfo(mNotecardInventoryID, mObjectID); if (preview->hasString("Title")) { LLStringUtil::format_map_t args; args["[NAME]"] = item->getName(); LLUIString title = preview->getString("Title", args); preview->setTitle(title.getString()); } preview->getChild<LLUICtrl>("desc")->setValue(item->getDescription()); } }
// static void LLPreviewTexture::onSaveAsBtn(void* data) { LLPreviewTexture* self = (LLPreviewTexture*)data; self->saveAs(); }
void LLLocalInventory::open(LLUUID item_id) { LLViewerInventoryItem* item = gInventory.getItem(item_id); if(!item) { llwarns << "Trying to open non-existent item" << llendl; return; } LLAssetType::EType type = item->getType(); if(type == LLAssetType::AT_SOUND) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewSoundRect"); rect.translate(left - rect.mLeft, top - rect.mTop); LLPreviewSound* floaterp; floaterp = new LLPreviewSound("Preview sound", rect, "", item_id); floaterp->setFocus(TRUE); gFloaterView->adjustToFitScreen(floaterp, FALSE); } else if(type == LLAssetType::AT_ANIMATION) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewAnimRect"); rect.translate(left - rect.mLeft, top - rect.mTop); LLPreviewAnim* floaterp; floaterp = new LLPreviewAnim("Preview anim", rect, "", item_id, LLPreviewAnim::NONE); floaterp->setFocus(TRUE); gFloaterView->adjustToFitScreen(floaterp, FALSE); } else if(type == LLAssetType::AT_TEXTURE) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewTextureRect"); rect.translate( left - rect.mLeft, top - rect.mTop ); LLPreviewTexture* preview; preview = new LLPreviewTexture("preview texture", rect, "Preview texture", item_id, LLUUID::null, FALSE); //preview->setSourceID(source_id); preview->setFocus(TRUE); gFloaterView->adjustToFitScreen(preview, FALSE); } else if(type == LLAssetType::AT_GESTURE) { // If only the others were like this LLPreviewGesture::show("preview gesture", item_id, LLUUID::null, TRUE); } else if(type == LLAssetType::AT_LANDMARK) { S32 left, top; gFloaterView->getNewFloaterPosition(&left, &top); LLRect rect = gSavedSettings.getRect("PreviewLandmarkRect"); rect.translate( left - rect.mLeft, top - rect.mTop ); LLPreviewLandmark* preview; preview = new LLPreviewLandmark("preview landmark", rect, "Preview landmark", item_id); preview->setFocus(TRUE); gFloaterView->adjustToFitScreen(preview, FALSE); } else { llwarns << "Dunno how to open type " << type << llendl; } }
/* void LLPreviewTexture::callbackLoadAvatarName(const LLUUID& id, const std::string& first, const std::string& last, BOOL is_group, void* data) { if (!sInstance) return; std::ostringstream fullname; fullname << first << " " << last; sInstance->childSetText("uploader", fullname.str()); } */ void LLPreviewTexture::callbackLoadAvatarName(const LLUUID& id, const std::string& fullname, bool is_group, void* userdata) { LLPreviewTexture* self = (LLPreviewTexture*)userdata; if (!self || !sList.count(self)) return; self->childSetText("uploader", fullname); }