diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-09-06 02:20:10 +0200 |
---|---|---|
committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-09-06 02:20:10 +0200 |
commit | 3c471b81554d9727b1a1929681ce3bfb4734aabc (patch) | |
tree | db8194e5ac63446b6f7268f0a33b09395d226ba4 /indra | |
parent | a617dc8fab45353664dbec2d87845ea3af04319a (diff) |
Follow-up fix for 238a2a64b31e6a0b431309e363067a7fe57125ae: Item count will always show fetch label even after fetch is complete
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llpanelmaininventory.cpp | 30 | ||||
-rw-r--r-- | indra/newview/llpanelmaininventory.h | 8 |
2 files changed, 31 insertions, 7 deletions
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 0c068ff993..143873f168 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -997,6 +997,22 @@ void LLPanelMainInventory::updateItemcountText() mCategoryCount = gInventory.getCategoryCount(); update = true; } + + EFetchState currentFetchState{ EFetchState::Unknown }; + if (LLInventoryModelBackgroundFetch::instance().folderFetchActive()) + { + currentFetchState = EFetchState::Fetching; + } + else if (LLInventoryModelBackgroundFetch::instance().isEverythingFetched()) + { + currentFetchState = EFetchState::Complete; + } + + if (mLastFetchState != currentFetchState) + { + mLastFetchState = currentFetchState; + update = true; + } } if (mLastFilterText != getFilterText()) @@ -1027,17 +1043,17 @@ void LLPanelMainInventory::updateItemcountText() } else { - if (LLInventoryModelBackgroundFetch::instance().folderFetchActive()) + switch (mLastFetchState) { + case EFetchState::Fetching: text = getString("ItemcountFetching", string_args); - } - else if (LLInventoryModelBackgroundFetch::instance().isEverythingFetched()) - { + break; + case EFetchState::Complete: text = getString("ItemcountCompleted", string_args); - } - else - { + break; + default: text = getString("ItemcountUnknown", string_args); + break; } } diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h index d28daddd73..21100cc03c 100644 --- a/indra/newview/llpanelmaininventory.h +++ b/indra/newview/llpanelmaininventory.h @@ -182,6 +182,13 @@ protected: LLSidepanelInventory* getParentSidepanelInventory(); private: + enum class EFetchState + { + Unknown, + Fetching, + Complete + }; + LLFloaterInventoryFinder* getFinder(); LLFilterEditor* mFilterEditor; @@ -202,6 +209,7 @@ private: S32 mCategoryCount = 0; std::string mCategoryCountString; LLComboBox* mSearchTypeCombo; + EFetchState mLastFetchState{ EFetchState::Unknown }; LLButton* mBackBtn; LLButton* mForwardBtn; |