summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2009-11-30 10:54:48 -0500
committerLoren Shih <seraph@lindenlab.com>2009-11-30 10:54:48 -0500
commitf2da2c00a8c290cfb98adf5f53745a0108865ce9 (patch)
tree215ae7e97af3e9758628c6b586468747813341ad
parent2be386826f177e865133e5c7ccd4fd345f923ac9 (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
-rw-r--r--indra/newview/llinventorypanel.h1
-rw-r--r--indra/newview/llpanellandmarks.cpp18
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)