diff options
| author | Loren Shih <seraph@lindenlab.com> | 2009-11-30 10:54:48 -0500 | 
|---|---|---|
| committer | Loren Shih <seraph@lindenlab.com> | 2009-11-30 10:54:48 -0500 | 
| commit | f2da2c00a8c290cfb98adf5f53745a0108865ce9 (patch) | |
| tree | 215ae7e97af3e9758628c6b586468747813341ad /indra | |
| parent | 2be386826f177e865133e5c7ccd4fd345f923ac9 (diff) | |
EXT-2859 : Landmark filters aren't explicitly fetching inventory recursively
EXT-2815 : Create ability to selectively apply a filter
LandmarkSP filters are now started explicitly whenever the Library / My Inventory accordion panels are opened.
--HG--
branch : avatar-pipeline
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llinventorypanel.h | 1 | ||||
| -rw-r--r-- | indra/newview/llpanellandmarks.cpp | 18 | 
2 files changed, 18 insertions, 1 deletions
| diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index fd23b375fa..fd83729630 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -192,6 +192,7 @@ protected:  	//--------------------------------------------------------------------  public:  	BOOL 				getIsViewsInitialized() const { return mViewsInitialized; } +	const LLUUID&		getStartFolderID() const { return mStartFolderID; }  private:  	// Builds the UI.  Call this once the inventory is usable.  	void 				initializeViews(); diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index e24fa14e1e..003241e98e 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -264,11 +264,14 @@ void LLLandmarksPanel::updateFilteredAccordions()  		accordion_tab = *iter;  		inventory_list = dynamic_cast<LLInventorySubTreePanel*> (accordion_tab->getAccordionView());  		if (NULL == inventory_list) continue; +		// This doesn't seem to work correctly.  Disabling for now. -Seraph +		/*  		LLFolderView* fv = inventory_list->getRootFolder(); -  		bool has_descendants = fv->hasFilteredDescendants();  		accordion_tab->setVisible(has_descendants); +		*/ +		accordion_tab->setVisible(TRUE);  	}  	// we have to arrange accordion tabs for cases when filter string is less restrictive but @@ -457,6 +460,19 @@ void LLLandmarksPanel::onAccordionExpandedCollapsed(const LLSD& param, LLInvento  		mCurrentSelectedList = NULL;  		updateVerbs();  	} + +	// Start background fetch, mostly for My Inventory and Library +	if (expanded) +	{ +		const LLUUID &cat_id = inventory_list->getStartFolderID(); +		// Just because the category itself has been fetched, doesn't mean its child folders have. +		/* +		  if (!gInventory.isCategoryComplete(cat_id)) +		*/ +		{ +			gInventory.startBackgroundFetch(cat_id); +		} +	}  }  void LLLandmarksPanel::deselectOtherThan(const LLInventorySubTreePanel* inventory_list) | 
