Automated merge with ssh://hg.lindenlab.com/tulla/avatar-pipeline-2-0
--HG-- branch : avatar-pipelinemeow-7.2.2
commit
2be386826f
|
|
@ -49,6 +49,9 @@
|
|||
#include "llgesturemgr.h"
|
||||
#include "llappearancemgr.h"
|
||||
#include "lltexlayer.h"
|
||||
#include "llsidetray.h"
|
||||
#include "llpaneloutfitsinventory.h"
|
||||
#include "llfolderview.h"
|
||||
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
|
|
@ -1295,6 +1298,33 @@ void LLAgentWearables::makeNewOutfit(const std::string& new_folder_name,
|
|||
}
|
||||
}
|
||||
|
||||
class LLAutoRenameFolder: public LLInventoryCallback
|
||||
{
|
||||
public:
|
||||
LLAutoRenameFolder(LLUUID& folder_id):
|
||||
mFolderID(folder_id)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~LLAutoRenameFolder()
|
||||
{
|
||||
LLSD key;
|
||||
LLSideTray::getInstance()->showPanel("panel_outfits_inventory", key);
|
||||
LLPanelOutfitsInventory *outfit_panel =
|
||||
dynamic_cast<LLPanelOutfitsInventory*>(LLSideTray::getInstance()->getPanel("panel_outfits_inventory"));
|
||||
outfit_panel->getRootFolder()->clearSelection();
|
||||
outfit_panel->getRootFolder()->setSelectionByID(mFolderID, TRUE);
|
||||
outfit_panel->getRootFolder()->setNeedsAutoRename(TRUE);
|
||||
}
|
||||
|
||||
virtual void fire(const LLUUID&)
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
LLUUID mFolderID;
|
||||
};
|
||||
|
||||
LLUUID LLAgentWearables::makeNewOutfitLinks(const std::string& new_folder_name)
|
||||
{
|
||||
if (mAvatarObject.isNull())
|
||||
|
|
@ -1309,17 +1339,9 @@ LLUUID LLAgentWearables::makeNewOutfitLinks(const std::string& new_folder_name)
|
|||
LLFolderType::FT_OUTFIT,
|
||||
new_folder_name);
|
||||
|
||||
LLAppearanceManager::instance().shallowCopyCategory(LLAppearanceManager::instance().getCOF(),folder_id, NULL);
|
||||
LLPointer<LLInventoryCallback> cb = new LLAutoRenameFolder(folder_id);
|
||||
LLAppearanceManager::instance().shallowCopyCategory(LLAppearanceManager::instance().getCOF(),folder_id, cb);
|
||||
|
||||
#if 0 // BAP - fix to go into rename state automatically after outfit is created.
|
||||
LLViewerInventoryCategory *parent_category = gInventory.getCategory(parent_id);
|
||||
if (parent_category)
|
||||
{
|
||||
parent_category->setSelectionByID(folder_id,TRUE);
|
||||
parent_category->setNeedsAutoRename(TRUE);
|
||||
}
|
||||
#endif
|
||||
|
||||
return folder_id;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2385,6 +2385,8 @@ void LLFolderBridge::folderOptionsMenu()
|
|||
if (is_sidepanel)
|
||||
{
|
||||
mItems.clear();
|
||||
mItems.push_back("Rename");
|
||||
mItems.push_back("Delete");
|
||||
}
|
||||
|
||||
// Only enable calling-card related options for non-default folders.
|
||||
|
|
|
|||
|
|
@ -144,16 +144,13 @@ void LLPanelOutfitsInventory::onNew()
|
|||
{
|
||||
const std::string& outfit_name = LLViewerFolderType::lookupNewCategoryName(LLFolderType::FT_OUTFIT);
|
||||
LLUUID outfit_folder = gAgentWearables.makeNewOutfitLinks(outfit_name);
|
||||
|
||||
getRootFolder()->setSelectionByID(outfit_folder, TRUE);
|
||||
getRootFolder()->setNeedsAutoRename(TRUE);
|
||||
}
|
||||
|
||||
void LLPanelOutfitsInventory::onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action)
|
||||
{
|
||||
updateListCommands();
|
||||
updateParent();
|
||||
if (getRootFolder()->needsAutoRename())
|
||||
if (getRootFolder()->needsAutoRename() && items.size())
|
||||
{
|
||||
getRootFolder()->startRenamingSelectedItem();
|
||||
getRootFolder()->setNeedsAutoRename(FALSE);
|
||||
|
|
|
|||
|
|
@ -65,10 +65,12 @@ public:
|
|||
// Otherwise, return NULL.
|
||||
LLFolderViewEventListener* getCorrectListenerForAction();
|
||||
void setParent(LLSidepanelAppearance *parent);
|
||||
|
||||
LLFolderView* getRootFolder();
|
||||
|
||||
protected:
|
||||
void updateParent();
|
||||
bool getIsCorrectType(const LLFolderViewEventListener *listenerp) const;
|
||||
LLFolderView* getRootFolder();
|
||||
|
||||
private:
|
||||
LLSidepanelAppearance* mParent;
|
||||
|
|
|
|||
Loading…
Reference in New Issue