diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llnotifications.cpp | 6 | ||||
| -rw-r--r-- | indra/llui/llnotifications.h | 4 | ||||
| -rw-r--r-- | indra/newview/lltoastalertpanel.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 24 | 
4 files changed, 30 insertions, 8 deletions
diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 6710e9993d..7bafd711cb 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -67,7 +67,8 @@ LLNotificationForm::FormIgnore::FormIgnore()  :	text("text"),  	control("control"),  	invert_control("invert_control", false), -	save_option("save_option", false) +	save_option("save_option", false), +	session_only("session_only", false)  {}  LLNotificationForm::FormButton::FormButton() @@ -125,6 +126,7 @@ bool handleIgnoredNotification(const LLSD& payload)  		switch(form->getIgnoreType())  		{  		case LLNotificationForm::IGNORE_WITH_DEFAULT_RESPONSE: +		case LLNotificationForm::IGNORE_WITH_DEFAULT_RESPONSE_SESSION_ONLY:  			response = pNotif->getResponseTemplate(LLNotification::WITH_DEFAULT_BUTTON);  			break;  		case LLNotificationForm::IGNORE_WITH_LAST_RESPONSE: @@ -197,7 +199,7 @@ LLNotificationForm::LLNotificationForm(const std::string& name, const LLNotifica  		if (!p.ignore.save_option)  		{ -			mIgnore = IGNORE_WITH_DEFAULT_RESPONSE; +			mIgnore = p.ignore.session_only ? IGNORE_WITH_DEFAULT_RESPONSE_SESSION_ONLY : IGNORE_WITH_DEFAULT_RESPONSE;  		}  		else  		{ diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index b06d7cbf4c..ccdfb90054 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -179,6 +179,7 @@ public:  		Optional<bool>			save_option;  		Optional<std::string>	control;  		Optional<bool>			invert_control; +		Optional<bool>			session_only;  		FormIgnore();  	}; @@ -232,7 +233,8 @@ public:  	typedef enum e_ignore_type  	{   		IGNORE_NO, -		IGNORE_WITH_DEFAULT_RESPONSE,  +		IGNORE_WITH_DEFAULT_RESPONSE, +		IGNORE_WITH_DEFAULT_RESPONSE_SESSION_ONLY,  		IGNORE_WITH_LAST_RESPONSE,   		IGNORE_SHOW_AGAIN   	} EIgnoreType; diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp index bbce717c20..dbf0893e43 100644 --- a/indra/newview/lltoastalertpanel.cpp +++ b/indra/newview/lltoastalertpanel.cpp @@ -351,6 +351,10 @@ LLToastAlertPanel::LLToastAlertPanel( LLNotificationPtr notification, bool modal  	{  		setCheckBox(LLNotifications::instance().getGlobalString("skipnexttime"), ignore_label);  	} +	if (form->getIgnoreType() == LLNotificationForm::IGNORE_WITH_DEFAULT_RESPONSE_SESSION_ONLY) +	{ +		setCheckBox(LLNotifications::instance().getGlobalString("skipnexttimesessiononly"), ignore_label); +	}  	else if (form->getIgnoreType() == LLNotificationForm::IGNORE_WITH_LAST_RESPONSE)  	{  		setCheckBox(LLNotifications::instance().getGlobalString("alwayschoose"), ignore_label); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 71b0edb572..3ca7feae17 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4,6 +4,11 @@  		Don't show me this again    </global> +  <global name="skipnexttimesessiononly"> + +    Don't show me this again (for this session only) +  </global> +    <global name="alwayschoose">  		Always choose this option @@ -6004,11 +6009,20 @@ You cannot undo this action.      <unique/>      [QUESTION]      <tag>confirm</tag> -    <usetemplate -     ignoretext="Confirm before deleting items" -     name="okcancelignore" -     notext="Cancel" -     yestext="OK"/> +    <form name="form"> +     <ignore name="ignore" +      session_only="true" +      text="Confirm before deleting items"/> +      <button +       default="true" +       index="0" +       name="Yes" +       text="OK"/> +      <button +       index="1" +       name="No" +       text="Cancel"/> +    </form>    </notification>    <notification  | 
