diff options
| author | Richard Linden <none@none> | 2013-05-16 19:17:52 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2013-05-16 19:17:52 -0700 | 
| commit | 14f7ad902330051e1bb3ff17abbbfa05a0ebf7e8 (patch) | |
| tree | 91eae97714e375aefd2c0a08199621f4c3358a46 | |
| parent | 8a4add76b44bab32633c5432f8852e5351770c91 (diff) | |
SH-4168 FIX Inventory: Loading... Loading... shown on folders
cleaned up logic for displaying "loading..." message so that it
only applies to folders that are opened whose contents aren't
yet loaded
| -rwxr-xr-x | indra/newview/llinventorybridge.cpp | 48 | ||||
| -rw-r--r-- | indra/newview/llinventorybridge.h | 4 | 
2 files changed, 16 insertions, 36 deletions
| diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index b857f8bbec..c32abe507e 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -200,6 +200,7 @@ const std::string& LLInvFVBridge::getDisplayName() const  	{  		buildDisplayName();  	} +  	return mDisplayName;  } @@ -1894,49 +1895,19 @@ void LLFolderBridge::buildDisplayName() const  void LLFolderBridge::update()  { -	bool possibly_has_children = false; -	bool up_to_date = isUpToDate(); -	if(!up_to_date && hasChildren()) // we know we have children but  haven't  fetched them (doesn't obey filter) -	{ -		possibly_has_children = true; -	} - -	bool loading = (possibly_has_children && !up_to_date ); +	// we know we have children but  haven't  fetched them (doesn't obey filter) +	bool loading = !isUpToDate() && hasChildren() && mFolderViewItem->isOpen();  	if (loading != mIsLoading)  	{ -		if ( loading && !mIsLoading ) +		if ( loading )  		{  			// Measure how long we've been in the loading state  			mTimeSinceRequestStart.reset();  		} +		mIsLoading = loading; -		const BOOL in_inventory = gInventory.isObjectDescendentOf(getUUID(),   gInventory.getRootFolderID()); -		const BOOL in_library = gInventory.isObjectDescendentOf(getUUID(),   gInventory.getLibraryRootFolderID()); - -		bool root_is_loading = false; -		if (in_inventory) -		{ -			root_is_loading =   LLInventoryModelBackgroundFetch::instance().inventoryFetchInProgress(); -		} -		if (in_library) -		{ -			root_is_loading =   LLInventoryModelBackgroundFetch::instance().libraryFetchInProgress(); -		} -		if ((mIsLoading -				&&	mTimeSinceRequestStart.getElapsedTimeF32() >=   gSavedSettings.getF32("FolderLoadingMessageWaitTime")) -			||	(LLInventoryModelBackgroundFetch::instance().folderFetchActive() -				&&	root_is_loading)) -		{ -			buildDisplayName(); -			mDisplayName = LLInvFVBridge::getDisplayName() + " ( " +   LLTrans::getString("LoadingData") + " ) "; -			mIsLoading = true; -		} -		else -		{ -			buildDisplayName(); -			mIsLoading = false; -		} +		mFolderViewItem->refresh();  	}  } @@ -3056,6 +3027,13 @@ LLUIImagePtr LLFolderBridge::getIconOverlay() const  	return NULL;  } +std::string LLFolderBridge::getLabelSuffix() const +{ +	static LLCachedControl<F32> folder_loading_message_delay(gSavedSettings, "FolderLoadingMessageWaitTime"); +	return mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= folder_loading_message_delay()  +		? llformat(" ( %s ) ", LLTrans::getString("LoadingData").c_str()) +		: LLStringUtil::null; +}  BOOL LLFolderBridge::renameItem(const std::string& new_name)  { diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 517153e171..2a937b574d 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -248,7 +248,7 @@ public:  	LLFolderBridge(LLInventoryPanel* inventory,   				   LLFolderView* root,  				   const LLUUID& uuid)  -        :       LLInvFVBridge(inventory, root, uuid), +	:	LLInvFVBridge(inventory, root, uuid),  		mCallingCards(FALSE),  		mWearables(FALSE),  		mIsLoading(false) @@ -272,6 +272,8 @@ public:  	virtual LLUIImagePtr getIconOverlay() const;  	static LLUIImagePtr getIcon(LLFolderType::EType preferred_type); +	 +	virtual std::string getLabelSuffix() const;  	virtual BOOL renameItem(const std::string& new_name); | 
