summaryrefslogtreecommitdiff
path: root/indra/newview/llfolderviewmodelinventory.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-08-01 01:14:27 -0700
committerRichard Linden <none@none>2012-08-01 01:14:27 -0700
commita204059d2e69fb33cb1a3c8d2fbed35d3967297c (patch)
tree94d73465750ae665f5915588705430172a9ef7da /indra/newview/llfolderviewmodelinventory.cpp
parent8f7871911deba87e5ceed8f6f36c1cb2b429efe8 (diff)
CHUI-267 FIX Full inventory listing not always shown for test account
changed LLFolderViewModelInterface::getFilter() to return a reference, since it is never NULL removed sort order from filter, which was causing unneeded filtering
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
-rw-r--r--indra/newview/llfolderviewmodelinventory.cpp40
1 files changed, 12 insertions, 28 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index 13ca73917b..21218850a6 100644
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -109,7 +109,12 @@ bool LLFolderViewModelInventory::contentsReady()
void LLFolderViewModelItemInventory::requestSort()
{
LLFolderViewModelItemCommon::requestSort();
- if (mRootViewModel.getSorter().isByDate())
+ LLFolderViewFolder* folderp = dynamic_cast<LLFolderViewFolder*>(mFolderViewItem);
+ if (folderp)
+ {
+ folderp->requestArrange();
+ }
+ if (static_cast<LLFolderViewModelInventory&>(mRootViewModel).getSorter().isByDate())
{
// sort by date potentially affects parent folders which use a date
// derived from newest item in them
@@ -120,35 +125,9 @@ void LLFolderViewModelItemInventory::requestSort()
}
}
-bool LLFolderViewModelItemInventory::potentiallyVisible()
-{
- return passedFilter() // we've passed the filter
- || getLastFilterGeneration() < mRootViewModel.getFilter()->getFirstSuccessGeneration() // or we don't know yet
- || descendantsPassedFilter();
-}
-
-bool LLFolderViewModelItemInventory::passedFilter(S32 filter_generation)
-{
- if (filter_generation < 0)
- filter_generation = mRootViewModel.getFilter()->getFirstSuccessGeneration();
-
- return mPassedFolderFilter
- && (descendantsPassedFilter(filter_generation)
- || (mLastFilterGeneration >= filter_generation
- && mPassedFilter));
-}
-
-bool LLFolderViewModelItemInventory::descendantsPassedFilter(S32 filter_generation)
-{
- if (filter_generation < 0) filter_generation = mRootViewModel.getFilter()->getFirstSuccessGeneration();
- return mMostFilteredDescendantGeneration >= filter_generation;
-}
-
void LLFolderViewModelItemInventory::setPassedFilter(bool passed, bool passed_folder, S32 filter_generation)
{
- mPassedFilter = passed;
- mPassedFolderFilter = passed_folder;
- mLastFilterGeneration = filter_generation;
+ LLFolderViewModelItemCommon::setPassedFilter(passed, passed_folder, filter_generation);
bool passed_filter_before = mPrevPassedAllFilters;
mPrevPassedAllFilters = passedFilter(filter_generation);
@@ -324,3 +303,8 @@ bool LLInventorySort::operator()(const LLFolderViewModelItemInventory* const& a,
}
}
+LLFolderViewModelItemInventory::LLFolderViewModelItemInventory( class LLFolderViewModelInventory& root_view_model )
+ : LLFolderViewModelItemCommon(root_view_model),
+ mPrevPassedAllFilters(false)
+{
+}