diff options
| author | Richard Nelson <none@none> | 2010-08-16 14:59:29 -0700 | 
|---|---|---|
| committer | Richard Nelson <none@none> | 2010-08-16 14:59:29 -0700 | 
| commit | 94e406157d0b133d51b5dbb95aab296b46eae10e (patch) | |
| tree | 5b3b7ba6d5abfa6faaffeef56c96d91b57398eee /indra | |
| parent | 1fe2cb24f4288840fd682cae8274c193d66a1886 (diff) | |
added ability to cancel all notifications with a given name
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llnotifications.cpp | 15 | ||||
| -rw-r--r-- | indra/llui/llnotifications.h | 1 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 7fa3c2cf65..2da8f1eb1b 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -1423,6 +1423,21 @@ void LLNotifications::cancel(LLNotificationPtr pNotif)  	updateItem(LLSD().with("sigtype", "delete").with("id", pNotif->id()), pNotif);  } +void LLNotifications::cancelByName(const std::string& name) +{ +	for (LLNotificationSet::iterator it=mItems.begin(), end_it = mItems.end(), next_it = it; +		it != end_it; +		it = next_it, ++next_it) +	{ +		LLNotificationPtr pNotif = *it; +		if (pNotif->getName() == name) +		{ +			pNotif->cancel(); +			updateItem(LLSD().with("sigtype", "delete").with("id", pNotif->id()), pNotif); +		} +	} +} +  void LLNotifications::update(const LLNotificationPtr pNotif)  {  	LLNotificationSet::iterator it=mItems.find(pNotif); diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index 1cdd744a68..fcf988222d 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -900,6 +900,7 @@ public:  	void add(const LLNotificationPtr pNotif);  	void cancel(LLNotificationPtr pNotif); +	void cancelByName(const std::string& name);  	void update(const LLNotificationPtr pNotif);  	LLNotificationPtr find(LLUUID uuid); | 
