From 9d8bbe16007ef9292a04856f55f71016cf1220bf Mon Sep 17 00:00:00 2001
From: pavelk_productengine <pavelkproductengine@lindenlab.com>
Date: Tue, 10 Feb 2015 19:56:32 +0200
Subject: [PATCH] MAINT-4734 (Separate transaction notices from group
 notice/invites) - introduced different design for System, Incoming/Outcoming
 Transactions, Invites

---
 indra/newview/llnotificationlistitem.cpp      | 120 ++++++++++++------
 indra/newview/llnotificationlistitem.h        |  14 +-
 .../icons/Incoming_Transaction_Small.png      | Bin 0 -> 1666 bytes
 .../icons/Outcoming_Transaction_Small.png     | Bin 0 -> 1322 bytes
 .../icons/System_Notification_Small.png       | Bin 0 -> 661 bytes
 .../skins/default/textures/textures.xml       |   3 +
 ...m.xml => panel_notification_list_item.xml} |  31 +++--
 7 files changed, 112 insertions(+), 56 deletions(-)
 create mode 100644 indra/newview/skins/default/textures/icons/Incoming_Transaction_Small.png
 create mode 100644 indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png
 create mode 100644 indra/newview/skins/default/textures/icons/System_Notification_Small.png
 rename indra/newview/skins/default/xui/en/{panel_notification_tabbed_item.xml => panel_notification_list_item.xml} (66%)

diff --git a/indra/newview/llnotificationlistitem.cpp b/indra/newview/llnotificationlistitem.cpp
index 4fdd6b1a54d..7f0e3460b14 100644
--- a/indra/newview/llnotificationlistitem.cpp
+++ b/indra/newview/llnotificationlistitem.cpp
@@ -35,25 +35,26 @@
 #include "lluicolortable.h"
 
 LLNotificationListItem::LLNotificationListItem(const Params& p) : LLPanel(p),
+    mParams(p),
     mTitleBox(NULL),
-    mCloseBtn(NULL),
-    mSenderBox(NULL)
+    mCloseBtn(NULL)
 {
-    buildFromFile( "panel_notification_tabbed_item.xml");
+    mID = p.notification_id;
+    mNotificationName = p.notification_name;
+}
 
-    mTitleBox = getChild<LLTextBox>("GroupName_NoticeTitle");
-    mTimeBox = getChild<LLTextBox>("Time_Box");
+BOOL LLNotificationListItem::postBuild()
+{
+    BOOL rv = LLPanel::postBuild();
+    mTitleBox = getChild<LLTextBox>("notification_title");
+    mTimeBox = getChild<LLTextBox>("notification_time");
     mCloseBtn = getChild<LLButton>("close_btn");
-    mSenderBox = getChild<LLTextBox>("Sender_Resident");
 
-    mTitleBox->setValue(p.title);
-    mTimeBox->setValue(buildNotificationDate(p.time_stamp));
-    mSenderBox->setVisible(FALSE);
+    mTitleBox->setValue(mParams.title);
+    mTimeBox->setValue(buildNotificationDate(mParams.time_stamp));
 
     mCloseBtn->setClickedCallback(boost::bind(&LLNotificationListItem::onClickCloseBtn,this));
-
-    mID = p.notification_id;
-    mNotificationName = p.notification_name;
+    return rv;
 }
 
 LLNotificationListItem::~LLNotificationListItem()
@@ -151,46 +152,87 @@ std::set<std::string> LLTransactionNotificationListItem::getTypes()
 std::set<std::string> LLSystemNotificationListItem::getTypes()
 {
     std::set<std::string> types;
-    types.insert("AddPrimitiveFailure");
-    types.insert("AddToNavMeshNoCopy");
-    types.insert("AssetServerTimeoutObjReturn");
-    types.insert("AvatarEjected");
-    types.insert("AutoUnmuteByIM");
-    types.insert("AutoUnmuteByInventory");
-    types.insert("AutoUnmuteByMoney");
-    types.insert("BuyInventoryFailedNoMoney");
-    types.insert("DeactivatedGesturesTrigger");
-    types.insert("DeedFailedNoPermToDeedForGroup");
-    types.insert("WhyAreYouTryingToWearShrubbery");
-    types.insert("YouDiedAndGotTPHome");
-    types.insert("YouFrozeAvatar");
-
-    types.insert("OfferCallingCard");
-    //ExpireExplanation
+    //types.insert("AddPrimitiveFailure");
+    //types.insert("AddToNavMeshNoCopy");
+    //types.insert("AssetServerTimeoutObjReturn");
+    //types.insert("AvatarEjected");
+    //types.insert("AutoUnmuteByIM");
+    //types.insert("AutoUnmuteByInventory");
+    //types.insert("AutoUnmuteByMoney");
+    //types.insert("BuyInventoryFailedNoMoney");
+    //types.insert("DeactivatedGesturesTrigger");
+    //types.insert("DeedFailedNoPermToDeedForGroup");
+    //types.insert("WhyAreYouTryingToWearShrubbery");
+    //types.insert("YouDiedAndGotTPHome");
+    //types.insert("YouFrozeAvatar");
+    //types.insert("OfferCallingCard");
     return types;
 }
 
 LLInviteNotificationListItem::LLInviteNotificationListItem(const Params& p)
-    : LLNotificationListItem(p)
+	: LLNotificationListItem(p),
+	mSenderBox(NULL)
 {
-    mGroupIcon = getChild<LLIconCtrl>("group_icon_small");
-    mGroupIcon->setValue(p.group_id);
-    mGroupID = p.group_id;
-    if (!p.sender.empty())
+	buildFromFile("panel_notification_list_item.xml");
+}
+
+BOOL LLInviteNotificationListItem::postBuild()
+{
+    BOOL rv = LLNotificationListItem::postBuild();
+    mGroupIcon = getChild<LLGroupIconCtrl>("group_icon");
+    mGroupIcon->setValue(mParams.group_id);
+	mGroupIcon->setVisible(TRUE);
+    mGroupID = mParams.group_id;
+	mSenderBox = getChild<LLTextBox>("sender_resident");
+    if (!mParams.sender.empty())
     {
         LLStringUtil::format_map_t string_args;
-        string_args["[SENDER_RESIDENT]"] = llformat("%s", p.sender.c_str());
+        string_args["[SENDER_RESIDENT]"] = llformat("%s", mParams.sender.c_str());
         std::string sender_text = getString("sender_resident_text", string_args);
         mSenderBox->setValue(sender_text);
         mSenderBox->setVisible(TRUE);
-    }
+    } else {
+		mSenderBox->setVisible(FALSE);
+	}
+    return rv;
 }
 
 LLTransactionNotificationListItem::LLTransactionNotificationListItem(const Params& p)
-    : LLNotificationListItem(p)
-{}
+    : LLNotificationListItem(p),
+	mTransactionIcon(NULL)
+{
+	buildFromFile("panel_notification_list_item.xml");
+}
+
+BOOL LLTransactionNotificationListItem::postBuild()
+{
+	BOOL rv = LLNotificationListItem::postBuild();
+	if (mParams.notification_name == "PaymentReceived")
+	{
+		mTransactionIcon = getChild<LLIconCtrl>("incoming_transaction_icon");
+	}
+	else if (mParams.notification_name == "PaymentSent")
+	{
+		mTransactionIcon = getChild<LLIconCtrl>("outcoming_transaction_icon");
+	}
+	if(mTransactionIcon)
+		mTransactionIcon->setVisible(TRUE);
+	return rv;
+}
 
 LLSystemNotificationListItem::LLSystemNotificationListItem(const Params& p)
-    :LLNotificationListItem(p)
-{}
+    : LLNotificationListItem(p),
+	mSystemNotificationIcon(NULL)
+{
+	buildFromFile("panel_notification_list_item.xml");
+}
+
+BOOL LLSystemNotificationListItem::postBuild()
+{
+	BOOL rv = LLNotificationListItem::postBuild();
+	mSystemNotificationIcon = getChild<LLIconCtrl>("system_notification_icon");
+	if (mSystemNotificationIcon)
+		mSystemNotificationIcon->setVisible(TRUE);
+	return rv;
+}
 
diff --git a/indra/newview/llnotificationlistitem.h b/indra/newview/llnotificationlistitem.h
index 89de0487be6..da6d792fb87 100644
--- a/indra/newview/llnotificationlistitem.h
+++ b/indra/newview/llnotificationlistitem.h
@@ -30,7 +30,7 @@
 #include "llpanel.h"
 #include "lltextbox.h"
 #include "llbutton.h"
-#include "lliconctrl.h"
+#include "llgroupiconctrl.h"
 
 #include "llgroupmgr.h"
 
@@ -76,6 +76,7 @@ class LLNotificationListItem : public LLPanel
     boost::signals2::connection setOnItemCloseCallback(item_callback_t cb) { return mOnItemClose.connect(cb); }
     boost::signals2::connection setOnItemClickCallback(item_callback_t cb) { return mOnItemClick.connect(cb); }
 
+    virtual BOOL postBuild();
 protected:
     LLNotificationListItem(const Params& p);
     virtual	~LLNotificationListItem();
@@ -83,13 +84,13 @@ class LLNotificationListItem : public LLPanel
     static std::string buildNotificationDate(const LLDate&);
     void onClickCloseBtn();
 
+    Params      mParams;
     LLTextBox*	mTitleBox;
     LLTextBox*  mTimeBox;
     LLButton*	mCloseBtn;
     LLUUID		mID;
     std::string mTitle;
     std::string mNotificationName;
-    LLTextBox*	mSenderBox;
 };
 
 class LLInviteNotificationListItem : public LLNotificationListItem
@@ -99,36 +100,43 @@ class LLInviteNotificationListItem : public LLNotificationListItem
     //void setGroupIconID(const LLUUID& group_icon_id);
     //void setGroupName(const std::string& group_name);
     static std::set<std::string> getTypes();
+
+    virtual BOOL postBuild();
 private:
     friend class LLNotificationListItem;
     LLInviteNotificationListItem(const Params& p);
     LLInviteNotificationListItem(const LLInviteNotificationListItem &);
     LLInviteNotificationListItem & operator=(LLInviteNotificationListItem &);
 
-    LLIconCtrl* mGroupIcon;
+    LLGroupIconCtrl* mGroupIcon;
     LLUUID		mGroupID;
+	LLTextBox*	mSenderBox;
 };
 
 class LLTransactionNotificationListItem : public LLNotificationListItem
 {
 public:
     static std::set<std::string> getTypes();
+	virtual BOOL postBuild();
 private:
     friend class LLNotificationListItem;
     LLTransactionNotificationListItem(const Params& p);
     LLTransactionNotificationListItem(const LLTransactionNotificationListItem &);
     LLTransactionNotificationListItem & operator=(LLTransactionNotificationListItem &);
+	LLIconCtrl* mTransactionIcon;
 };
 
 class LLSystemNotificationListItem : public LLNotificationListItem
 {
 public:
     static std::set<std::string> getTypes();
+	virtual BOOL postBuild();
 private:
     friend class LLNotificationListItem;
     LLSystemNotificationListItem(const Params& p);
     LLSystemNotificationListItem(const LLSystemNotificationListItem &);
     LLSystemNotificationListItem & operator=(LLSystemNotificationListItem &);
+	LLIconCtrl* mSystemNotificationIcon;
 };
 
 #endif // LL_LLNOTIFICATIONLISTITEM_H
diff --git a/indra/newview/skins/default/textures/icons/Incoming_Transaction_Small.png b/indra/newview/skins/default/textures/icons/Incoming_Transaction_Small.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b39770c63e3bc264ee9b1f36546ff7b9561f0b8
GIT binary patch
literal 1666
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
M07*qoM6N<$g0mqBbN~PV

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png b/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png
new file mode 100644
index 0000000000000000000000000000000000000000..96c6150f3bb690cacf477343301a2d8bfa3edf7f
GIT binary patch
literal 1322
zcmV+_1=aeAP)<h;3K|Lk000e1NJLTq000>P000>X0ssI2ON$aT00004XF*Lt006O%
z3;baP00009a7bBm000tm000tm0gNKK2LJ#77<5HgbW?9;ba!ELWdLwtX>N2bZe?^J
zG%heMHD!e|WdHyKs7XXYR7gvemD^7obri?vL0IlA>@s_q%WrmO_Qoy?lr1nop`loz
zP@t$SD6rXuU=$OHnivuqVneF2w#3?(Ce}jxM_8a--hIFtM51X3Aq^?_5D*X$zq3OJ
zY<<wl+0AEud(LOh`TZtY>M(j8931TL@4w1>dwV-OJNNH>x3#qe#!uQh5?*E1g`16y
z4ecHUU^V6N5SF#Iwb~1BcqO4EKe)8Cq^)m9FO4@hH<6|>1%)oc>gwvM#>ie+SSUYJ
z;&u>^NIa5In3uD@zK&x3VE|o<hA4a%o;_=8Z7IqR=I7<00N>%3=DFEfC3wmua4rY$
zcJL|)TwcIGH#hfwM>}$qU~c}Y?4n>^B-A=PJFB|zaIY-NgvImyZaK^2Dp3k1Cnt0K
zKAC5ogmVfUK<9wZ^YrQOr9}nEM7~qtvFMeh#l=M`)clUfGnX6cu~TRjJ!6o*YoCi8
zBk>3p5M@^9-m5+OXe%o#4Ry6x3^g}V!JL4=+R>dZ0_^VYJ{%mZdcDHI+7KdVM*ynN
zpC23;&~k7Akcp`YV-03!QQ1B($nSANrzb&*eeH-u@RPvW5CB9Z9KzmfIhqJnKBtUs
za{QT8md_h-*(6TYEiW(YB0xtZ%-gLzW94iX1Y8|$k*G&KK~3b5C8uD^_1NK|{F&}c
zW#osi0uF}uI;HvfdHu-SB4H?4D~-@}?cvZ#kz2x{Sto91zj>C2hw^*f4QKhk#+8v<
zSpq|Qoa%|70JDTzo9&hi1YC@j24F^gG^Z#?yk+9sY}7WCaXycW^17V$r7Z6Me5{~5
z-ez`64s55oU+rzS43ny(%>YC=)T)VOfruQ9j!<|ouGE+DnQql3*PUS@+8$A~?l_xS
z76o+o+ssUPS!rppQd(4mC@(9Uo}PwCB1B*^CT<5*(U|hbuu@yX!b7=bsiv6GM2OwT
z%A*@u44p0#9&fY$9_gcrgd=wI#5YmVxGLHog^O`XBIS~$izSRM+8M#43Y#hz+LR^<
z{NnTHCq;y?v?;x{lG`6U7NPKBiCuL`qNBRVc2e}o6=F^^b~X^JIhAnilgUYlFdfG*
z44u~5z?+OI-7Su-p(7E-tS+|8QI~K*v1+2d(ZY|f5R)<WPL~TwLpS^uvoS3-nKq+5
z*_L4(?a#t`|A(?EEw#HvfJNJ{D#Z#9B?>}if#pbanNK&SXd=Y+u=3;G?8bAppeMbt
zg8AuQuG$4g8&Ym{O2(9=?sv)NBL(wT6<Qnup#-=JEf96R&8MX#-|2GdA{?&9c=Db$
z&Wk+)-0YN)|5+1(tFnN05JC}-I~O#6^cI(zocJF_Dvv4HubUr;$%zS{Hu4pxX@Tb{
zp5u}e<5Q9n{+CGQ=uxV=q(m6tp*$XULVVnp?>V&Me-~-R{}h4ojqa{RNPL_D9;&ae
zFU}Bq+M7Ds@B8_F?$ki;%tJMve4qQvpbEb}P<i?V;{>K39Ip?5otfuKf#Hkm*VX@y
z+M1e}nAZ%3SVL@VY)lLy&VajP1|4%0UgAr2b?_YhKTb_ep~0)stEZ=@w^zd`AK}Za
g0jf}|Dh?0-20z%Ql2H)+Jpcdz07*qoM6N<$g66_(WB>pF

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/icons/System_Notification_Small.png b/indra/newview/skins/default/textures/icons/System_Notification_Small.png
new file mode 100644
index 0000000000000000000000000000000000000000..027a8446d89a6838de4c25b0c8f8a059d7600ed6
GIT binary patch
literal 661
zcmV;G0&4w<P)<h;3K|Lk000e1NJLTq000>P000>X1^@s6#OZ}&00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0xC&FK~zXf-IhJC
zF;Ni5$Ai%5M4?fLm&z9q5ky1y5E2C{QD}t3M^TfI5JDvc6+H!s1c^o{boTCyv9atf
zx46yoOJvS}&YYQZ&g^dJ1QGaS{;~a2J{DQ6R!}Guz~}RU$z%eZP6uYQnKb%w{u8Q2
z+U+(abi3VfI-Q_YD#2p0fbDh*^ZA@K`f(oPFkThx$t&VQ?2|B?&Df(2#$i0JQ{t@%
z1}BqAR&u)CF3tCPJ@&}KbxQk|T~{O$fp9nstyYUYa>RJDx7&^EE4VHc3Q-;z_gaE*
zI2;sr@yuj0p%}DUU<~GaAf2RKE<-k(Wu=VKXp~tsFi)jYVfFNMjmKk%Mx(5hu~;lJ
zs|M!5d=I1|;;HCS)Z*JBnCH1~QW3x35B+|hl`?w0o~*%OAgjh;Fra)A_tpr)Znyi`
zcqEg_@JJoZv)}JoiJC1D3<iZjAi(OK%jF_;IvuiV;CjsS%-hy+7qM83m7H3wM)PQu
zh{xlKx1o4HUayyeN23vY?yT2qA)QW>eFoz&-syC*M~-R}@LF&o{))vSd*$SEIVq;u
zY_j(q)glju!yzSkMSLLzm&+w=HXHV+Bl~tKaXz2H<MFTp5Svc#K`NDk<#GuQhl6J{
z;9{y^Gpp4qjT?;yovL21lm3>EMIQS|BoZ_}9*?AdgXVSR^Len_?Q}h2a;yectCeTJ
vN3)2{W`pbX3S#qNI-Roj_xvw^i2!~8oAoO7bM8ny00000NkvXXu0mjfiR3JC

literal 0
HcmV?d00001

diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 07449620642..66fe1198482 100755
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -801,5 +801,8 @@ with the same filename but different name
   <texture name="Icon_Group_Large" file_name="icons/Icon_Group_Large.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
   <texture name="Icon_Attachment_Small" file_name="icons/Icon_Attachment_Small.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
   <texture name="Icon_Attachment_Large" file_name="icons/Icon_Attachment_Large.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+  <texture name="System_Notification_Small" file_name="icons/System_Notification_Small.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+  <texture name="Incoming_Transaction_Small" file_name="icons/Incoming_Transaction_Small.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
+  <texture name="Outcoming_Transaction_Small" file_name="icons/Outcoming_Transaction_Small.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
 
 </textures>
diff --git a/indra/newview/skins/default/xui/en/panel_notification_tabbed_item.xml b/indra/newview/skins/default/xui/en/panel_notification_list_item.xml
similarity index 66%
rename from indra/newview/skins/default/xui/en/panel_notification_tabbed_item.xml
rename to indra/newview/skins/default/xui/en/panel_notification_list_item.xml
index 603a3312e0d..9bd9742a20f 100644
--- a/indra/newview/skins/default/xui/en/panel_notification_tabbed_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_notification_list_item.xml
@@ -2,8 +2,8 @@
 <!-- All our XML is utf-8 encoded. -->
 <panel
   translate="false"
-  name="panel_notification_tabbed_item"
-  title="panel_notification_tabbed_item"
+  name="panel_notification_list_item"
+  title="panel_notification_list_item"
   visible="true"
   top="0"
   left="0"
@@ -20,32 +20,35 @@
     Sender: "[SENDER_RESIDENT]"
   </panel.string>
 
-  <panel border="true" top="0" left="3" width="327" height="44" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="GroupNameNoticeTitlePanel">
+  <panel border="true" top="0" left="3" width="327" height="44" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="group_name_notice_title_panel">
     <layout_stack top="0" left="0" width="325" height="50" orientation="horizontal" follows="left|top|right|bottom" name="HorizontalStack">
-      <layout_panel width="30" height="22" orientation="horizontal" follows="left|top|right|bottom" name="LayoutPanel">
-        <group_icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="group_icon_small" tool_tip="Group" default_icon_name="Generic_Group"/>
+      <layout_panel width="30" height="22" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_1">
+        <group_icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="group_icon" tool_tip="Group" default_icon_name="Generic_Group" visible="false"/>
+        <icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="system_notification_icon" tool_tip="Icon" image_name="System_Notification_Small" visible="false"/>
+        <icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="incoming_transaction_icon" tool_tip="Icon" image_name="Incoming_Transaction_Small" visible="false"/>
+        <icon left="5" top="6" width="25" height="25" mouse_opaque="true" name="outcoming_transaction_icon" tool_tip="Icon" image_name="Outcoming_Transaction_Small" visible="false"/>
       </layout_panel>
-      <layout_panel width="260" height="50" orientation="horizontal" follows="left|top|right|bottom" name="LayoutPanel">
-        <panel border="false" top="0" width="260" height="38" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="MainInfoBlockPanel">
-          <panel border="false" top="0" left="0" width="260" height="19" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="GroupNameNoticeTitlePanel">
+      <layout_panel width="260" height="50" orientation="horizontal" follows="left|top|right|bottom" name="layout_panel_2">
+        <panel border="false" top="0" width="260" height="38" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="main_info_panel">
+          <panel border="false" top="0" left="0" width="260" height="19" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="notification_title_panel">
             <text allow_scroll="false" font="SansSerifSmall" top="6" left="0" width="245" height="12" layout="topleft" follows="right|left" text_color="White"
-              use_ellipses="true" word_wrap="true" mouse_opaque="false" name="GroupName_NoticeTitle" >
+              use_ellipses="true" word_wrap="true" mouse_opaque="false" name="notification_title" >
               Group Name:Notice Title N o t i c e T i t l e N o t i c e T i t l e N o t i c e T i t l e N oticeTitle
             </text>
             <icon top="0" left="242" width="21" height="21" image_name="Icon_Attachment_Small" follows="right" mouse_opaque="true" name="icon_attachment_small" tool_tip="Attachment"/>
           </panel>
-          <panel border="false" top="23" left="0" width="260" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="SenderAndTimePanel" height="15">
+          <panel border="false" top="23" left="0" width="260" bevel_style="none" follows="left|top|right|bottom" layout="topleft" name="sender_time_panel" height="15">
             <text allow_scroll="false" font="SansSerifSmall" top="0" left="0" width="250" height="13"    layout="topleft"    follows="right|left"
-              use_ellipses="true" word_wrap="true" mouse_opaque="false" name="Sender_Resident" >
+              use_ellipses="true" word_wrap="true" mouse_opaque="false" name="sender_resident" visible="false">
               Sender:Resident
             </text>
             <text allow_scroll="false" font="SansSerifSmall" top="0" width="95" height="13" follows="right" halign="right" layout="topleft" left_pad="5"
-              name="Time_Box" right="-5" value="2014/12/24 23:30" />
+              name="notification_time" right="-5" value="2014/12/24 23:30" />
           </panel>
         </panel>
       </layout_panel>
-      <layout_panel name="LayoutPanel3" width="18" height="39" orientation="horizontal" follows="left|top|right|bottom">
-        <panel name="CloseExpandButtonsPanel" border="false" top="0" left="0" width="17"  height="39" bevel_style="none" follows="left|top|right|bottom" layout="topleft">
+      <layout_panel name="layout_panel_3" width="18" height="39" orientation="horizontal" follows="left|top|right|bottom">
+        <panel name="close_expand_panel" border="false" top="0" left="0" width="17"  height="39" bevel_style="none" follows="left|top|right|bottom" layout="topleft">
           <button top="0" left="0" width="17" height="17" layout="topleft" follows="top" name="close_btn" mouse_opaque="true"
             tab_stop="false" image_unselected="Icon_Close_Foreground" image_selected="Icon_Close_Press" />
           <button top="22" left="0" width="17" height="17" layout="topleft" follows="top" name="expand_btn" mouse_opaque="true"
-- 
GitLab