From 5d2d22322527bf303d24c15fde15025c045b7654 Mon Sep 17 00:00:00 2001
From: Leslie Linden <leslie@lindenlab.com>
Date: Thu, 3 Nov 2011 15:11:29 -0700
Subject: EXP-1538 FIX -- New tags shown for items in subfolders in received
 items panel which remain after minimizing parent folder

* "new" tag determination for LLInboxFolderViewItem is now done on "addToFolder" rather than at construction time
  to avoid computing "new" for items not directly in the top level folder.
---
 indra/newview/llpanelmarketplaceinboxinventory.cpp | 26 +++++++++++++---------
 indra/newview/llpanelmarketplaceinboxinventory.h   |  5 ++---
 2 files changed, 17 insertions(+), 14 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/llpanelmarketplaceinboxinventory.cpp b/indra/newview/llpanelmarketplaceinboxinventory.cpp
index b9fb5b8c55..df89adb8da 100644
--- a/indra/newview/llpanelmarketplaceinboxinventory.cpp
+++ b/indra/newview/llpanelmarketplaceinboxinventory.cpp
@@ -249,12 +249,25 @@ LLInboxFolderViewItem::LLInboxFolderViewItem(const Params& p)
 	, mFresh(false)
 {
 #if SUPPORTING_FRESH_ITEM_COUNT
-	computeFreshness();
-
 	initBadgeParams(p.new_badge());
 #endif
 }
 
+BOOL LLInboxFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView* root)
+{
+	BOOL retval = LLFolderViewItem::addToFolder(folder, root);
+
+#if SUPPORTING_FRESH_ITEM_COUNT
+	// Compute freshness if our parent is the root folder for the inbox
+	if (mParentFolder == mRoot)
+	{
+		computeFreshness();
+	}
+#endif
+	
+	return retval;
+}
+
 BOOL LLInboxFolderViewItem::handleDoubleClick(S32 x, S32 y, MASK mask)
 {
 	return TRUE;
@@ -310,14 +323,5 @@ void LLInboxFolderViewItem::deFreshify()
 	gSavedPerAccountSettings.setU32("LastInventoryInboxActivity", time_corrected());
 }
 
-void LLInboxFolderViewItem::setCreationDate(time_t creation_date_utc)
-{
-	mCreationDate = creation_date_utc; 
-
-	if (mParentFolder == mRoot)
-	{
-		computeFreshness();
-	}
-}
 
 // eof
diff --git a/indra/newview/llpanelmarketplaceinboxinventory.h b/indra/newview/llpanelmarketplaceinboxinventory.h
index 09b14ec547..d6b827ee3e 100644
--- a/indra/newview/llpanelmarketplaceinboxinventory.h
+++ b/indra/newview/llpanelmarketplaceinboxinventory.h
@@ -69,7 +69,7 @@ public:
 	};
 	
 	LLInboxFolderViewFolder(const Params& p);
-
+	
 	void draw();
 	
 	void selectItem();
@@ -102,6 +102,7 @@ public:
 
 	LLInboxFolderViewItem(const Params& p);
 
+	BOOL addToFolder(LLFolderViewFolder* folder, LLFolderView* root);
 	BOOL handleDoubleClick(S32 x, S32 y, MASK mask);
 
 	void draw();
@@ -114,8 +115,6 @@ public:
 	bool isFresh() const { return mFresh; }
 
 protected:
-	void setCreationDate(time_t creation_date_utc);
-
 	bool mFresh;
 };
 
-- 
cgit v1.2.3