From 6bdd6eeb98bf44e8b16f7e63f378813f92652444 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 11 Nov 2009 19:13:33 -0500 Subject: EXT-2261 : Inventory view should show default foldres (i.e. expand My Inventory) --- indra/newview/llinventorypanel.cpp | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'indra/newview/llinventorypanel.cpp') diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 9a71e53441..dfd4af5c28 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -191,11 +191,9 @@ BOOL LLInventoryPanel::postBuild() { rebuildViewsFor(mStartFolderID); mHasInventoryConnection = true; + defaultOpenInventory(); } - // bit of a hack to make sure the inventory is open. - mFolders->openFolder(preferred_type != LLFolderType::FT_NONE ? LLViewerFolderType::lookupNewCategoryName(preferred_type) : "My Inventory"); - if (mSortOrderSetting != INHERIT_SORT_ORDER) { setSortOrder(gSavedSettings.getU32(mSortOrderSetting)); @@ -300,6 +298,7 @@ void LLInventoryPanel::modelChanged(U32 mask) { rebuildViewsFor(mStartFolderID); mHasInventoryConnection = true; + defaultOpenInventory(); return; } @@ -561,6 +560,25 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id) } } +// bit of a hack to make sure the inventory is open. +void LLInventoryPanel::defaultOpenInventory() +{ + const LLFolderType::EType preferred_type = LLViewerFolderType::lookupTypeFromNewCategoryName(mStartFolderString); + if (preferred_type != LLFolderType::FT_NONE) + { + const std::string& top_level_folder_name = LLViewerFolderType::lookupNewCategoryName(preferred_type); + mFolders->openFolder(top_level_folder_name); + } + else + { + // Get the first child (it should be "My Inventory") and + // open it up by name (just to make sure the first child is actually a folder). + LLView* first_child = mFolders->getFirstChild(); + const std::string& first_child_name = first_child->getName(); + mFolders->openFolder(first_child_name); + } +} + struct LLConfirmPurgeData { LLUUID mID; -- cgit v1.2.3