diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llfirstuse.cpp | 58 | ||||
| -rw-r--r-- | indra/newview/llfirstuse.h | 9 | 
2 files changed, 38 insertions, 29 deletions
| diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index 4c17199895..4d252dc662 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -41,35 +41,36 @@  // static -std::set<std::string> LLFirstUse::sConfigVariables; +//std::set<std::string> LLFirstUse::sConfigVariables; +std::set<std::string> LLFirstUse::sConfigVariablesEnabled;  // static -void LLFirstUse::addConfigVariable(const std::string& var) -{ -	sConfigVariables.insert(var); -} +//void LLFirstUse::addConfigVariable(const std::string& var) +//{ +//	sConfigVariables.insert(var); +//}  // static -void LLFirstUse::disableFirstUse() -{ -	// Set all first-use warnings to disabled -	for (std::set<std::string>::iterator iter = sConfigVariables.begin(); -		 iter != sConfigVariables.end(); ++iter) -	{ -		gWarningSettings.setBOOL(*iter, FALSE); -	} -} +//void LLFirstUse::disableFirstUse() +//{ +//	// Set all first-use warnings to disabled +//	for (std::set<std::string>::iterator iter = sConfigVariables.begin(); +//		 iter != sConfigVariables.end(); ++iter) +//	{ +//		gWarningSettings.setBOOL(*iter, FALSE); +//	} +//}  // static -void LLFirstUse::resetFirstUse() -{ -	// Set all first-use warnings to disabled -	for (std::set<std::string>::iterator iter = sConfigVariables.begin(); -		 iter != sConfigVariables.end(); ++iter) -	{ -		gWarningSettings.setBOOL(*iter, TRUE); -	} -} +//void LLFirstUse::resetFirstUse() +//{ +//	// Set all first-use warnings to disabled +//	for (std::set<std::string>::iterator iter = sConfigVariables.begin(); +//		 iter != sConfigVariables.end(); ++iter) +//	{ +//		gWarningSettings.setBOOL(*iter, TRUE); +//	} +//}  // static  void LLFirstUse::otherAvatarChatFirst(bool enable) @@ -151,13 +152,21 @@ void LLFirstUse::firstUseNotification(const std::string& control_var, bool enabl  	if (enable)  	{ +		if(sConfigVariablesEnabled.find(control_var) != sConfigVariablesEnabled.end()) +		{ +			return ; //already added +		} +  		if (gSavedSettings.getBOOL("EnableUIHints"))  		{  			LL_DEBUGS("LLFirstUse") << "Trigger first use notification " << notification_name << LL_ENDL;  			// if notification doesn't already exist and this notification hasn't been disabled...  			if (gWarningSettings.getBOOL(control_var)) -			{ // create new notification +			{  +				sConfigVariablesEnabled.insert(control_var) ; + +				// create new notification  				LLNotifications::instance().add(LLNotification::Params().name(notification_name).substitutions(args).payload(payload.with("control_var", control_var)));  			}  		} @@ -169,7 +178,6 @@ void LLFirstUse::firstUseNotification(const std::string& control_var, bool enabl  		// redundantly clear settings var here, in case there are no notifications to cancel  		gWarningSettings.setBOOL(control_var, FALSE);  	} -  }  // static diff --git a/indra/newview/llfirstuse.h b/indra/newview/llfirstuse.h index 81659988e6..489f58626a 100644 --- a/indra/newview/llfirstuse.h +++ b/indra/newview/llfirstuse.h @@ -78,11 +78,11 @@ class LLFirstUse  public:  	// Add a config variable to be reset on resetFirstUse() -	static void addConfigVariable(const std::string& var); +	//static void addConfigVariable(const std::string& var);  	// Sets all controls back to show the dialogs. -	static void disableFirstUse(); -	static void resetFirstUse(); +	//static void disableFirstUse(); +	//static void resetFirstUse();  	static void otherAvatarChatFirst(bool enable = true);  	static void sit(bool enable = true); @@ -98,7 +98,8 @@ public:  protected:  	static void firstUseNotification(const std::string& control_var, bool enable, const std::string& notification_name, LLSD args = LLSD(), LLSD payload = LLSD()); -	static std::set<std::string> sConfigVariables; +	//static std::set<std::string> sConfigVariables; +	static std::set<std::string> sConfigVariablesEnabled;  	static void init();  	static bool processNotification(const LLSD& notify); | 
