summaryrefslogtreecommitdiff
path: root/indra/newview/llsyswellitem.h
diff options
context:
space:
mode:
authorpavelk_productengine <none@none>2015-01-09 20:17:39 +0200
committerpavelk_productengine <none@none>2015-01-09 20:17:39 +0200
commite5d6a14f05f857ecbbbd9b464db3ece82d1d099f (patch)
tree65954afb82a7b2e1df300ea714afd88460ac3660 /indra/newview/llsyswellitem.h
parent4ec9bce3c2a715f53938e4568c95b7a2bdfc9e16 (diff)
MAINT-4734 (Separate transaction notices from group notice/invites) - initial version
Works: 1) All new notices shown on "Invites" tab of new floater "NOTIFICATIONS TABBED" in condensed view To be done: 1) Show other types of notices, like transactions and system 2) Separate notices between tabs "Invites", "System", "Transactions" 3) Design full notice view (in addition to condensed view)
Diffstat (limited to 'indra/newview/llsyswellitem.h')
-rwxr-xr-xindra/newview/llsyswellitem.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/indra/newview/llsyswellitem.h b/indra/newview/llsyswellitem.h
index d961708a01..4379b8dc22 100755
--- a/indra/newview/llsyswellitem.h
+++ b/indra/newview/llsyswellitem.h
@@ -32,6 +32,8 @@
#include "llbutton.h"
#include "lliconctrl.h"
+#include "llgroupmgr.h"
+
#include <string>
class LLSysWellItem : public LLPanel
@@ -76,6 +78,58 @@ private:
LLUUID mID;
};
+class LLNotificationTabbedItem : public LLPanel
+{
+public:
+ struct Params : public LLInitParam::Block<Params, LLPanel::Params>
+ {
+ LLUUID notification_id;
+ LLUUID group_id;
+ std::string title;
+ std::string sender;
+ LLDate time_stamp;
+ Params() {};
+ };
+
+
+ LLNotificationTabbedItem(const Params& p);
+ virtual ~LLNotificationTabbedItem();
+
+ // title
+ void setTitle( std::string title );
+ void setGroupID(const LLUUID& group_id);
+ void setGroupIconID(const LLUUID& group_icon_id);
+ void setGroupName(const std::string& group_name);
+
+ // get item's ID
+ LLUUID getID() { return mID; }
+
+ // handlers
+ virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
+ virtual void onMouseEnter(S32 x, S32 y, MASK mask);
+ virtual void onMouseLeave(S32 x, S32 y, MASK mask);
+
+ //callbacks
+ typedef boost::function<void (LLNotificationTabbedItem* item)> item_callback_t;
+ typedef boost::signals2::signal<void (LLNotificationTabbedItem* item)> item_signal_t;
+ item_signal_t mOnItemClose;
+ item_signal_t mOnItemClick;
+ boost::signals2::connection setOnItemCloseCallback(item_callback_t cb) { return mOnItemClose.connect(cb); }
+ boost::signals2::connection setOnItemClickCallback(item_callback_t cb) { return mOnItemClick.connect(cb); }
+
+private:
+ static std::string buildNotificationDate(const LLDate&);
+ void onClickCloseBtn();
+
+ LLTextBox* mTitle;
+ LLTextBox* mSender;
+ LLTextBox* mTimeBox;
+ LLIconCtrl* mGroupIcon;
+ LLButton* mCloseBtn;
+ LLUUID mID;
+ LLUUID mGroupID;
+};
+
#endif // LL_LLSYSWELLITEM_H