summaryrefslogtreecommitdiff
path: root/indra/newview/llnotificationlistitem.h
diff options
context:
space:
mode:
authorpavelk_productengine <pavelkproductengine@lindenlab.com>2015-04-08 19:51:39 +0300
committerpavelk_productengine <pavelkproductengine@lindenlab.com>2015-04-08 19:51:39 +0300
commit60d28437e616a6afda51a368ea40ad49a707d16c (patch)
tree04f154acd879dc11c9a05e078030918bd0966eb9 /indra/newview/llnotificationlistitem.h
parentb147d659dc0c94a972f1c82f16536b374ee10c19 (diff)
MAINT-4734 (Separate transaction notices from group notice/invites)
1) added GroupNotice notification type and tab "Group" for it; 2) added Attachment field to group notice notifications which may contain inventory offers, notecards, etc; 3) added Fee field to Group Invite notifications; 4) added notification resize depending on attachment field.
Diffstat (limited to 'indra/newview/llnotificationlistitem.h')
-rw-r--r--indra/newview/llnotificationlistitem.h82
1 files changed, 63 insertions, 19 deletions
diff --git a/indra/newview/llnotificationlistitem.h b/indra/newview/llnotificationlistitem.h
index 22003a3a6a..bd76d17fe8 100644
--- a/indra/newview/llnotificationlistitem.h
+++ b/indra/newview/llnotificationlistitem.h
@@ -35,6 +35,7 @@
#include "llavatariconctrl.h"
#include "llgroupmgr.h"
+#include "llviewermessage.h"
#include <string>
@@ -49,15 +50,21 @@ public:
LLUUID paid_to_id;
std::string notification_name;
std::string title;
+ std::string subject;
+ std::string message;
std::string sender;
- LLDate time_stamp;
+ S32 fee;
+ LLDate time_stamp;
+ LLDate received_time;
+ LLSD inventory_offer;
Params() {};
};
static LLNotificationListItem* create(const Params& p);
- static std::set<std::string> getInviteTypes();
static std::set<std::string> getTransactionTypes();
+ static std::set<std::string> getGroupInviteTypes();
+ static std::set<std::string> getGroupNoticeTypes();
// title
void setTitle( std::string title );
@@ -99,43 +106,80 @@ protected:
LLButton* mCondenseBtn;
LLButton* mCloseBtn;
LLButton* mCloseBtnExp;
- LLLayoutStack* mVerticalStack;
LLPanel* mCondensedViewPanel;
LLPanel* mExpandedViewPanel;
- LLPanel* mMainPanel;
std::string mTitle;
std::string mNotificationName;
- S32 mCondensedHeight;
- S32 mExpandedHeight;
+ S32 mCondensedHeight;
+ S32 mExpandedHeight;
+ S32 mExpandedHeightResize;
};
-class LLInviteNotificationListItem
+class LLGroupNotificationListItem
: public LLNotificationListItem, public LLGroupMgrObserver
{
public:
- static std::set<std::string> getTypes();
virtual BOOL postBuild();
void setGroupId(const LLUUID& value);
// LLGroupMgrObserver observer trigger
virtual void changed(LLGroupChange gc);
-private:
- friend class LLNotificationListItem;
- LLInviteNotificationListItem(const Params& p);
- LLInviteNotificationListItem(const LLInviteNotificationListItem &);
- LLInviteNotificationListItem & operator=(LLInviteNotificationListItem &);
- void setSender(std::string sender);
- void setGroupName(std::string name);
-
- bool updateFromCache();
+ friend class LLNotificationListItem;
+protected:
+ LLGroupNotificationListItem(const Params& p);
LLGroupIconCtrl* mGroupIcon;
LLGroupIconCtrl* mGroupIconExp;
LLUUID mGroupId;
- LLTextBox* mSenderBox;
- LLTextBox* mSenderBoxExp;
+ LLTextBox* mSenderOrFeeBox;
+ LLTextBox* mSenderOrFeeBoxExp;
LLTextBox* mGroupNameBoxExp;
+
+private:
+ LLGroupNotificationListItem(const LLGroupNotificationListItem &);
+ LLGroupNotificationListItem & operator=(LLGroupNotificationListItem &);
+
+ void setGroupName(std::string name);
+ bool updateFromCache();
+};
+
+class LLGroupInviteNotificationListItem
+ : public LLGroupNotificationListItem
+{
+public:
+ static std::set<std::string> getTypes();
+ virtual BOOL postBuild();
+
+private:
+ friend class LLNotificationListItem;
+ LLGroupInviteNotificationListItem(const Params& p);
+ LLGroupInviteNotificationListItem(const LLGroupInviteNotificationListItem &);
+ LLGroupInviteNotificationListItem & operator=(LLGroupInviteNotificationListItem &);
+
+ void setFee(S32 fee);
+};
+
+class LLGroupNoticeNotificationListItem
+ : public LLGroupNotificationListItem
+{
+public:
+ static std::set<std::string> getTypes();
+ virtual BOOL postBuild();
+
+private:
+ friend class LLNotificationListItem;
+ LLGroupNoticeNotificationListItem(const Params& p);
+ LLGroupNoticeNotificationListItem(const LLGroupNoticeNotificationListItem &);
+ LLGroupNoticeNotificationListItem & operator=(LLGroupNoticeNotificationListItem &);
+
+ void setSender(std::string sender);
+
+ LLPanel* mAttachmentPanel;
+ LLTextBox* mAttachmentTextBox;
+ LLIconCtrl* mAttachmentIcon;
+ LLIconCtrl* mAttachmentIconExp;
+ LLOfferInfo* mInventoryOffer;
};
class LLTransactionNotificationListItem : public LLNotificationListItem