diff options
| author | pavelk_productengine <pavelkproductengine@lindenlab.com> | 2015-02-10 19:56:32 +0200 | 
|---|---|---|
| committer | pavelk_productengine <pavelkproductengine@lindenlab.com> | 2015-02-10 19:56:32 +0200 | 
| commit | 9d8bbe16007ef9292a04856f55f71016cf1220bf (patch) | |
| tree | 3814abc3db327f3db2793357906537ffbb940b1d | |
| parent | 5f96f3bba20fcacbe7115b7d27bc50cad56850d4 (diff) | |
MAINT-4734 (Separate transaction notices from group notice/invites)
- introduced different design for System, Incoming/Outcoming Transactions, Invites
| -rw-r--r-- | indra/newview/llnotificationlistitem.cpp | 120 | ||||
| -rw-r--r-- | indra/newview/llnotificationlistitem.h | 14 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/icons/Incoming_Transaction_Small.png | bin | 0 -> 1666 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png | bin | 0 -> 1322 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/textures/icons/System_Notification_Small.png | bin | 0 -> 661 bytes | |||
| -rwxr-xr-x | indra/newview/skins/default/textures/textures.xml | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_notification_list_item.xml (renamed from indra/newview/skins/default/xui/en/panel_notification_tabbed_item.xml) | 31 | 
7 files changed, 112 insertions, 56 deletions
diff --git a/indra/newview/llnotificationlistitem.cpp b/indra/newview/llnotificationlistitem.cpp index 4fdd6b1a54..7f0e3460b1 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 89de0487be..da6d792fb8 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 @@ public:      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 @@ protected:      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 @@ public:      //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 Binary files differnew file mode 100644 index 0000000000..8b39770c63 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Incoming_Transaction_Small.png diff --git a/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png b/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png Binary files differnew file mode 100644 index 0000000000..96c6150f3b --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Outcoming_Transaction_Small.png diff --git a/indra/newview/skins/default/textures/icons/System_Notification_Small.png b/indra/newview/skins/default/textures/icons/System_Notification_Small.png Binary files differnew file mode 100644 index 0000000000..027a8446d8 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/System_Notification_Small.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 0744962064..66fe119848 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 index 603a3312e0..9bd9742a20 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"  | 
