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
master
Loren Shih 2009-11-30 10:54:48 -05:00
parent 2be386826f
commit f2da2c00a8
2 changed files with 18 additions and 1 deletions

View File

@ -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();

View File

@ -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)