For EXT-2571: Right click context menu for Outfits

--HG--
branch : avatar-pipeline
master
Brad Payne (Vir Linden) 2009-11-24 12:49:36 -05:00
parent 8eb62aef06
commit e1cd91de4e
1 changed files with 17 additions and 1 deletions

View File

@ -62,6 +62,7 @@
#include "llviewerwindow.h"
#include "llvoavatarself.h"
#include "llwearablelist.h"
#include "llpaneloutfitsinventory.h"
using namespace LLOldEvents;
@ -2340,6 +2341,15 @@ void LLFolderBridge::staticFolderOptionsMenu()
sSelf->folderOptionsMenu();
}
bool isInOutfitsSidePanel(LLPanel *panel)
{
LLInventoryPanel *my_panel = dynamic_cast<LLInventoryPanel*>(panel);
LLPanelOutfitsInventory *outfit_panel =
dynamic_cast<LLPanelOutfitsInventory*>(LLSideTray::getInstance()->getPanel("panel_outfits_inventory"));
LLInventoryPanel *outfit_inv_panel = outfit_panel ? outfit_panel->getActivePanel(): NULL;
return (my_panel && (my_panel == outfit_inv_panel));
}
void LLFolderBridge::folderOptionsMenu()
{
std::vector<std::string> disabled_items;
@ -2353,11 +2363,17 @@ void LLFolderBridge::folderOptionsMenu()
// BAP change once we're no longer treating regular categories as ensembles.
const bool is_ensemble = category && (type == LLFolderType::FT_NONE ||
LLFolderType::lookupIsEnsembleType(type));
const bool is_sidepanel = isInOutfitsSidePanel(mInventoryPanel.get());
// calling card related functionality for folders.
if (is_sidepanel)
{
mItems.clear();
}
// Only enable calling-card related options for non-default folders.
if (!is_default_folder)
if (!is_sidepanel && !is_default_folder)
{
LLIsType is_callingcard(LLAssetType::AT_CALLINGCARD);
if (mCallingCards || checkFolderForContentsOfType(model, is_callingcard))