Skip to content
Snippets Groups Projects
Commit c92d6e3f authored by Callum Prentice's avatar Callum Prentice
Browse files

SL-20109: Hacked in some code to write thumbnails now - had to change the ID i...

SL-20109: Hacked in some code to write thumbnails now - had to change the ID i saved for the texture from the object ID to the asset ID and then it worked for 3 test items.  Next up, tidy up the code, remove hacks and do a run on a local copy of the main SENRA inventory
parent 03ca9468
No related branches found
No related tags found
No related merge requests found
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "llinventoryfunctions.h" #include "llinventoryfunctions.h"
#include "lltexteditor.h" #include "lltexteditor.h"
#include "lluuid.h" #include "lluuid.h"
#include "llaisapi.h"
LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD& key) LLFloaterBulkyThumbs::LLFloaterBulkyThumbs(const LLSD& key)
: LLFloater("floater_bulky_thumbs") : LLFloater("floater_bulky_thumbs")
...@@ -101,7 +102,8 @@ void LLFloaterBulkyThumbs::recordTextureItemEntry(LLViewerInventoryItem* item) ...@@ -101,7 +102,8 @@ void LLFloaterBulkyThumbs::recordTextureItemEntry(LLViewerInventoryItem* item)
std::map<std::string, LLUUID>::iterator iter = mTextureNamesIDs.find(name); std::map<std::string, LLUUID>::iterator iter = mTextureNamesIDs.find(name);
if (iter == mTextureNamesIDs.end()) if (iter == mTextureNamesIDs.end())
{ {
LLUUID id = item->getUUID(); //LLUUID id = item->getUUID();
LLUUID id = item->getAssetUUID();
mTextureNamesIDs.insert({name, id}); mTextureNamesIDs.insert({name, id});
std::string output_line = "TEXR: "; std::string output_line = "TEXR: ";
...@@ -199,8 +201,6 @@ void LLFloaterBulkyThumbs::onPasteTextures() ...@@ -199,8 +201,6 @@ void LLFloaterBulkyThumbs::onPasteTextures()
LLInventoryModel::EXCLUDE_TRASH, LLInventoryModel::EXCLUDE_TRASH,
is_texture); is_texture);
std::cout << "CAT: found " << cat_array.size() << " additional categories" << std::endl;
std::cout << "ITEM: found " << item_array.size() << " items" << std::endl;
for (size_t i = 0; i < item_array.size(); i++) for (size_t i = 0; i < item_array.size(); i++)
{ {
LLViewerInventoryItem* item = item_array.at(i); LLViewerInventoryItem* item = item_array.at(i);
...@@ -302,9 +302,55 @@ void LLFloaterBulkyThumbs::onProcessBulkyThumbs() ...@@ -302,9 +302,55 @@ void LLFloaterBulkyThumbs::onProcessBulkyThumbs()
mWriteBulkyThumbsBtn->setEnabled(true); mWriteBulkyThumbsBtn->setEnabled(true);
} }
#if 1
// *TODO$: LLInventoryCallback should be deprecated to conform to the new boost::bind/coroutine model.
// temp code in transition
void bulkyInventoryCb(LLPointer<LLInventoryCallback> cb, LLUUID id)
{
if (cb.notNull())
{
cb->fire(id);
}
}
#endif
bool writeThumbnailID(LLUUID item_id, LLUUID thumbnail_asset_id)
{
if (AISAPI::isAvailable())
{
LLSD updates;
updates["thumbnail"] = LLSD().with("asset_id", thumbnail_asset_id.asString());
LLPointer<LLInventoryCallback> cb;
AISAPI::completion_t cr = boost::bind(&bulkyInventoryCb, cb, _1);
AISAPI::UpdateItem(item_id, updates, cr);
return true;
}
else
{
LL_WARNS() << "Unable to write inventory thumbnail because AIS API is not available" << LL_ENDL;
return false;
}
}
void LLFloaterBulkyThumbs::onWriteBulkyThumbs() void LLFloaterBulkyThumbs::onWriteBulkyThumbs()
{ {
// look at LLFloaterChangeItemThumbnail::onOpen(const LLSD& key) // look at void LLFloaterChangeItemThumbnail::setThumbnailId(const LLUUID& new_thumbnail_id, const LLUUID& object_id, LLInventoryObject* obj)
/**
* Results I get - compare with what the manual image update code gives us
Senra Blake - bottom - sweatpants - green
item ID: 1daf6aab-e42f-42aa-5a85-4d73458a355d
thumbnail texture ID: cba71b7c-2335-e15c-7646-ead0f9e817fb
Correct values (from mnala path) are:
Updating thumbnail forSenra Blake - bottom - sweatpants - green:
ID: 1daf6aab-e42f-42aa-5a85-4d73458a355d
THUMB_ID: 8f5db9e7-8d09-c8be-0efd-0a5e4f3c925d
*/
mInventoryItems->appendText("Writing thumbnails", true); mInventoryItems->appendText("Writing thumbnails", true);
std::map<std::string, std::pair< LLUUID, LLUUID>>::iterator iter = mNameItemIDTextureId.begin(); std::map<std::string, std::pair< LLUUID, LLUUID>>::iterator iter = mNameItemIDTextureId.begin();
...@@ -320,6 +366,12 @@ void LLFloaterBulkyThumbs::onWriteBulkyThumbs() ...@@ -320,6 +366,12 @@ void LLFloaterBulkyThumbs::onWriteBulkyThumbs()
output_line += "\n"; output_line += "\n";
mInventoryItems->appendText(output_line, true); mInventoryItems->appendText(output_line, true);
LLUUID item_id = ((*iter).second).first;
LLUUID thumbnail_asset_id = ((*iter).second).second;
writeThumbnailID(item_id, thumbnail_asset_id);
++iter; ++iter;
} }
mInventoryItems->setCursorAndScrollToEnd(); mInventoryItems->setCursorAndScrollToEnd();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment