summaryrefslogtreecommitdiff
path: root/indra/llui/llnotificationtemplate.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llnotificationtemplate.h')
-rw-r--r--indra/llui/llnotificationtemplate.h498
1 files changed, 249 insertions, 249 deletions
diff --git a/indra/llui/llnotificationtemplate.h b/indra/llui/llnotificationtemplate.h
index a8902486e4..0f77251ffe 100644
--- a/indra/llui/llnotificationtemplate.h
+++ b/indra/llui/llnotificationtemplate.h
@@ -6,21 +6,21 @@
* $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
-*
+*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
-*
+*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
-*
+*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
+*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -33,212 +33,212 @@
typedef std::shared_ptr<LLNotificationForm> LLNotificationFormPtr;
-// This is the class of object read from the XML file (notifications.xml,
+// This is the class of object read from the XML file (notifications.xml,
// from the appropriate local language directory).
struct LLNotificationTemplate
{
- struct CombineBehaviorNames
- : public LLInitParam::TypeValuesHelper<LLNotification::ECombineBehavior, CombineBehaviorNames>
- {
- static void declareValues()
- {
- declare("replace_with_new", LLNotification::REPLACE_WITH_NEW);
- declare("combine_with_new", LLNotification::COMBINE_WITH_NEW);
- declare("keep_old", LLNotification::KEEP_OLD);
- declare("cancel_old", LLNotification::CANCEL_OLD);
- }
- };
-
-
- struct GlobalString : public LLInitParam::Block<GlobalString>
- {
- Mandatory<std::string> name,
- value;
-
- GlobalString()
- : name("name"),
- value("value")
- {}
- };
-
- struct UniquenessContext : public LLInitParam::Block<UniquenessContext>
- {
- Mandatory<std::string> value;
-
- UniquenessContext()
- : value("value")
- {
- addSynonym(value, "key");
- }
-
- };
-
- struct UniquenessConstraint : public LLInitParam::Block<UniquenessConstraint>
- {
- private:
- // this idiom allows
- // <notification> <unique/> </notification>
- // as well as
- // <notification> <unique> <context></context> </unique>...
- Optional<LLInitParam::Flag> dummy_val;
- public:
- Multiple<UniquenessContext> contexts;
- Optional<LLNotification::ECombineBehavior, CombineBehaviorNames> combine;
-
- UniquenessConstraint()
- : contexts("context"),
- combine("combine", LLNotification::REPLACE_WITH_NEW),
- dummy_val("")
- {}
- };
-
- // Templates are used to define common form types, such as OK/Cancel dialogs, etc.
-
- struct Template : public LLInitParam::Block<Template>
- {
- Mandatory<std::string> name;
- Mandatory<LLNotificationForm::Params> form;
-
- Template()
- : name("name"),
- form("form")
- {}
- };
-
- // Reference a template to use its form elements
- struct TemplateRef : public LLInitParam::Block<TemplateRef>
- {
- Mandatory<std::string> name;
- Optional<std::string> yes_text,
- no_text,
- cancel_text,
- help_text,
- ignore_text;
-
- TemplateRef()
- : name("name"),
- yes_text("yestext"),
- no_text("notext"),
- cancel_text("canceltext"),
- help_text("helptext"),
- ignore_text("ignoretext")
- {}
- };
-
- struct URL : public LLInitParam::Block<URL>
- {
- Mandatory<S32> option;
- Mandatory<std::string> value;
- Optional<std::string> target;
- Ignored name;
-
- URL()
- : option("option", -1),
- value("value"),
- target("target", "_blank"),
- name("name")
- {}
- };
-
- struct FormRef : public LLInitParam::ChoiceBlock<FormRef>
- {
- Alternative<LLNotificationForm::Params> form;
- Alternative<TemplateRef> form_template;
-
- FormRef()
- : form("form"),
- form_template("usetemplate")
- {}
- };
-
- struct Tag : public LLInitParam::Block<Tag>
- {
- Mandatory<std::string> value;
-
- Tag()
- : value("value")
- {}
- };
-
- struct Footer : public LLInitParam::Block<Footer>
- {
- Mandatory<std::string> value;
-
- Footer()
- : value("value")
- {
- addSynonym(value, "");
- }
- };
-
- struct Params : public LLInitParam::Block<Params>
- {
- Mandatory<std::string> name;
- Optional<bool> persist,
- log_to_im,
- show_toast,
- fade_toast,
- log_to_chat,
- force_urls_external;
- Optional<std::string> functor,
- icon,
- label,
- sound,
- type,
- value;
- Optional<U32> duration;
- Optional<S32> expire_option;
- Optional<URL> url;
- Optional<UniquenessConstraint> unique;
- Optional<FormRef> form_ref;
- Optional<ENotificationPriority,
- NotificationPriorityValues> priority;
- Multiple<Tag> tags;
- Optional<Footer> footer;
-
-
- Params()
- : name("name"),
- persist("persist", false),
- fade_toast("fade_toast", true),
- log_to_im("log_to_im", false),
- show_toast("show_toast", true),
- log_to_chat("log_to_chat", true),
- force_urls_external("force_urls_external", false),
- functor("functor"),
- icon("icon"),
- label("label"),
- priority("priority"),
- sound("sound"),
- type("type"),
- value("value"),
- duration("duration"),
- expire_option("expireOption", -1),
- url("url"),
- unique("unique"),
- form_ref(""),
- tags("tag"),
- footer("footer")
- {}
-
- };
-
- struct Notifications : public LLInitParam::Block<Notifications>
- {
- Multiple<GlobalString> strings;
- Multiple<Template> templates;
- Multiple<Params> notifications;
-
- Notifications()
- : strings("global"),
- notifications("notification"),
- templates("template")
- {}
- };
-
- LLNotificationTemplate(const Params& p);
+ struct CombineBehaviorNames
+ : public LLInitParam::TypeValuesHelper<LLNotification::ECombineBehavior, CombineBehaviorNames>
+ {
+ static void declareValues()
+ {
+ declare("replace_with_new", LLNotification::REPLACE_WITH_NEW);
+ declare("combine_with_new", LLNotification::COMBINE_WITH_NEW);
+ declare("keep_old", LLNotification::KEEP_OLD);
+ declare("cancel_old", LLNotification::CANCEL_OLD);
+ }
+ };
+
+
+ struct GlobalString : public LLInitParam::Block<GlobalString>
+ {
+ Mandatory<std::string> name,
+ value;
+
+ GlobalString()
+ : name("name"),
+ value("value")
+ {}
+ };
+
+ struct UniquenessContext : public LLInitParam::Block<UniquenessContext>
+ {
+ Mandatory<std::string> value;
+
+ UniquenessContext()
+ : value("value")
+ {
+ addSynonym(value, "key");
+ }
+
+ };
+
+ struct UniquenessConstraint : public LLInitParam::Block<UniquenessConstraint>
+ {
+ private:
+ // this idiom allows
+ // <notification> <unique/> </notification>
+ // as well as
+ // <notification> <unique> <context></context> </unique>...
+ Optional<LLInitParam::Flag> dummy_val;
+ public:
+ Multiple<UniquenessContext> contexts;
+ Optional<LLNotification::ECombineBehavior, CombineBehaviorNames> combine;
+
+ UniquenessConstraint()
+ : contexts("context"),
+ combine("combine", LLNotification::REPLACE_WITH_NEW),
+ dummy_val("")
+ {}
+ };
+
+ // Templates are used to define common form types, such as OK/Cancel dialogs, etc.
+
+ struct Template : public LLInitParam::Block<Template>
+ {
+ Mandatory<std::string> name;
+ Mandatory<LLNotificationForm::Params> form;
+
+ Template()
+ : name("name"),
+ form("form")
+ {}
+ };
+
+ // Reference a template to use its form elements
+ struct TemplateRef : public LLInitParam::Block<TemplateRef>
+ {
+ Mandatory<std::string> name;
+ Optional<std::string> yes_text,
+ no_text,
+ cancel_text,
+ help_text,
+ ignore_text;
+
+ TemplateRef()
+ : name("name"),
+ yes_text("yestext"),
+ no_text("notext"),
+ cancel_text("canceltext"),
+ help_text("helptext"),
+ ignore_text("ignoretext")
+ {}
+ };
+
+ struct URL : public LLInitParam::Block<URL>
+ {
+ Mandatory<S32> option;
+ Mandatory<std::string> value;
+ Optional<std::string> target;
+ Ignored name;
+
+ URL()
+ : option("option", -1),
+ value("value"),
+ target("target", "_blank"),
+ name("name")
+ {}
+ };
+
+ struct FormRef : public LLInitParam::ChoiceBlock<FormRef>
+ {
+ Alternative<LLNotificationForm::Params> form;
+ Alternative<TemplateRef> form_template;
+
+ FormRef()
+ : form("form"),
+ form_template("usetemplate")
+ {}
+ };
+
+ struct Tag : public LLInitParam::Block<Tag>
+ {
+ Mandatory<std::string> value;
+
+ Tag()
+ : value("value")
+ {}
+ };
+
+ struct Footer : public LLInitParam::Block<Footer>
+ {
+ Mandatory<std::string> value;
+
+ Footer()
+ : value("value")
+ {
+ addSynonym(value, "");
+ }
+ };
+
+ struct Params : public LLInitParam::Block<Params>
+ {
+ Mandatory<std::string> name;
+ Optional<bool> persist,
+ log_to_im,
+ show_toast,
+ fade_toast,
+ log_to_chat,
+ force_urls_external;
+ Optional<std::string> functor,
+ icon,
+ label,
+ sound,
+ type,
+ value;
+ Optional<U32> duration;
+ Optional<S32> expire_option;
+ Optional<URL> url;
+ Optional<UniquenessConstraint> unique;
+ Optional<FormRef> form_ref;
+ Optional<ENotificationPriority,
+ NotificationPriorityValues> priority;
+ Multiple<Tag> tags;
+ Optional<Footer> footer;
+
+
+ Params()
+ : name("name"),
+ persist("persist", false),
+ fade_toast("fade_toast", true),
+ log_to_im("log_to_im", false),
+ show_toast("show_toast", true),
+ log_to_chat("log_to_chat", true),
+ force_urls_external("force_urls_external", false),
+ functor("functor"),
+ icon("icon"),
+ label("label"),
+ priority("priority"),
+ sound("sound"),
+ type("type"),
+ value("value"),
+ duration("duration"),
+ expire_option("expireOption", -1),
+ url("url"),
+ unique("unique"),
+ form_ref(""),
+ tags("tag"),
+ footer("footer")
+ {}
+
+ };
+
+ struct Notifications : public LLInitParam::Block<Notifications>
+ {
+ Multiple<GlobalString> strings;
+ Multiple<Template> templates;
+ Multiple<Params> notifications;
+
+ Notifications()
+ : strings("global"),
+ notifications("notification"),
+ templates("template")
+ {}
+ };
+
+ LLNotificationTemplate(const Params& p);
// the name of the notification -- the key used to identify it
- // Ideally, the key should follow variable naming rules
+ // Ideally, the key should follow variable naming rules
// (no spaces or punctuation).
std::string mName;
// The type of the notification
@@ -249,13 +249,13 @@ struct LLNotificationTemplate
std::string mMessage;
// The text used to display the notification, but under the form.
std::string mFooter;
- // The label for the notification; used for
- // certain classes of notification (those with a window and a window title).
- // Also used when a notification pops up underneath the current one.
- // Replaceable parameters can be used in the label.
- std::string mLabel;
- // The name of the icon image. This should include an extension.
- std::string mIcon;
+ // The label for the notification; used for
+ // certain classes of notification (those with a window and a window title).
+ // Also used when a notification pops up underneath the current one.
+ // Replaceable parameters can be used in the label.
+ std::string mLabel;
+ // The name of the icon image. This should include an extension.
+ std::string mIcon;
// This is the Highlander bit -- "There Can Be Only One"
// An outstanding notification with this bit set
// is updated by an incoming notification with the same name,
@@ -263,25 +263,25 @@ struct LLNotificationTemplate
// (used for things like progress indications, or repeating warnings
// like "the grid is going down in N minutes")
bool mUnique;
- LLNotification::ECombineBehavior mCombineBehavior;
+ LLNotification::ECombineBehavior mCombineBehavior;
// if we want to be unique only if a certain part of the payload or substitutions args
- // are constant specify the field names for the payload. The notification will only be
+ // are constant specify the field names for the payload. The notification will only be
// combined if all of the fields named in the context are identical in the
// new and the old notification; otherwise, the notification will be
// duplicated. This is to support suppressing duplicate offers from the same
// sender but still differentiating different offers. Example: Invitation to
// conference chat.
std::vector<std::string> mUniqueContext;
- // If this notification expires automatically, this value will be
+ // If this notification expires automatically, this value will be
// nonzero, and indicates the number of seconds for which the notification
- // will be valid (a teleport offer, for example, might be valid for
- // 300 seconds).
+ // will be valid (a teleport offer, for example, might be valid for
+ // 300 seconds).
U32 mExpireSeconds;
// if the offer expires, one of the options is chosen automatically
- // based on its "value" parameter. This controls which one.
+ // based on its "value" parameter. This controls which one.
// If expireSeconds is specified, expireOption should also be specified.
U32 mExpireOption;
- // if the notification contains a url, it's stored here (and replaced
+ // if the notification contains a url, it's stored here (and replaced
// into the message where [_URL] is found)
std::string mURL;
// if there's a URL in the message, this controls which option visits
@@ -289,36 +289,36 @@ struct LLNotificationTemplate
// messages when we allow clickable URLs in the UI
U32 mURLOption;
- //This is a flag that tells if option url needs to open externally dispite
- //what the user setting is.
- std::string mURLTarget;
-
- // All links clicked inside notification will be opened in external browser
- // Note: Some notifications block and exit viewer, yet they provide a link
- // to click, we should be able to open such links in external browser.
- bool mForceUrlsExternal;
-
- // does this notification persist across sessions? if so, it will be
- // serialized to disk on first receipt and read on startup
- bool mPersist;
- // This is the name of the default functor, if present, to be
- // used for the notification's callback. It is optional, and used only if
- // the notification is constructed without an identified functor.
- std::string mDefaultFunctor;
- // The form data associated with a given notification (buttons, text boxes, etc)
+ //This is a flag that tells if option url needs to open externally dispite
+ //what the user setting is.
+ std::string mURLTarget;
+
+ // All links clicked inside notification will be opened in external browser
+ // Note: Some notifications block and exit viewer, yet they provide a link
+ // to click, we should be able to open such links in external browser.
+ bool mForceUrlsExternal;
+
+ // does this notification persist across sessions? if so, it will be
+ // serialized to disk on first receipt and read on startup
+ bool mPersist;
+ // This is the name of the default functor, if present, to be
+ // used for the notification's callback. It is optional, and used only if
+ // the notification is constructed without an identified functor.
+ std::string mDefaultFunctor;
+ // The form data associated with a given notification (buttons, text boxes, etc)
LLNotificationFormPtr mForm;
- // default priority for notifications of this type
- ENotificationPriority mPriority;
- // Stores the sound name which can then be used to play the sound using make_ui_sound
- std::string mSoundName;
- // List of tags that rules can match against.
- std::list<std::string> mTags;
-
- // inject these notifications into chat/IM streams
- bool mLogToChat;
- bool mLogToIM;
- bool mShowToast;
- bool mFadeToast;
+ // default priority for notifications of this type
+ ENotificationPriority mPriority;
+ // Stores the sound name which can then be used to play the sound using make_ui_sound
+ std::string mSoundName;
+ // List of tags that rules can match against.
+ std::list<std::string> mTags;
+
+ // inject these notifications into chat/IM streams
+ bool mLogToChat;
+ bool mLogToIM;
+ bool mShowToast;
+ bool mFadeToast;
};
#endif //LL_LLNOTIFICATION_TEMPLATE_H