diff options
-rw-r--r-- | indra/llui/llflatlistview.cpp | 15 | ||||
-rw-r--r-- | indra/llui/llflatlistview.h | 4 | ||||
-rw-r--r-- | indra/newview/lloutfitslist.cpp | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp index f22b49f30f..b87851490d 100644 --- a/indra/llui/llflatlistview.cpp +++ b/indra/llui/llflatlistview.cpp @@ -1227,7 +1227,7 @@ LLFlatListViewEx::LLFlatListViewEx(const Params& p) , mNoFilteredItemsMsg(p.no_filtered_items_msg) , mNoItemsMsg(p.no_items_msg) , mForceShowingUnmatchedItems(false) -, mLastFilterSucceded(false) +, mHasMatchedItems(false) { } @@ -1285,7 +1285,7 @@ void LLFlatListViewEx::filterItems() item_panel_list_t items; getItems(items); - mLastFilterSucceded = false; + mHasMatchedItems = false; for (item_panel_list_t::iterator iter = items.begin(), iter_end = items.end(); @@ -1296,13 +1296,16 @@ void LLFlatListViewEx::filterItems() // i.e. we don't hide items that don't support 'match_filter' action, separators etc. if (0 == pItem->notify(action)) { - mLastFilterSucceded = true; + mHasMatchedItems = true; pItem->setVisible(true); } else { // TODO: implement (re)storing of current selection. - selectItem(pItem, false); + if(!mForceShowingUnmatchedItems) + { + selectItem(pItem, false); + } pItem->setVisible(mForceShowingUnmatchedItems); } } @@ -1311,9 +1314,9 @@ void LLFlatListViewEx::filterItems() notifyParentItemsRectChanged(); } -bool LLFlatListViewEx::wasLasFilterSuccessfull() +bool LLFlatListViewEx::hasMatchedItems() { - return mLastFilterSucceded; + return mHasMatchedItems; } //EOF diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h index caeddfc179..ded46d8122 100644 --- a/indra/llui/llflatlistview.h +++ b/indra/llui/llflatlistview.h @@ -488,7 +488,7 @@ public: /** * Returns true if last call of filterItems() found at least one matching item */ - bool wasLasFilterSuccessfull(); + bool hasMatchedItems(); protected: LLFlatListViewEx(const Params& p); @@ -512,7 +512,7 @@ private: /** * True if last call of filterItems() found at least one matching item */ - bool mLastFilterSucceded; + bool mHasMatchedItems; }; #endif diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index d9c31b4d1c..ec7fb06c8e 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -914,7 +914,7 @@ void LLOutfitsList::applyFilterToTab( { // hide tab if its title doesn't pass filter // and it has no visible items - tab->setVisible(list->wasLasFilterSuccessfull()); + tab->setVisible(list->hasMatchedItems()); // remove title highlighting because it might // have been previously highlighted by less restrictive filter |