From 5b8c414309a4cd5a66ba3d10137544551b0a4452 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Wed, 31 Mar 2010 16:23:23 -0700 Subject: Ported inventory loading counter from Emerald r1633 --- linden/indra/newview/app_settings/settings.xml | 11 +++++++++++ linden/indra/newview/llinventoryview.cpp | 24 +++++++++++++++++++++++- linden/indra/newview/llinventoryview.h | 2 ++ 3 files changed, 36 insertions(+), 1 deletion(-) (limited to 'linden/indra') diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index ff55c90..a33038b 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -15,6 +15,17 @@ Value 1 + InventoryPreviousCount + + Comment + Previous total inventory loaded + Persist + 1 + Type + S32 + Value + -1 + ShowStatusBarInMouselook Comment diff --git a/linden/indra/newview/llinventoryview.cpp b/linden/indra/newview/llinventoryview.cpp index 97df7a3..aee67b4 100644 --- a/linden/indra/newview/llinventoryview.cpp +++ b/linden/indra/newview/llinventoryview.cpp @@ -593,6 +593,9 @@ void LLInventoryView::init(LLInventoryModel* inventory) } + //Initialize item count - rkeast + mItemCount = gSavedPerAccountSettings.getS32("InventoryPreviousCount"); + mSearchEditor = getChild("inventory search editor"); if (mSearchEditor) @@ -848,7 +851,26 @@ void LLInventoryView::changed(U32 mask) LLLocale locale(LLLocale::USER_LOCALE); std::string item_count_string; LLResMgr::getInstance()->getIntegerString(item_count_string, gInventory.getItemCount()); - title << " (Fetched " << item_count_string << " items...)"; + + //Displays a progress indication for loading the inventory, but not if it hasn't been loaded before on this PC, or we load more than expected - rkeast + if(mItemCount == -1) + { + title << " (Fetched " << item_count_string << " items...)"; + } + else + { + S32 remaining = mItemCount - gInventory.getItemCount(); + std::string total_items; + std::string items_remaining; + LLResMgr::getInstance()->getIntegerString(total_items, mItemCount); + LLResMgr::getInstance()->getIntegerString(items_remaining, remaining); + if(remaining < 0) title << " (Fetched " << item_count_string << " items...)"; + else title << " (Fetched " << item_count_string << " items of ~" << total_items << " - ~" << items_remaining << " remaining...)"; + } + } + else + { + gSavedPerAccountSettings.setS32("InventoryPreviousCount", gInventory.getItemCount()); } title << mFilterText; setTitle(title.str()); diff --git a/linden/indra/newview/llinventoryview.h b/linden/indra/newview/llinventoryview.h index 0c525c3..495a340 100644 --- a/linden/indra/newview/llinventoryview.h +++ b/linden/indra/newview/llinventoryview.h @@ -308,6 +308,8 @@ protected: std::string mFilterText; + S32 mItemCount; + // This container is used to hold all active inventory views. This // is here to support the inventory toggle show button. -- cgit v1.1