diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 11 | ||||
| -rw-r--r-- | indra/newview/llpaneloutfitsinventory.h | 1 | 
3 files changed, 33 insertions, 1 deletions
| diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 50dbe8af96..9421cf5716 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -62,6 +62,7 @@  #include "llviewerwindow.h"
  #include "llvoavatarself.h"
  #include "llwearablelist.h"
 +#include "llpaneloutfitsinventory.h"
  using namespace LLOldEvents;
 @@ -2351,6 +2352,19 @@ 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"));
 +	if (!outfit_panel)
 +		return false;
 +	return outfit_panel->isAccordionPanel(my_panel);
 +
 +	//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;
 @@ -2364,11 +2378,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))
 diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 2550962d76..e66a4440e9 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -398,3 +398,14 @@ LLInventoryPanel* LLPanelOutfitsInventory::getActivePanel()  	return mActivePanel;  } +bool LLPanelOutfitsInventory::isAccordionPanel(LLInventoryPanel *panel) +{ +	for(accordionpanels_vec_t::iterator it = mAccordionPanels.begin(); +		it != mAccordionPanels.end(); +		++it) +	{ +		if (*it == panel) +			return true; +	} +	return false; +} diff --git a/indra/newview/llpaneloutfitsinventory.h b/indra/newview/llpaneloutfitsinventory.h index 902a5caab8..7769a7d172 100644 --- a/indra/newview/llpaneloutfitsinventory.h +++ b/indra/newview/llpaneloutfitsinventory.h @@ -78,6 +78,7 @@ public:  	//////////////////////////////////////////////////////////////////////////////////  	// Accordion                                                                    //  	LLInventoryPanel* 	getActivePanel(); +	bool isAccordionPanel(LLInventoryPanel *panel);  protected:  	void 				initAccordionPanels(); | 
