SL-19621 Right click>New folder in List View should change root folder before creating new folder

meow-7.2.2
Maxim Nikolenko 2023-04-19 22:06:00 +03:00
parent 1e4ebffa0c
commit 873fcd3a0b
2 changed files with 15 additions and 0 deletions

View File

@ -2080,6 +2080,7 @@ LLInventorySingleFolderPanel::LLInventorySingleFolderPanel(const Params& params)
getFilter().setDefaultEmptyLookupMessage("InventorySingleFolderEmpty");
mCommitCallbackRegistrar.add("Inventory.OpenSelectedFolder", boost::bind(&LLInventorySingleFolderPanel::openInCurrentWindow, this, _2));
mCommitCallbackRegistrar.replace("Inventory.DoCreate", boost::bind(&LLInventorySingleFolderPanel::doCreate, this, _2));
}
LLInventorySingleFolderPanel::~LLInventorySingleFolderPanel()
@ -2225,6 +2226,18 @@ bool LLInventorySingleFolderPanel::hasVisibleItems()
{
return mFolderRoot.get()->hasVisibleChildren();
}
void LLInventorySingleFolderPanel::doCreate(const LLSD& userdata)
{
std::string type_name = userdata.asString();
LLUUID dest_id = LLFolderBridge::sSelf.get()->getUUID();
if (("category" == type_name) || ("outfit" == type_name))
{
changeFolderRoot(dest_id);
}
reset_inventory_filter();
menu_create_inventory_item(this, dest_id, userdata);
}
/************************************************************************/
/* Asset Pre-Filtered Inventory Panel related class */
/************************************************************************/

View File

@ -402,6 +402,8 @@ public:
void clearNavigationHistory();
LLUUID getSingleFolderRoot() { return mFolderID; }
void doCreate(const LLSD& userdata);
bool isBackwardAvailable();
bool isForwardAvailable();