From eee28bd007178ac83053dfb891a7951d368bcc6e Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 18 Jan 2012 13:03:19 -0800 Subject: EXP-1125 FIX -- New tags always shown in Received Items inbox when Inventory window is detached from side panel EXP-1578 FIX -- received items folder shows shadows of content when scrolling through lots of folders in same window * Put in guard to prevent the inventory panel from being created multiple times --- indra/newview/llsidepanelinventory.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'indra') diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index e7d486e058..3761eb5777 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -71,8 +71,6 @@ static const char * const INBOX_BUTTON_NAME = "inbox_btn"; static const char * const INBOX_LAYOUT_PANEL_NAME = "inbox_layout_panel"; static const char * const MAIN_INVENTORY_LAYOUT_PANEL_NAME = "main_inventory_layout_panel"; -static const char * const INBOX_INVENTORY_PANEL = "inventory_inbox"; - static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack"; static const char * const MARKETPLACE_INBOX_PANEL = "marketplace_inbox"; @@ -288,34 +286,44 @@ void LLSidepanelInventory::observeInboxCreation() void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID) { + // + // Silently do nothing if we already have an inbox inventory panel set up + // (this can happen multiple times on the initial session that creates the inbox) + // + + if (mInventoryPanelInbox != NULL) + { + return; + } + // // Track inbox folder changes // - + if (inboxID.isNull()) { - llwarns << "Attempting to track modifications to non-existant inbox" << llendl; + llwarns << "Attempting to track modifications to non-existent inbox" << llendl; return; } - + if (mCategoriesObserver == NULL) { mCategoriesObserver = new LLInventoryCategoriesObserver(); gInventory.addObserver(mCategoriesObserver); } - + mCategoriesObserver->addCategory(inboxID, boost::bind(&LLSidepanelInventory::onInboxChanged, this, inboxID)); - + // // Trigger a load for the entire contents of the Inbox // - + LLInventoryModelBackgroundFetch::instance().start(inboxID); - + // // Set up the inbox inventory view // - + LLPanelMarketplaceInbox * inbox = getChild(MARKETPLACE_INBOX_PANEL); mInventoryPanelInbox = inbox->setupInventoryPanel(); } -- cgit v1.2.3 From b18d54be9fb4998854e39df8fbaa271ceb2b8f89 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 18 Jan 2012 13:11:57 -0800 Subject: EXP-1816 FIX -- Drag area in outbox can remain highlighted after drag and drop ends * Added handleHover function to clear highlight --- indra/newview/llfloateroutbox.cpp | 10 ++++++++++ indra/newview/llfloateroutbox.h | 1 + 2 files changed, 11 insertions(+) (limited to 'indra') diff --git a/indra/newview/llfloateroutbox.cpp b/indra/newview/llfloateroutbox.cpp index 297736f3bd..08cd8082aa 100644 --- a/indra/newview/llfloateroutbox.cpp +++ b/indra/newview/llfloateroutbox.cpp @@ -419,6 +419,16 @@ BOOL LLFloaterOutbox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, return handled; } +BOOL LLFloaterOutbox::handleHover(S32 x, S32 y, MASK mask) +{ + if (mOutboxTopLevelDropZone) + { + mOutboxTopLevelDropZone->setBackgroundVisible(FALSE); + } + + return LLFloater::handleHover(x, y, mask); +} + void LLFloaterOutbox::onMouseLeave(S32 x, S32 y, MASK mask) { if (mOutboxTopLevelDropZone) diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 796c533059..18baccf1c9 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -66,6 +66,7 @@ public: void showNotification(const LLSD& notify); + BOOL handleHover(S32 x, S32 y, MASK mask); void onMouseLeave(S32 x, S32 y, MASK mask); protected: -- cgit v1.2.3 From 245f29ca2646157958f1a86bd2bae6cb54275223 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 18 Jan 2012 13:39:04 -0800 Subject: EXP-1550 FIX -- New tag shown and not removed on click when rezzing an item from Received Items panel and taking back into inventory. * Inventory folder creation dates are now only set once, rather than being updated every time a new item is added. --- indra/newview/llfolderviewitem.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index aee5a47011..8d6114c887 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -2146,8 +2146,14 @@ BOOL LLFolderViewFolder::addItem(LLFolderViewItem* item) item->dirtyFilter(); - // Update the folder creation date if the child is newer than our current date - setCreationDate(llmax(mCreationDate, item->getCreationDate())); + // Update the folder creation date if the folder has no creation date + bool setting_date = false; + const time_t item_creation_date = item->getCreationDate(); + if ((item_creation_date > 0) && (mCreationDate == 0)) + { + setCreationDate(item_creation_date); + setting_date = true; + } // Handle sorting requestArrange(); @@ -2157,8 +2163,11 @@ BOOL LLFolderViewFolder::addItem(LLFolderViewItem* item) LLFolderViewFolder* parentp = getParentFolder(); while (parentp) { - // Update the folder creation date if the child is newer than our current date - parentp->setCreationDate(llmax(parentp->mCreationDate, item->getCreationDate())); + // Update the parent folder creation date + if (setting_date && (parentp->mCreationDate == 0)) + { + parentp->setCreationDate(item_creation_date); + } if (parentp->mSortFunction.isByDate()) { -- cgit v1.2.3 From 098bbfef99b6a52855af9076837ca521d2cdd525 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 18 Jan 2012 13:53:05 -0800 Subject: EXP-1704 FIX -- Updated text for Empty Received Items panel in Viewer * Updated to latest text per Leo's comment in the JIRA. --- indra/newview/skins/default/xui/en/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3b00969fd4..3351ffe00f 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2037,7 +2037,7 @@ Returns a string with the requested data about the region Didn't find what you're looking for? Try [secondlife:///app/search/places/[SEARCH_TERM] Search]. Drag a landmark here to add it to your favorites. You do not have a copy of this texture in your inventory - When you purchase or otherwise receive an item, it will appear here so you can drag it to a folder in your inventory, or delete it if you do not wish to keep it. + Certain items you receive, such as premium gifts, will appear here. You may then drag them into your inventory. https://marketplace.[MARKETPLACE_DOMAIN_NAME]/ http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4 https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard -- cgit v1.2.3