From 19560d1b7538accc58f61da94138d054207ea22d Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Tue, 17 Jun 2014 11:24:02 +0300 Subject: MAINT-1192 FIXED Don't show folder without recent item in it for "Recent" tab. --- indra/newview/llinventorypanel.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index a4a85e2e8d..4cb724e9c4 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -336,7 +336,15 @@ LLInventoryFilter& LLInventoryPanel::getFilter() void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType filter_type) { if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT) + { + //Don't show folder without recent item in it + if ("Recent Items" == getName()) + { + types &= ~(0x1 << LLInventoryType::IT_CATEGORY); + } + getFilter().setFilterObjectTypes(types); + } if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY) getFilter().setFilterCategoryTypes(types); } @@ -581,6 +589,11 @@ void LLInventoryPanel::modelChanged(U32 mask) } } } + + if ("Recent Items" == getName()) + { + getFilter().setModified(); + } } LLUUID LLInventoryPanel::getRootFolderID() @@ -1457,6 +1470,8 @@ public: getFilter().setFilterCategoryTypes(getFilter().getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); } + /*virtual*/ void onVisibilityChange(BOOL new_visibility); + protected: LLInventoryRecentItemsPanel (const Params&); friend class LLUICtrlFactory; @@ -1469,6 +1484,13 @@ LLInventoryRecentItemsPanel::LLInventoryRecentItemsPanel( const Params& params) mInvFVBridgeBuilder = &RECENT_ITEMS_BUILDER; } +void LLInventoryRecentItemsPanel::onVisibilityChange(BOOL new_visibility) +{ + if(new_visibility) + { + getFilter().setModified(); + } +} namespace LLInitParam { void TypeValues::declareValues() -- cgit v1.2.3 From 614a0ab6bd899abe06f5b9f25ac36f44966702f0 Mon Sep 17 00:00:00 2001 From: Mnikolenko ProductEngine Date: Thu, 3 Jul 2014 10:50:31 +0300 Subject: MAINT-2570 FIXED Don't allow attaching or opening items from Merchant Outbox. --- indra/newview/llinventorypanel.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 4cb724e9c4..adfdfebae7 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1403,6 +1403,17 @@ BOOL LLInventoryPanel::handleKeyHere( KEY key, MASK mask ) // Open selected items if enter key hit on the inventory panel if (mask == MASK_NONE) { + //Don't allow attaching or opening items from Merchant Outbox + LLFolderViewItem* folder_item = mFolderRoot.get()->getCurSelectedItem(); + if(folder_item) + { + LLInvFVBridge* bridge = (LLInvFVBridge*)folder_item->getViewModelItem(); + if(bridge && bridge->isOutboxFolder() && (bridge->getInventoryType() != LLInventoryType::IT_CATEGORY)) + { + return handled; + } + } + LLInventoryAction::doToSelected(mInventory, mFolderRoot.get(), "open"); handled = TRUE; } -- cgit v1.2.3 From 4723375709313d99ec8243179e71a114322f810e Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 31 Jul 2014 18:14:38 +0300 Subject: MAINT-4290 FIXED [BEAR] Recent Items flashes badly and sometimes blanks out when any change is made to inventory and especially when inventory is fetching from a clean cache --- indra/newview/llinventorypanel.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index adfdfebae7..4491ec8488 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -590,9 +590,20 @@ void LLInventoryPanel::modelChanged(U32 mask) } } - if ("Recent Items" == getName()) + if (mask & (LLInventoryObserver::STRUCTURE | LLInventoryObserver::REMOVE)) { - getFilter().setModified(); + // STRUCTURE and REMOVE model changes usually fail to update (clean) + // mMostFilteredDescendantGeneration of parent folder and dirtyFilter() + // is not sufficient for successful filter update, so we need to check + // all already passed element over again to remove obsolete elements. + // New items or moved items should be sufficiently covered by + // dirtyFilter(). + LLInventoryFilter& filter = getFilter(); + if (filter.getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE + || filter.isNotDefault()) + { + filter.setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE); + } } } -- cgit v1.2.3 From cf159e169573c18b259fdab3ace64c946a0620a1 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 7 Aug 2014 17:32:25 +0300 Subject: MAINT-4325 FIXED [BEAR] Fix to "Reset Filters" causes empty folders to appear in Recent tab of Inventory Clean up - reverted fragment from MAINT-1192, it is no longer needed. --- indra/newview/llinventorypanel.cpp | 9 --------- 1 file changed, 9 deletions(-) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 4491ec8488..32e5675f5e 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -1492,8 +1492,6 @@ public: getFilter().setFilterCategoryTypes(getFilter().getFilterCategoryTypes() | (1ULL << LLFolderType::FT_INBOX)); } - /*virtual*/ void onVisibilityChange(BOOL new_visibility); - protected: LLInventoryRecentItemsPanel (const Params&); friend class LLUICtrlFactory; @@ -1506,13 +1504,6 @@ LLInventoryRecentItemsPanel::LLInventoryRecentItemsPanel( const Params& params) mInvFVBridgeBuilder = &RECENT_ITEMS_BUILDER; } -void LLInventoryRecentItemsPanel::onVisibilityChange(BOOL new_visibility) -{ - if(new_visibility) - { - getFilter().setModified(); - } -} namespace LLInitParam { void TypeValues::declareValues() -- cgit v1.2.3 From b740891b1f19c3d0e9ee494ef3bdb8adc3dcb151 Mon Sep 17 00:00:00 2001 From: maksymsproductengine Date: Fri, 15 Aug 2014 19:40:21 +0300 Subject: MAINT-4293 [BEAR] Very slow inventory fetch on Bear compared to current release: this change-set will does this issue not [BEAR] and reverts most part of fix for MAINT-1192. --- indra/newview/llinventorypanel.cpp | 6 ------ 1 file changed, 6 deletions(-) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 32e5675f5e..ce7d4f50ad 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -337,12 +337,6 @@ void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType { if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT) { - //Don't show folder without recent item in it - if ("Recent Items" == getName()) - { - types &= ~(0x1 << LLInventoryType::IT_CATEGORY); - } - getFilter().setFilterObjectTypes(types); } if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY) -- cgit v1.2.3