SL-18629 WIP Replacing UDP creation messages with callback based AIS #2
findCategory and move_item_to_marketplacelistingsmaster
parent
a777a0b27e
commit
811da7dbb1
|
|
@ -3213,7 +3213,7 @@ void LLAppearanceMgr::copyLibraryGestures()
|
|||
|
||||
// Copy gestures
|
||||
LLUUID lib_gesture_cat_id =
|
||||
gInventory.findLibraryCategoryUUIDForType(LLFolderType::FT_GESTURE,false);
|
||||
gInventory.findLibraryCategoryUUIDForType(LLFolderType::FT_GESTURE);
|
||||
if (lib_gesture_cat_id.isNull())
|
||||
{
|
||||
LL_WARNS() << "Unable to copy gestures, source category not found" << LL_ENDL;
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ void LLFloaterEditEnvironmentBase::onSaveAsCommit(const LLSD& notification, cons
|
|||
}
|
||||
else if (mInventoryItem)
|
||||
{
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
LLUUID parent_id = mInventoryItem->getParentUUID();
|
||||
if (marketplacelistings_id == parent_id || gInventory.isObjectDescendentOf(mInventoryItem->getUUID(), gInventory.getLibraryRootFolderID()))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ BOOL LLFloaterGesture::postBuild()
|
|||
getChildView("play_btn")->setVisible( true);
|
||||
getChildView("stop_btn")->setVisible( false);
|
||||
setDefaultBtn("play_btn");
|
||||
mGestureFolderID = gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE, false);
|
||||
mGestureFolderID = gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE);
|
||||
|
||||
uuid_vec_t folders;
|
||||
folders.push_back(mGestureFolderID);
|
||||
|
|
|
|||
|
|
@ -335,8 +335,8 @@ BOOL LLFloaterLinkReplace::tick()
|
|||
void LLFloaterLinkReplace::processBatch(LLInventoryModel::item_array_t items)
|
||||
{
|
||||
const LLViewerInventoryItem* target_item = gInventory.getItem(mTargetUUID);
|
||||
const LLUUID cof_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
|
||||
const LLUUID outfit_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID cof_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
const LLUUID outfit_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
|
||||
for (LLInventoryModel::item_array_t::iterator it = items.begin(); it != items.end(); ++it)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ void LLPanelMarketplaceListings::onTabChange()
|
|||
|
||||
void LLPanelMarketplaceListings::onAddButtonClicked()
|
||||
{
|
||||
LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
llassert(marketplacelistings_id.notNull());
|
||||
LLFolderType::EType preferred_type = LLFolderType::lookup("category");
|
||||
LLHandle<LLPanel> handle = getHandle();
|
||||
|
|
@ -375,6 +375,7 @@ LLFloaterMarketplaceListings::LLFloaterMarketplaceListings(const LLSD& key)
|
|||
, mInventoryTitle(NULL)
|
||||
, mPanelListings(NULL)
|
||||
, mPanelListingsSet(false)
|
||||
, mRootFolderCreating(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -460,15 +461,39 @@ void LLFloaterMarketplaceListings::setRootFolder()
|
|||
// If we are *not* a merchant or we have no market place connection established yet, do nothing
|
||||
return;
|
||||
}
|
||||
if (!gInventory.isInventoryUsable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LLFolderType::EType preferred_type = LLFolderType::FT_MARKETPLACE_LISTINGS;
|
||||
// We are a merchant. Get the Marketplace listings folder, create it if needs be.
|
||||
LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, true);
|
||||
if (marketplacelistings_id.isNull())
|
||||
{
|
||||
// We should never get there unless the inventory fails badly
|
||||
LL_ERRS("SLM") << "Inventory problem: failure to create the marketplace listings folder for a merchant!" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(preferred_type);
|
||||
|
||||
if (marketplacelistings_id.isNull())
|
||||
{
|
||||
if (!mRootFolderCreating)
|
||||
{
|
||||
mRootFolderCreating = true;
|
||||
gInventory.createNewCategory(
|
||||
gInventory.getRootFolderID(),
|
||||
preferred_type,
|
||||
LLStringUtil::null,
|
||||
[preferred_type](const LLUUID &new_cat_id)
|
||||
{
|
||||
LLFloaterMarketplaceListings *marketplace = LLFloaterReg::findTypedInstance<LLFloaterMarketplaceListings>("marketplace_listings");
|
||||
if (marketplace)
|
||||
{
|
||||
// will call setRootFolder again
|
||||
marketplace->updateView();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
mRootFolderCreating = false;
|
||||
|
||||
// No longer need to observe new category creation
|
||||
if (mCategoryAddedObserver && gInventory.containsObserver(mCategoryAddedObserver))
|
||||
|
|
@ -486,6 +511,7 @@ void LLFloaterMarketplaceListings::setRootFolder()
|
|||
}
|
||||
|
||||
mRootFolderId = marketplacelistings_id;
|
||||
mRootFolderCreating = true;
|
||||
}
|
||||
|
||||
void LLFloaterMarketplaceListings::setPanels()
|
||||
|
|
@ -556,6 +582,11 @@ void LLFloaterMarketplaceListings::updateView()
|
|||
{
|
||||
setRootFolder();
|
||||
}
|
||||
if (mRootFolderCreating)
|
||||
{
|
||||
// waiting for callback
|
||||
return;
|
||||
}
|
||||
|
||||
// Update the bottom initializing status and progress dial if we are initializing or if we're a merchant and still loading
|
||||
if ((mkt_status <= MarketplaceStatusCodes::MARKET_PLACE_INITIALIZING) || (is_merchant && (data_fetched <= MarketplaceFetchCodes::MARKET_FETCH_LOADING)) )
|
||||
|
|
@ -859,7 +890,7 @@ void LLFloaterMarketplaceValidation::onOpen(const LLSD& key)
|
|||
LLUUID cat_id(key.asUUID());
|
||||
if (cat_id.isNull())
|
||||
{
|
||||
cat_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
cat_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
}
|
||||
|
||||
// Validates the folder
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ private:
|
|||
LLTextBox * mInventoryTitle;
|
||||
|
||||
LLUUID mRootFolderId;
|
||||
bool mRootFolderCreating;
|
||||
LLPanelMarketplaceListings * mPanelListings;
|
||||
bool mPanelListingsSet;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -333,7 +333,7 @@ BOOL LLInvFVBridge::cutToClipboard()
|
|||
const LLInventoryObject* obj = gInventory.getObject(mUUID);
|
||||
if (obj && isItemMovable() && isItemRemovable())
|
||||
{
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const BOOL cut_from_marketplacelistings = gInventory.isObjectDescendentOf(mUUID, marketplacelistings_id);
|
||||
|
||||
if (cut_from_marketplacelistings && (LLMarketplaceData::instance().isInActiveFolder(mUUID) ||
|
||||
|
|
@ -1286,7 +1286,7 @@ bool LLInvFVBridge::isItemInOutfits() const
|
|||
const LLInventoryModel* model = getInventoryModel();
|
||||
if(!model) return false;
|
||||
|
||||
const LLUUID my_outfits_cat = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID my_outfits_cat = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
|
||||
return isCOFFolder() || (my_outfits_cat == mUUID) || model->isObjectDescendentOf(mUUID, my_outfits_cat);
|
||||
}
|
||||
|
|
@ -1321,7 +1321,7 @@ BOOL LLInvFVBridge::isCOFFolder() const
|
|||
// *TODO : Suppress isInboxFolder() once Merchant Outbox is fully deprecated
|
||||
BOOL LLInvFVBridge::isInboxFolder() const
|
||||
{
|
||||
const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, false);
|
||||
const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX);
|
||||
|
||||
if (inbox_id.isNull())
|
||||
{
|
||||
|
|
@ -1333,7 +1333,7 @@ BOOL LLInvFVBridge::isInboxFolder() const
|
|||
|
||||
BOOL LLInvFVBridge::isMarketplaceListingsFolder() const
|
||||
{
|
||||
const LLUUID folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
|
||||
if (folder_id.isNull())
|
||||
{
|
||||
|
|
@ -1633,7 +1633,7 @@ bool LLInvFVBridge::canListOnMarketplaceNow() const
|
|||
{
|
||||
std::string error_msg;
|
||||
LLInventoryModel* model = getInventoryModel();
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplacelistings_id.notNull())
|
||||
{
|
||||
LLViewerInventoryCategory * master_folder = model->getCategory(marketplacelistings_id);
|
||||
|
|
@ -1792,7 +1792,7 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action)
|
|||
{
|
||||
LLInventoryItem* itemp = model->getItem(mUUID);
|
||||
if (!itemp) return;
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
// Note: For a single item, if it's not a copy, then it's a move
|
||||
move_item_to_marketplacelistings(itemp, marketplacelistings_id, ("copy_to_marketplace_listings" == action));
|
||||
}
|
||||
|
|
@ -2566,8 +2566,8 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
|
|||
if (!filter) return false;
|
||||
|
||||
const LLUUID &cat_id = inv_cat->getUUID();
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const LLUUID from_folder_uuid = inv_cat->getParentUUID();
|
||||
|
||||
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
|
||||
|
|
@ -2585,10 +2585,10 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
|
|||
|
||||
if (is_agent_inventory)
|
||||
{
|
||||
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
|
||||
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND, false);
|
||||
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND);
|
||||
|
||||
const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
|
||||
const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
|
||||
|
|
@ -2871,7 +2871,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
|
|||
}
|
||||
else
|
||||
{
|
||||
if (model->isObjectDescendentOf(cat_id, model->findCategoryUUIDForType(LLFolderType::FT_INBOX, false)))
|
||||
if (model->isObjectDescendentOf(cat_id, model->findCategoryUUIDForType(LLFolderType::FT_INBOX)))
|
||||
{
|
||||
set_dad_inbox_object(cat_id);
|
||||
}
|
||||
|
|
@ -3490,7 +3490,7 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
|
|||
{
|
||||
LLInventoryCategory * cat = gInventory.getCategory(mUUID);
|
||||
if (!cat) return;
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
move_folder_to_marketplacelistings(cat, marketplacelistings_id, ("move_to_marketplace_listings" != action), (("copy_or_move_to_marketplace_listings" == action)));
|
||||
}
|
||||
}
|
||||
|
|
@ -3740,7 +3740,7 @@ void LLFolderBridge::pasteFromClipboard()
|
|||
LLInventoryModel* model = getInventoryModel();
|
||||
if (model && isClipboardPasteable())
|
||||
{
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const BOOL paste_into_marketplacelistings = model->isObjectDescendentOf(mUUID, marketplacelistings_id);
|
||||
|
||||
BOOL cut_from_marketplacelistings = FALSE;
|
||||
|
|
@ -3801,11 +3801,11 @@ void LLFolderBridge::perform_pasteFromClipboard()
|
|||
LLInventoryModel* model = getInventoryModel();
|
||||
if (model && isClipboardPasteable())
|
||||
{
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND, false);
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND);
|
||||
|
||||
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
|
||||
const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
|
||||
|
|
@ -4053,9 +4053,9 @@ void LLFolderBridge::pasteLinkFromClipboard()
|
|||
LLInventoryModel* model = getInventoryModel();
|
||||
if(model)
|
||||
{
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
|
||||
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
|
||||
const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
|
||||
|
|
@ -4125,8 +4125,8 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t& items
|
|||
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND);
|
||||
const LLUUID &favorites = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
|
||||
const LLUUID &marketplace_listings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &outfits_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID &marketplace_listings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const LLUUID &outfits_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
|
||||
if (outfits_id == mUUID)
|
||||
{
|
||||
|
|
@ -4977,7 +4977,7 @@ void LLFolderBridge::dropToOutfit(LLInventoryItem* inv_item, BOOL move_is_into_c
|
|||
{
|
||||
if((inv_item->getInventoryType() == LLInventoryType::IT_TEXTURE) || (inv_item->getInventoryType() == LLInventoryType::IT_SNAPSHOT))
|
||||
{
|
||||
const LLUUID &my_outifts_id = getInventoryModel()->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID &my_outifts_id = getInventoryModel()->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
if(mUUID != my_outifts_id)
|
||||
{
|
||||
LLFloaterOutfitPhotoPreview* photo_preview = LLFloaterReg::showTypedInstance<LLFloaterOutfitPhotoPreview>("outfit_photo_preview", inv_item->getUUID());
|
||||
|
|
@ -5093,11 +5093,11 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
|
|||
LLInventoryFilter* filter = getInventoryFilter();
|
||||
if (!filter) return false;
|
||||
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
|
||||
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
|
||||
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID ¤t_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
|
||||
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK);
|
||||
const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
const LLUUID from_folder_uuid = inv_item->getParentUUID();
|
||||
|
||||
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
|
||||
|
|
@ -5117,7 +5117,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
|
|||
LLViewerObject* object = NULL;
|
||||
if(LLToolDragAndDrop::SOURCE_AGENT == source)
|
||||
{
|
||||
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
|
||||
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
|
||||
const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
|
||||
const BOOL move_is_outof_current_outfit = LLAppearanceMgr::instance().getIsInCOF(inv_item->getUUID());
|
||||
|
|
@ -5278,7 +5278,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
|
|||
else
|
||||
{
|
||||
// set up observer to select item once drag and drop from inbox is complete
|
||||
if (gInventory.isObjectDescendentOf(inv_item->getUUID(), gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, false)))
|
||||
if (gInventory.isObjectDescendentOf(inv_item->getUUID(), gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX)))
|
||||
{
|
||||
set_dad_inbox_object(inv_item->getUUID());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ void update_all_marketplace_count(const LLUUID& cat_id)
|
|||
void update_all_marketplace_count()
|
||||
{
|
||||
// Get the marketplace root and launch the recursive exploration
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (!marketplace_listings_uuid.isNull())
|
||||
{
|
||||
update_all_marketplace_count(marketplace_listings_uuid);
|
||||
|
|
@ -875,7 +875,7 @@ S32 depth_nesting_in_marketplace(LLUUID cur_uuid)
|
|||
// Todo: findCategoryUUIDForType is somewhat expensive with large
|
||||
// flat root folders yet we use depth_nesting_in_marketplace at
|
||||
// every turn, find a way to correctly cache this id.
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplace_listings_uuid.isNull())
|
||||
{
|
||||
return -1;
|
||||
|
|
@ -1347,6 +1347,7 @@ bool can_move_folder_to_marketplace(const LLInventoryCategory* root_folder, LLIn
|
|||
return accept;
|
||||
}
|
||||
|
||||
// Can happen asynhroneously!!!
|
||||
bool move_item_to_marketplacelistings(LLInventoryItem* inv_item, LLUUID dest_folder, bool copy)
|
||||
{
|
||||
// Get the marketplace listings depth of the destination folder, exit with error if not under marketplace
|
||||
|
|
@ -1386,53 +1387,64 @@ bool move_item_to_marketplacelistings(LLInventoryItem* inv_item, LLUUID dest_fol
|
|||
if (can_move_to_marketplace(inv_item, error_msg, true))
|
||||
{
|
||||
// When moving an isolated item, we might need to create the folder structure to support it
|
||||
|
||||
LLUUID item_id = inv_item->getUUID();
|
||||
std::function<void(const LLUUID&)> callback_create_stock = [copy, item_id](const LLUUID& new_cat_id)
|
||||
{
|
||||
// Verify we can have this item in that destination category
|
||||
LLViewerInventoryCategory* dest_cat = gInventory.getCategory(new_cat_id);
|
||||
LLViewerInventoryItem * viewer_inv_item = gInventory.getItem(item_id);
|
||||
if (!dest_cat->acceptItem(viewer_inv_item))
|
||||
{
|
||||
LLSD subs;
|
||||
subs["[ERROR_CODE]"] = LLTrans::getString("Marketplace Error Prefix") + LLTrans::getString("Marketplace Error Not Accepted");
|
||||
LLNotificationsUtil::add("MerchantPasteFailed", subs);
|
||||
}
|
||||
|
||||
if (copy)
|
||||
{
|
||||
// Copy the item
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(update_folder_cb, new_cat_id));
|
||||
copy_inventory_item(
|
||||
gAgent.getID(),
|
||||
viewer_inv_item->getPermissions().getOwner(),
|
||||
viewer_inv_item->getUUID(),
|
||||
new_cat_id,
|
||||
std::string(),
|
||||
cb);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Reparent the item
|
||||
gInventory.changeItemParent(viewer_inv_item, new_cat_id, true);
|
||||
}
|
||||
};
|
||||
|
||||
std::function<void(const LLUUID&)> callback_dest_create = [copy, item_id, callback_create_stock](const LLUUID& new_cat_id)
|
||||
{
|
||||
LLViewerInventoryCategory* dest_cat = gInventory.getCategory(new_cat_id);
|
||||
LLViewerInventoryItem * viewer_inv_item = gInventory.getItem(item_id);
|
||||
if (!viewer_inv_item->getPermissions().allowOperationBy(PERM_COPY, gAgent.getID(), gAgent.getGroupID()) &&
|
||||
(dest_cat->getPreferredType() != LLFolderType::FT_MARKETPLACE_STOCK))
|
||||
{
|
||||
// We need to create a stock folder to move a no copy item
|
||||
gInventory.createNewCategory(new_cat_id, LLFolderType::FT_MARKETPLACE_STOCK, viewer_inv_item->getName(), callback_create_stock);
|
||||
}
|
||||
else
|
||||
{
|
||||
callback_create_stock(new_cat_id);
|
||||
}
|
||||
};
|
||||
|
||||
if (depth == 0)
|
||||
{
|
||||
// We need a listing folder
|
||||
dest_folder = gInventory.createNewCategory(dest_folder, LLFolderType::FT_NONE, viewer_inv_item->getName());
|
||||
depth++;
|
||||
gInventory.createNewCategory(dest_folder, LLFolderType::FT_NONE, viewer_inv_item->getName(), callback_dest_create);
|
||||
}
|
||||
if (depth == 1)
|
||||
{
|
||||
// We need a version folder
|
||||
dest_folder = gInventory.createNewCategory(dest_folder, LLFolderType::FT_NONE, viewer_inv_item->getName());
|
||||
depth++;
|
||||
}
|
||||
LLViewerInventoryCategory* dest_cat = gInventory.getCategory(dest_folder);
|
||||
if (!viewer_inv_item->getPermissions().allowOperationBy(PERM_COPY, gAgent.getID(), gAgent.getGroupID()) &&
|
||||
(dest_cat->getPreferredType() != LLFolderType::FT_MARKETPLACE_STOCK))
|
||||
{
|
||||
// We need to create a stock folder to move a no copy item
|
||||
dest_folder = gInventory.createNewCategory(dest_folder, LLFolderType::FT_MARKETPLACE_STOCK, viewer_inv_item->getName());
|
||||
dest_cat = gInventory.getCategory(dest_folder);
|
||||
depth++;
|
||||
}
|
||||
|
||||
// Verify we can have this item in that destination category
|
||||
if (!dest_cat->acceptItem(viewer_inv_item))
|
||||
{
|
||||
LLSD subs;
|
||||
subs["[ERROR_CODE]"] = LLTrans::getString("Marketplace Error Prefix") + LLTrans::getString("Marketplace Error Not Accepted");
|
||||
LLNotificationsUtil::add("MerchantPasteFailed", subs);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (copy)
|
||||
{
|
||||
// Copy the item
|
||||
LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(update_folder_cb, dest_folder));
|
||||
copy_inventory_item(
|
||||
gAgent.getID(),
|
||||
viewer_inv_item->getPermissions().getOwner(),
|
||||
viewer_inv_item->getUUID(),
|
||||
dest_folder,
|
||||
std::string(),
|
||||
cb);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Reparent the item
|
||||
gInventory.changeItemParent(viewer_inv_item, dest_folder, true);
|
||||
gInventory.createNewCategory(dest_folder, LLFolderType::FT_NONE, viewer_inv_item->getName(), callback_dest_create);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -2496,7 +2508,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
|
|||
if ("delete" == action)
|
||||
{
|
||||
static bool sDisplayedAtSession = false;
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
bool marketplacelistings_item = false;
|
||||
LLAllDescendentsPassedFilter f;
|
||||
for (std::set<LLFolderViewItem*>::iterator it = selected_items.begin(); (it != selected_items.end()) && (f.allDescendentsPassedFilter()); ++it)
|
||||
|
|
@ -2620,7 +2632,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
|
|||
if (action == "wear" || action == "wear_add")
|
||||
{
|
||||
const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
const LLUUID mp_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID mp_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
std::copy_if(selected_uuid_set.begin(),
|
||||
selected_uuid_set.end(),
|
||||
std::back_inserter(ids),
|
||||
|
|
@ -2873,7 +2885,7 @@ void LLInventoryAction::buildMarketplaceFolders(LLFolderView* root)
|
|||
// target listing *and* the original listing. So we need to keep track of both.
|
||||
// Note: do not however put the marketplace listings root itself in this list or the whole marketplace data will be rebuilt.
|
||||
sMarketplaceFolders.clear();
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID &marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplacelistings_id.isNull())
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -804,10 +804,63 @@ void LLInventoryModel::consolidateForType(const LLUUID& main_id, LLFolderType::E
|
|||
}
|
||||
}
|
||||
|
||||
void LLInventoryModel::ensureCategoryForTypeExists(LLFolderType::EType preferred_type)
|
||||
{
|
||||
LLUUID rv = LLUUID::null;
|
||||
LLUUID root_id = gInventory.getRootFolderID();
|
||||
if (LLFolderType::FT_ROOT_INVENTORY == preferred_type)
|
||||
{
|
||||
rv = root_id;
|
||||
}
|
||||
else if (root_id.notNull())
|
||||
{
|
||||
cat_array_t* cats = NULL;
|
||||
cats = get_ptr_in_map(mParentChildCategoryTree, root_id);
|
||||
if (cats)
|
||||
{
|
||||
S32 count = cats->size();
|
||||
for (S32 i = 0; i < count; ++i)
|
||||
{
|
||||
LLViewerInventoryCategory* p_cat = cats->at(i);
|
||||
if (p_cat && p_cat->getPreferredType() == preferred_type)
|
||||
{
|
||||
const LLUUID& folder_id = cats->at(i)->getUUID();
|
||||
if (rv.isNull() || folder_id < rv)
|
||||
{
|
||||
rv = folder_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rv.isNull() && root_id.notNull())
|
||||
{
|
||||
|
||||
if (isInventoryUsable())
|
||||
{
|
||||
createNewCategory(
|
||||
root_id,
|
||||
preferred_type,
|
||||
LLStringUtil::null,
|
||||
[preferred_type](const LLUUID &new_cat_id)
|
||||
{
|
||||
LL_DEBUGS("Inventory") << "Created category: " << new_cat_id
|
||||
<< " for type: " << preferred_type << LL_ENDL;
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS("Inventory") << "Can't create requested folder, type " << preferred_type
|
||||
<< " because inventory is not usable" << LL_ENDL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const LLUUID LLInventoryModel::findCategoryUUIDForTypeInRoot(
|
||||
LLFolderType::EType preferred_type,
|
||||
bool create_folder,
|
||||
const LLUUID& root_id)
|
||||
const LLUUID& root_id) const
|
||||
{
|
||||
LLUUID rv = LLUUID::null;
|
||||
if(LLFolderType::FT_ROOT_INVENTORY == preferred_type)
|
||||
|
|
@ -836,18 +889,14 @@ const LLUUID LLInventoryModel::findCategoryUUIDForTypeInRoot(
|
|||
}
|
||||
}
|
||||
|
||||
if(rv.isNull() && create_folder && root_id.notNull())
|
||||
if(rv.isNull() && root_id.notNull() && preferred_type != LLFolderType::FT_MARKETPLACE_LISTINGS)
|
||||
{
|
||||
|
||||
if (isInventoryUsable())
|
||||
{
|
||||
return createNewCategory(root_id, preferred_type, LLStringUtil::null);
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS("Inventory") << "Can't create requested folder, type " << preferred_type
|
||||
<< " because inventory is not usable" << LL_ENDL;
|
||||
}
|
||||
// if it does not exists, it should either be added
|
||||
// to createCommonSystemCategories or server should
|
||||
// have set it
|
||||
llassert(false);
|
||||
LL_WARNS("Inventory") << "Tried to find folder, type " << preferred_type
|
||||
<< " but category does not exist" << LL_ENDL;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
|
@ -856,12 +905,12 @@ const LLUUID LLInventoryModel::findCategoryUUIDForTypeInRoot(
|
|||
// specifies 'type' as what it defaults to containing. The category is
|
||||
// not necessarily only for that type. *NOTE: This will create a new
|
||||
// inventory category on the fly if one does not exist.
|
||||
const LLUUID LLInventoryModel::findCategoryUUIDForType(LLFolderType::EType preferred_type, bool create_folder)
|
||||
const LLUUID LLInventoryModel::findCategoryUUIDForType(LLFolderType::EType preferred_type) const
|
||||
{
|
||||
return findCategoryUUIDForTypeInRoot(preferred_type, create_folder, gInventory.getRootFolderID());
|
||||
return findCategoryUUIDForTypeInRoot(preferred_type, gInventory.getRootFolderID());
|
||||
}
|
||||
|
||||
const LLUUID LLInventoryModel::findUserDefinedCategoryUUIDForType(LLFolderType::EType preferred_type)
|
||||
const LLUUID LLInventoryModel::findUserDefinedCategoryUUIDForType(LLFolderType::EType preferred_type) const
|
||||
{
|
||||
LLUUID cat_id;
|
||||
switch (preferred_type)
|
||||
|
|
@ -892,14 +941,14 @@ const LLUUID LLInventoryModel::findUserDefinedCategoryUUIDForType(LLFolderType::
|
|||
|
||||
if (cat_id.isNull() || !getCategory(cat_id))
|
||||
{
|
||||
cat_id = findCategoryUUIDForTypeInRoot(preferred_type, true, getRootFolderID());
|
||||
cat_id = findCategoryUUIDForTypeInRoot(preferred_type, getRootFolderID());
|
||||
}
|
||||
return cat_id;
|
||||
}
|
||||
|
||||
const LLUUID LLInventoryModel::findLibraryCategoryUUIDForType(LLFolderType::EType preferred_type, bool create_folder)
|
||||
const LLUUID LLInventoryModel::findLibraryCategoryUUIDForType(LLFolderType::EType preferred_type) const
|
||||
{
|
||||
return findCategoryUUIDForTypeInRoot(preferred_type, create_folder, gInventory.getLibraryRootFolderID());
|
||||
return findCategoryUUIDForTypeInRoot(preferred_type, gInventory.getLibraryRootFolderID());
|
||||
}
|
||||
|
||||
// Convenience function to create a new category. You could call
|
||||
|
|
@ -1556,7 +1605,7 @@ void LLInventoryModel::updateCategory(const LLViewerInventoryCategory* cat, U32
|
|||
mask |= LLInventoryObserver::LABEL;
|
||||
}
|
||||
// Under marketplace, category labels are quite complex and need extra upate
|
||||
const LLUUID marketplace_id = findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplace_id = findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplace_id.notNull() && isObjectDescendentOf(cat->getUUID(), marketplace_id))
|
||||
{
|
||||
mask |= LLInventoryObserver::LABEL;
|
||||
|
|
@ -2881,7 +2930,7 @@ void LLInventoryModel::buildParentChildMap()
|
|||
}
|
||||
}
|
||||
|
||||
const BOOL COF_exists = (findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, FALSE) != LLUUID::null);
|
||||
const BOOL COF_exists = (findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT) != LLUUID::null);
|
||||
sFirstTimeInViewer2 = !COF_exists || gAgent.isFirstLogin();
|
||||
|
||||
|
||||
|
|
@ -3101,14 +3150,14 @@ LLCore::HttpHandle LLInventoryModel::requestPost(bool foreground,
|
|||
|
||||
void LLInventoryModel::createCommonSystemCategories()
|
||||
{
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH,true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE,true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_CALLINGCARD,true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS,true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK, true); // folder should exist before user tries to 'landmark this'
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_SETTINGS, true);
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, true);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_TRASH);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_FAVORITE);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_CALLINGCARD);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_MY_OUTFITS);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_LANDMARK); // folder should exist before user tries to 'landmark this'
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_SETTINGS);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_INBOX);
|
||||
}
|
||||
|
||||
struct LLUUIDAndName
|
||||
|
|
|
|||
|
|
@ -303,24 +303,25 @@ public:
|
|||
// Find
|
||||
//--------------------------------------------------------------------
|
||||
public:
|
||||
|
||||
// Checks if category exists (My Inventory only), if it does not, creates it
|
||||
void LLInventoryModel::ensureCategoryForTypeExists(LLFolderType::EType preferred_type);
|
||||
|
||||
const LLUUID findCategoryUUIDForTypeInRoot(
|
||||
LLFolderType::EType preferred_type,
|
||||
bool create_folder,
|
||||
const LLUUID& root_id);
|
||||
const LLUUID& root_id) const;
|
||||
|
||||
// Returns the uuid of the category that specifies 'type' as what it
|
||||
// defaults to containing. The category is not necessarily only for that type.
|
||||
// NOTE: If create_folder is true, this will create a new inventory category
|
||||
// on the fly if one does not exist. *NOTE: if find_in_library is true it
|
||||
// will search in the user's library folder instead of "My Inventory"
|
||||
const LLUUID findCategoryUUIDForType(LLFolderType::EType preferred_type,
|
||||
bool create_folder = true);
|
||||
const LLUUID findCategoryUUIDForType(LLFolderType::EType preferred_type) const;
|
||||
// will search in the user's library folder instead of "My Inventory"
|
||||
const LLUUID findLibraryCategoryUUIDForType(LLFolderType::EType preferred_type,
|
||||
bool create_folder = true);
|
||||
const LLUUID findLibraryCategoryUUIDForType(LLFolderType::EType preferred_type) const;
|
||||
// Returns user specified category for uploads, returns default id if there are no
|
||||
// user specified one or it does not exist, creates default category if it is missing.
|
||||
const LLUUID findUserDefinedCategoryUUIDForType(LLFolderType::EType preferred_type);
|
||||
const LLUUID findUserDefinedCategoryUUIDForType(LLFolderType::EType preferred_type) const;
|
||||
|
||||
// Get whatever special folder this object is a child of, if any.
|
||||
const LLViewerInventoryCategory *getFirstNondefaultParent(const LLUUID& obj_id) const;
|
||||
|
|
|
|||
|
|
@ -745,7 +745,7 @@ LLUUID LLInventoryPanel::getRootFolderID()
|
|||
LLStringExplicit label(mParams.start_folder.name());
|
||||
setLabel(label);
|
||||
|
||||
root_id = gInventory.findCategoryUUIDForType(preferred_type, false);
|
||||
root_id = gInventory.findCategoryUUIDForType(preferred_type);
|
||||
if (root_id.isNull())
|
||||
{
|
||||
LL_WARNS() << "Could not find folder of type " << preferred_type << LL_ENDL;
|
||||
|
|
|
|||
|
|
@ -897,7 +897,7 @@ void LLMarketplaceData::setDataFetchedSignal(const status_updated_signal_t::slot
|
|||
// Get/Post/Put requests to the SLM Server using the SLM API
|
||||
void LLMarketplaceData::getSLMListings()
|
||||
{
|
||||
const LLUUID marketplaceFolderId = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplaceFolderId = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
setUpdating(marketplaceFolderId, true);
|
||||
|
||||
LLCoros::instance().launch("getSLMListings",
|
||||
|
|
@ -1804,7 +1804,7 @@ bool LLMarketplaceData::isUpdating(const LLUUID& folder_id, S32 depth)
|
|||
}
|
||||
else
|
||||
{
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplace_listings_uuid = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
std::set<LLUUID>::iterator it = mPendingUpdateSet.find(marketplace_listings_uuid);
|
||||
if (it != mPendingUpdateSet.end())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ BOOL LLPanelOutfitsInventory::postBuild()
|
|||
// ( This is only necessary if we want to show a warning if a user deletes an item that has a
|
||||
// a link in an outfit, see "ConfirmItemDeleteHasLinks". )
|
||||
|
||||
const LLUUID &outfits_cat = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
|
||||
const LLUUID &outfits_cat = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
|
||||
if (outfits_cat.notNull())
|
||||
{
|
||||
LLInventoryModelBackgroundFetch::instance().start(outfits_cat);
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ void LLSidepanelInventory::updateInbox()
|
|||
//
|
||||
// Track inbox folder changes
|
||||
//
|
||||
const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, true);
|
||||
const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX);
|
||||
|
||||
// Set up observer to listen for creation of inbox if it doesn't exist
|
||||
if (inbox_id.isNull())
|
||||
|
|
|
|||
|
|
@ -2768,7 +2768,7 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,
|
|||
// Not going through the processAgentInitialWearables path, so need to set this here.
|
||||
LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true);
|
||||
// Initiate creation of COF, since we're also bypassing that.
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
|
||||
ESex gender;
|
||||
if (gender_name == "male")
|
||||
|
|
|
|||
|
|
@ -764,7 +764,7 @@ void LLToolDragAndDrop::dragOrDrop( S32 x, S32 y, MASK mask, BOOL drop,
|
|||
if (!handled)
|
||||
{
|
||||
// Disallow drag and drop to 3D from the marketplace
|
||||
const LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplacelistings_id.notNull())
|
||||
{
|
||||
for (S32 item_index = 0; item_index < (S32)mCargoIDs.size(); item_index++)
|
||||
|
|
@ -1732,7 +1732,7 @@ EAcceptance LLToolDragAndDrop::dad3dRezAttachmentFromInv(
|
|||
return ACCEPT_NO;
|
||||
}
|
||||
|
||||
const LLUUID &outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
|
||||
const LLUUID &outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX);
|
||||
if(gInventory.isObjectDescendentOf(item->getUUID(), outbox_id))
|
||||
{
|
||||
// Legacy
|
||||
|
|
@ -2159,7 +2159,7 @@ EAcceptance LLToolDragAndDrop::dad3dWearCategory(
|
|||
return ACCEPT_NO;
|
||||
}
|
||||
|
||||
const LLUUID &outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
|
||||
const LLUUID &outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX);
|
||||
if(gInventory.isObjectDescendentOf(category->getUUID(), outbox_id))
|
||||
{
|
||||
// Legacy
|
||||
|
|
|
|||
|
|
@ -403,14 +403,14 @@ void set_merchant_SLM_menu()
|
|||
LLCommand* command = LLCommandManager::instance().getCommand("marketplacelistings");
|
||||
gToolBarView->enableCommand(command->id(), true);
|
||||
|
||||
const LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
|
||||
const LLUUID marketplacelistings_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
if (marketplacelistings_id.isNull())
|
||||
{
|
||||
U32 mkt_status = LLMarketplaceData::instance().getSLMStatus();
|
||||
bool is_merchant = (mkt_status == MarketplaceStatusCodes::MARKET_PLACE_MERCHANT) || (mkt_status == MarketplaceStatusCodes::MARKET_PLACE_MIGRATED_MERCHANT);
|
||||
if (is_merchant)
|
||||
{
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, true);
|
||||
gInventory.ensureCategoryForTypeExists(LLFolderType::FT_MARKETPLACE_LISTINGS);
|
||||
LL_WARNS("SLM") << "Creating the marketplace listings folder for a merchant" << LL_ENDL;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue