diff options
| author | James Cook <james@lindenlab.com> | 2009-11-13 16:16:12 -0800 | 
|---|---|---|
| committer | James Cook <james@lindenlab.com> | 2009-11-13 16:16:12 -0800 | 
| commit | 0daf4297d43e97a4b715196e9821cc290ebd65b3 (patch) | |
| tree | 74735c892f0bd43ea2fd2643d7f03a06b1a4c25c | |
| parent | 230f28080cfcb6785c248340aaa42cfb29703b23 (diff) | |
EXT-2484 Auto Set Touch to Buy when a user checks the For Sale option
Reviewed with Richard.
| -rw-r--r-- | indra/newview/llpanelpermissions.cpp | 35 | 
1 files changed, 24 insertions, 11 deletions
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index 2d3f901370..1051326e72 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -970,19 +970,32 @@ void LLPanelPermissions::setAllSaleInfo()  	if (price < 0)  		sale_type = LLSaleInfo::FS_NOT; -	LLSaleInfo sale_info(sale_type, price); -	LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(sale_info); +	LLSaleInfo old_sale_info; +	LLSelectMgr::getInstance()->selectGetSaleInfo(old_sale_info); + +	LLSaleInfo new_sale_info(sale_type, price); +	LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(new_sale_info); -	// If turned off for-sale, make sure click-action buy is turned -	// off as well -	if (sale_type == LLSaleInfo::FS_NOT) +	U8 old_click_action = 0; +	LLSelectMgr::getInstance()->selectionGetClickAction(&old_click_action); + +	if (old_sale_info.isForSale() +		&& !new_sale_info.isForSale() +		&& old_click_action == CLICK_ACTION_BUY)  	{ -		U8 click_action = 0; -		LLSelectMgr::getInstance()->selectionGetClickAction(&click_action); -		if (click_action == CLICK_ACTION_BUY) -		{ -			LLSelectMgr::getInstance()->selectionSetClickAction(CLICK_ACTION_TOUCH); -		} +		// If turned off for-sale, make sure click-action buy is turned +		// off as well +		LLSelectMgr::getInstance()-> +			selectionSetClickAction(CLICK_ACTION_TOUCH); +	} +	else if (new_sale_info.isForSale() +		&& !old_sale_info.isForSale() +		&& old_click_action == CLICK_ACTION_TOUCH) +	{ +		// If just turning on for-sale, preemptively turn on one-click buy +		// unless user have a different click action set +		LLSelectMgr::getInstance()-> +			selectionSetClickAction(CLICK_ACTION_BUY);  	}  }  | 
