diff options
| author | Eric M. Tulla (BigPapi) <tulla@lindenlab.com> | 2010-01-06 12:26:02 -0500 | 
|---|---|---|
| committer | Eric M. Tulla (BigPapi) <tulla@lindenlab.com> | 2010-01-06 12:26:02 -0500 | 
| commit | 71460d3e7eda8166f714067b2f53314c77e66b33 (patch) | |
| tree | 2a24cefad8f28f5ccc684001edf62d9586fae56e | |
| parent | 447a908a0a46e6e0ad6ac5e8a3a26260d865243b (diff) | |
| parent | a84beb2a4373d71b0ff171883af9645f9a98e26f (diff) | |
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/
| -rw-r--r-- | indra/newview/llpaneloutfitsinventory.cpp | 29 | ||||
| -rw-r--r-- | indra/newview/llpaneloutfitsinventory.h | 1 | ||||
| -rw-r--r-- | indra/newview/llsidepaneltaskinfo.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml | 6 | 
4 files changed, 35 insertions, 7 deletions
| diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 8e14074de1..4e26314fc3 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -303,6 +303,8 @@ void LLPanelOutfitsInventory::onClipboardAction(const LLSD& userdata)  {  	std::string command_name = userdata.asString();  	getActivePanel()->getRootFolder()->doToSelected(getActivePanel()->getModel(),command_name); +	updateListCommands(); +	updateVerbs();  }  void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata) @@ -343,6 +345,8 @@ void LLPanelOutfitsInventory::onCustomAction(const LLSD& userdata)  	{  		onClipboardAction("delete");  	} +	updateListCommands(); +	updateVerbs();  }  BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata) @@ -354,9 +358,9 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)  		LLFolderView *folder = getActivePanel()->getRootFolder();  		if (folder)  		{ -			can_delete = TRUE;  			std::set<LLUUID> selection_set;  			folder->getSelectionList(selection_set); +			can_delete = (selection_set.size() > 0);  			for (std::set<LLUUID>::iterator iter = selection_set.begin();  				 iter != selection_set.end();  				 ++iter) @@ -375,9 +379,9 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)  		LLFolderView *folder = getActivePanel()->getRootFolder();  		if (folder)  		{ -			can_delete = TRUE;  			std::set<LLUUID> selection_set;  			folder->getSelectionList(selection_set); +			can_delete = (selection_set.size() > 0);  			for (std::set<LLUUID>::iterator iter = selection_set.begin();  				 iter != selection_set.end();  				 ++iter) @@ -391,10 +395,14 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)  		}  		return FALSE;  	} +	if (command_name == "rename" || +		command_name == "delete_outfit") +	{ +		return (getCorrectListenerForAction() != NULL) && hasItemsSelected(); +	}  	if (command_name == "edit" ||   		command_name == "wear" || -		command_name == "add" || -		command_name == "remove" +		command_name == "add"  		)  	{  		return (getCorrectListenerForAction() != NULL); @@ -402,6 +410,19 @@ BOOL LLPanelOutfitsInventory::isActionEnabled(const LLSD& userdata)  	return TRUE;  } +bool LLPanelOutfitsInventory::hasItemsSelected() +{ +	bool has_items_selected = false; +	LLFolderView *folder = getActivePanel()->getRootFolder(); +	if (folder) +	{ +		std::set<LLUUID> selection_set; +		folder->getSelectionList(selection_set); +		has_items_selected = (selection_set.size() > 0); +	} +	return has_items_selected; +} +  bool LLPanelOutfitsInventory::handleDragAndDropToTrash(BOOL drop, EDragAndDropType cargo_type, EAcceptance* accept)  {  	*accept = ACCEPT_NO; diff --git a/indra/newview/llpaneloutfitsinventory.h b/indra/newview/llpaneloutfitsinventory.h index 1e084750a0..77ed15dd96 100644 --- a/indra/newview/llpaneloutfitsinventory.h +++ b/indra/newview/llpaneloutfitsinventory.h @@ -114,6 +114,7 @@ protected:  	BOOL isActionEnabled(const LLSD& command_name);  	void onCustomAction(const LLSD& command_name);  	bool handleDragAndDropToTrash(BOOL drop, EDragAndDropType cargo_type, EAcceptance* accept); +	bool hasItemsSelected();  private:  	LLPanel*					mListCommands;  	LLMenuGL*					mMenuGearDefault; diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp index 50cec3184d..0b8f66c5f3 100644 --- a/indra/newview/llsidepaneltaskinfo.cpp +++ b/indra/newview/llsidepaneltaskinfo.cpp @@ -215,6 +215,10 @@ void LLSidepanelTaskInfo::disableAll()  	childSetVisible("E:",								FALSE);  	childSetVisible("N:",								FALSE);  	childSetVisible("F:",								FALSE); +	 +	mOpenBtn->setEnabled(FALSE); +	mPayBtn->setEnabled(FALSE); +	mBuyBtn->setEnabled(FALSE);  }  void LLSidepanelTaskInfo::refresh() @@ -1119,6 +1123,8 @@ void LLSidepanelTaskInfo::updateVerbs()  	*/  	mOpenBtn->setEnabled(enable_object_open()); +	mPayBtn->setEnabled(enable_pay_object()); +	mBuyBtn->setEnabled(enable_buy_object());  }  void LLSidepanelTaskInfo::onOpenButtonClicked() diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml index 7b88fca7c3..56d4528a40 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml @@ -54,7 +54,7 @@  		 parameter="rename" />      </menu_item_call>      <menu_item_call -     label="Remove" +     label="Remove Link"       layout="topleft"       name="remove_link">          <on_click @@ -65,7 +65,7 @@  		 parameter="remove_link" />      </menu_item_call>      <menu_item_call -     label="Delete" +     label="Delete Outfit"       layout="topleft"       name="delete">          <on_click @@ -73,6 +73,6 @@           parameter="delete" />          <on_enable  		 function="panel_outfits_inventory_gear_default.Enable" -		 parameter="delete" /> +		 parameter="delete_outfit" />      </menu_item_call>  </menu> | 
