summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-04-15 11:16:57 -0700
committerMerov Linden <merov@lindenlab.com>2013-04-15 11:16:57 -0700
commit0ecbbe9571be298284c2410ea441877b611bd875 (patch)
treee6bdb93da0475ce9177a558373922ee4984cbce2 /indra/llui
parentb05bf882dbf5cdcb4683b4c6201ea50a38491a7b (diff)
CHUI-912 : WIP : Try to change the return value of filter() so to trigger arrange on the fly.
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfolderview.cpp13
-rwxr-xr-xindra/llui/llfolderviewitem.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index 5bca589bc4..3ca549ae72 100644
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -327,7 +327,13 @@ void LLFolderView::filter( LLFolderViewFilter& filter )
LLFastTimer t2(FTM_FILTER);
filter.setFilterCount(llclamp(LLUI::sSettingGroups["config"]->getS32("FilterItemsPerFrame"), 1, 5000));
- getViewModelItem()->filter(filter);
+ bool filtered_items = getViewModelItem()->filter(filter);
+ //if (getViewModelItem()->descendantsPassedFilter(filter.getCurrentGeneration()))
+ if (filtered_items)
+ {
+ llinfos << "Merov : LLFolderView::filter, request arrange, new elements passed the filter" << llendl;
+ requestArrange();
+ }
}
void LLFolderView::reshape(S32 width, S32 height, BOOL called_from_parent)
@@ -1665,9 +1671,14 @@ void LLFolderView::update()
{
S32 height = 0;
S32 width = 0;
+ llinfos << "Merov : LLFolderView::update: parent = " << mParentPanel->getName() << ", is been arranged, last arrange = " << mLastArrangeGeneration << ", root arrange = " << getRoot()->getArrangeGeneration() << llendl;
S32 total_height = arrange( &width, &height );
notifyParent(LLSD().with("action", "size_changes").with("height", total_height));
}
+ else
+ {
+ llinfos << "Merov : LLFolderView::update: parent = " << mParentPanel->getName() << ", doesn't need arranging, last arrange = " << mLastArrangeGeneration << ", root arrange = " << getRoot()->getArrangeGeneration() << llendl;
+ }
}
// during filtering process, try to pin selected item's location on screen
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h
index ca31931e19..a9b0201236 100755
--- a/indra/llui/llfolderviewitem.h
+++ b/indra/llui/llfolderviewitem.h
@@ -316,7 +316,6 @@ protected:
F32 mAutoOpenCountdown;
S32 mLastArrangeGeneration;
S32 mLastCalculatedWidth;
- S32 mMostFilteredDescendantGeneration;
bool mNeedsSort;
public: