diff options
| -rw-r--r-- | indra/newview/llpanelwearing.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llpanelwearing.h | 1 | 
2 files changed, 25 insertions, 9 deletions
| diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp index 3099a6e039..75c8765c5b 100644 --- a/indra/newview/llpanelwearing.cpp +++ b/indra/newview/llpanelwearing.cpp @@ -65,7 +65,7 @@ public:  		LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;  		registrar.add("Gear.Edit", boost::bind(&edit_outfit)); -		registrar.add("Gear.TakeOff", boost::bind(&LLWearingGearMenu::onTakeOff, this)); +		registrar.add("Gear.TakeOff", boost::bind(&LLPanelWearing::onRemoveItem, mPanelWearing));  		registrar.add("Gear.Copy", boost::bind(&LLPanelWearing::copyToClipboard, mPanelWearing));  		enable_registrar.add("Gear.OnEnable", boost::bind(&LLPanelWearing::isActionEnabled, mPanelWearing, _2)); @@ -79,13 +79,6 @@ public:  private: -	void onTakeOff() -	{ -		uuid_vec_t selected_uuids; -		mPanelWearing->getSelectedItemsUUIDs(selected_uuids); -		LLAppearanceMgr::instance().removeItemsFromAvatar(selected_uuids); -	} -  	LLToggleableMenu*		mMenu;  	LLPanelWearing* 		mPanelWearing;  }; @@ -343,7 +336,14 @@ bool LLPanelWearing::isActionEnabled(const LLSD& userdata)  	if (command_name == "take_off")  	{ -		return hasItemSelected() && canTakeOffSelected(); +		if (mWearablesTab->isExpanded()) +		{ +			return hasItemSelected() && canTakeOffSelected(); +		} +		else +		{ +			return mTempItemsList->hasSelectedItem(); +		}  	}  	return false; @@ -532,6 +532,21 @@ void LLPanelWearing::onRemoveAttachment()  	}  } +void LLPanelWearing::onRemoveItem() +{ +	if (mWearablesTab->isExpanded()) +	{ +		uuid_vec_t selected_uuids; +		getSelectedItemsUUIDs(selected_uuids); +		LLAppearanceMgr::instance().removeItemsFromAvatar(selected_uuids); +	} +	else +	{ +		onRemoveAttachment(); +	} +} + +  void LLPanelWearing::copyToClipboard()  {  	std::string text; diff --git a/indra/newview/llpanelwearing.h b/indra/newview/llpanelwearing.h index c5cb79092a..715404a457 100644 --- a/indra/newview/llpanelwearing.h +++ b/indra/newview/llpanelwearing.h @@ -80,6 +80,7 @@ public:  	void onAccordionTabStateChanged();  	void setAttachmentDetails(LLSD content);  	void requestAttachmentDetails(); +	void onRemoveItem();  	void onEditAttachment();  	void onRemoveAttachment(); | 
