summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llagentwearables.cpp7
-rw-r--r--indra/newview/llpaneloutfitsinventory.cpp21
-rw-r--r--indra/newview/llstartup.cpp11
3 files changed, 32 insertions, 7 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 41f2ff29e6..acbf02678c 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -927,13 +927,6 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs
if (mInitialWearablesUpdateReceived)
return;
mInitialWearablesUpdateReceived = true;
-
- // If this is the very first time the user has logged into viewer2+ (from a legacy viewer, or new account)
- // then auto-populate outfits from the library into the My Outfits folder.
- if (LLInventoryModel::getIsFirstTimeInViewer2() || gSavedSettings.getBOOL("MyOutfitsAutofill"))
- {
- gAgentWearables.populateMyOutfitsFolder();
- }
LLUUID agent_id;
gMessageSystem->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id);
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index cf903958ee..c2f2d32142 100644
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -159,6 +159,27 @@ void LLPanelOutfitsInventory::onOpen(const LLSD& key)
// Make sure we know which tab is selected, update the filter,
// and update verbs.
onTabChange();
+
+ // Auto open the first outfit newly created so new users can see sample outfit contents
+ static bool should_open_outfit = true;
+ if (should_open_outfit && gAgent.isFirstLogin())
+ {
+ LLInventoryPanel* outfits_panel = getChild<LLInventoryPanel>(OUTFITS_TAB_NAME);
+ if (outfits_panel)
+ {
+ LLUUID my_outfits_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS);
+ LLFolderViewFolder* my_outfits_folder = outfits_panel->getRootFolder()->getFolderByID(my_outfits_id);
+ if (my_outfits_folder)
+ {
+ LLFolderViewFolder* first_outfit = dynamic_cast<LLFolderViewFolder*>(my_outfits_folder->getFirstChild());
+ if (first_outfit)
+ {
+ first_outfit->setOpen(TRUE);
+ }
+ }
+ }
+ }
+ should_open_outfit = false;
}
void LLPanelOutfitsInventory::updateVerbs()
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 9fda77fe74..a402dfc3d1 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1876,6 +1876,17 @@ bool idle_startup()
LLViewerShaderMgr::instance()->setShaders();
}
}
+
+ // If this is the very first time the user has logged into viewer2+ (from a legacy viewer, or new account)
+ // then auto-populate outfits from the library into the My Outfits folder.
+ static bool check_populate_my_outfits = true;
+ if (check_populate_my_outfits &&
+ (LLInventoryModel::getIsFirstTimeInViewer2()
+ || gSavedSettings.getBOOL("MyOutfitsAutofill")))
+ {
+ gAgentWearables.populateMyOutfitsFolder();
+ }
+ check_populate_my_outfits = false;
return TRUE;
}