diff options
| author | Alexander Gavriliuk <alexandrgproductengine@lindenlab.com> | 2023-07-11 21:25:10 +0200 | 
|---|---|---|
| committer | Guru <alexandrgproductengine@lindenlab.com> | 2023-07-11 23:55:46 +0200 | 
| commit | 834a8eeddeda035551ed4071273c26e806946147 (patch) | |
| tree | 474867e7c7188eb45e4c9845b4ccefcb83b1efbd | |
| parent | 411aa59734a884c95f83e80ddd404af85a6f2ef4 (diff) | |
SL-19728 Objects that cannot be clicked or cammed unless in edit mode
| -rw-r--r-- | indra/llcommon/indra_constants.h | 1 | ||||
| -rw-r--r-- | indra/newview/llpanelpermissions.cpp | 37 | ||||
| -rw-r--r-- | indra/newview/llsidepaneltaskinfo.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llspatialpartition.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_tools.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/sidepanel_task_info.xml | 4 | 
6 files changed, 40 insertions, 18 deletions
| diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index 10b98f49aa..679f79039b 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -345,6 +345,7 @@ const U8 CLICK_ACTION_PLAY = 5;  const U8 CLICK_ACTION_OPEN_MEDIA = 6;  const U8 CLICK_ACTION_ZOOM = 7;  const U8 CLICK_ACTION_DISABLED = 8; +const U8 CLICK_ACTION_IGNORE = 9;  // DO NOT CHANGE THE SEQUENCE OF THIS LIST!! diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index 3e770958da..67f913a067 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -76,30 +76,34 @@ std::string click_action_to_string_value( U8 action);  U8 string_value_to_click_action(std::string p_value)  { -	if(p_value == "Touch") +	if (p_value == "Touch")  	{  		return CLICK_ACTION_TOUCH;  	} -	if(p_value == "Sit") +	if (p_value == "Sit")  	{  		return CLICK_ACTION_SIT;  	} -	if(p_value == "Buy") +	if (p_value == "Buy")  	{  		return CLICK_ACTION_BUY;  	} -	if(p_value == "Pay") +	if (p_value == "Pay")  	{  		return CLICK_ACTION_PAY;  	} -	if(p_value == "Open") +	if (p_value == "Open")  	{  		return CLICK_ACTION_OPEN;  	} -	if(p_value == "Zoom") +	if (p_value == "Zoom")  	{  		return CLICK_ACTION_ZOOM;  	} +	if (p_value == "Ignore") +	{ +		return CLICK_ACTION_IGNORE; +	}  	if (p_value == "None")  	{  		return CLICK_ACTION_DISABLED; @@ -130,6 +134,9 @@ std::string click_action_to_string_value( U8 action)  		case CLICK_ACTION_ZOOM:  			return "Zoom";  			break; +		case CLICK_ACTION_IGNORE: +			return "Ignore"; +			break;  		case CLICK_ACTION_DISABLED:  			return "None";  			break; @@ -274,12 +281,12 @@ void LLPanelPermissions::disableAll()  		combo_click_action->setEnabled(FALSE);  		combo_click_action->clear();  	} -	getChildView("B:")->setVisible(								FALSE); -	getChildView("O:")->setVisible(								FALSE); -	getChildView("G:")->setVisible(								FALSE); -	getChildView("E:")->setVisible(								FALSE); -	getChildView("N:")->setVisible(								FALSE); -	getChildView("F:")->setVisible(								FALSE); +	getChildView("B:")->setVisible(FALSE); +	getChildView("O:")->setVisible(FALSE); +	getChildView("G:")->setVisible(FALSE); +	getChildView("E:")->setVisible(FALSE); +	getChildView("N:")->setVisible(FALSE); +	getChildView("F:")->setVisible(FALSE);  }  void LLPanelPermissions::refresh() @@ -949,19 +956,19 @@ void LLPanelPermissions::refresh()  	getChild<LLUICtrl>("search_check")->setValue(include_in_search);  	getChild<LLUICtrl>("search_check")->setTentative( 				!all_include_in_search); -	// Click action (touch, sit, buy) +	// Click action (touch, sit, buy, pay, open, play, open media, zoom, ignore)  	U8 click_action = 0;  	if (LLSelectMgr::getInstance()->selectionGetClickAction(&click_action))  	{  		LLComboBox*	combo_click_action = getChild<LLComboBox>("clickaction"); -		if(combo_click_action) +		if (combo_click_action)  		{  			const std::string combo_value = click_action_to_string_value(click_action);  			combo_click_action->setValue(LLSD(combo_value));  		}  	} -	if(LLSelectMgr::getInstance()->getSelection()->isAttachment()) +	if (LLSelectMgr::getInstance()->getSelection()->isAttachment())  	{  		getChildView("checkbox for sale")->setEnabled(FALSE);  		getChildView("Edit Cost")->setEnabled(FALSE); diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp index 7fa06f51e3..225751ab92 100644 --- a/indra/newview/llsidepaneltaskinfo.cpp +++ b/indra/newview/llsidepaneltaskinfo.cpp @@ -849,7 +849,7 @@ void LLSidepanelTaskInfo::refresh()  	const BOOL all_include_in_search = LLSelectMgr::getInstance()->selectionGetIncludeInSearch(&include_in_search);  	getChildView("search_check")->setEnabled(has_change_sale_ability && all_volume);  	getChild<LLUICtrl>("search_check")->setValue(include_in_search); -	getChild<LLUICtrl>("search_check")->setTentative( 				!all_include_in_search); +	getChild<LLUICtrl>("search_check")->setTentative(!all_include_in_search);  	// Click action (touch, sit, buy)  	U8 click_action = 0; @@ -1150,7 +1150,8 @@ static U8 string_value_to_click_action(std::string p_value)  void LLSidepanelTaskInfo::onCommitClickAction(LLUICtrl* ctrl, void*)  {  	LLComboBox* box = (LLComboBox*)ctrl; -	if (!box) return; +	if (!box) +		return;  	std::string value = box->getValue().asString();  	U8 click_action = string_value_to_click_action(value);  	doClickAction(click_action); diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 3e801a47d7..17c834326c 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -4003,6 +4003,11 @@ public:  			if (vobj)  			{ +				if (vobj->getClickAction() == CLICK_ACTION_IGNORE && !LLFloater::isVisible(gFloaterTools)) +				{ +					return false; +				} +  				LLVector4a intersection;  				bool skip_check = false;  				if (vobj->isAvatar()) diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index d9b0ac0060..684470e0fc 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -1114,11 +1114,15 @@                   label="Open"                   name="Open"                   value="Open" /> -				 <combo_box.item +                <combo_box.item                   label="Zoom"                   name="Zoom"                   value="Zoom" />                  <combo_box.item +                 label="Ignore object" +                 name="Ignoreobject" +                 value="Ignore" /> +                <combo_box.item                   label="None"                   name="None"                   value="None" /> diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml index 0b32215964..5f0241512a 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml @@ -300,6 +300,10 @@                   name="Zoom"                   value="Zoom" />                  <combo_box.item +                 label="Ignore object" +                 name="Ignoreobject" +                 value="Ignore" /> +                <combo_box.item                   label="None"                   name="None"                   value="None" /> | 
