diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-06-17 16:51:04 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-06-17 16:51:04 +0300 |
commit | eb973cf6b21457c12272ddb6213e99d332637116 (patch) | |
tree | 7bf80615750c78ef2255886f8fd307f8b96a317b /indra/newview/llagentwearables.cpp | |
parent | 68b956b0d3069267737e4f26f93f2bba9ee6cd9c (diff) |
EXT-7755 FIXED Updated condition to not show "No Outfit" as a status when outfit is changing.
Implementation details:
* Added flag to LLAgentWearables to determining that outfit is changing. Synchronizing it with mLoadingStartedSignal and mLoadedSignal signals.
* Check this flag when there is no outfit set to show empty title when outfit is being changed.
* Also updated condition to disable "Wear" button when outfit is being changed.
Additional improvements:
* Removed reference to parent LLSidepanelAppearance from the LLPanelOutfitsInventory.
* Now LLSidepanelAppearance is subscribed to mLoadingStartedSignal and mLoadedSignal to update its loading indicator.
Known Issue:
* When new outfit is being worn its name is shown in title for a short moment (loading indicator is shown at this time). Then it is changed with an empty title and is shown when outfit is already worn.
If necessary it should be investigated and fixed in scope of another issue.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/593/
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llagentwearables.cpp')
-rw-r--r-- | indra/newview/llagentwearables.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 557b3b0a77..05ed6ec350 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -166,6 +166,7 @@ struct LLAgentDumper LLAgentWearables::LLAgentWearables() : mWearablesLoaded(FALSE) +, mCOFChangeInProgress(false) { } @@ -1208,7 +1209,7 @@ void LLAgentWearables::createStandardWearablesAllDone() mWearablesLoaded = TRUE; checkWearablesLoaded(); - mLoadedSignal(); + notifyLoadingFinished(); updateServer(); @@ -1460,7 +1461,7 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it // Start rendering & update the server mWearablesLoaded = TRUE; checkWearablesLoaded(); - mLoadedSignal(); + notifyLoadingFinished(); queryWearableCache(); updateServer(); @@ -1945,7 +1946,7 @@ void LLAgentWearables::updateWearablesLoaded() mWearablesLoaded = (itemUpdatePendingCount()==0); if (mWearablesLoaded) { - mLoadedSignal(); + notifyLoadingFinished(); } } @@ -2111,7 +2112,13 @@ boost::signals2::connection LLAgentWearables::addLoadedCallback(loaded_callback_ void LLAgentWearables::notifyLoadingStarted() { + mCOFChangeInProgress = true; mLoadingStartedSignal(); } +void LLAgentWearables::notifyLoadingFinished() +{ + mCOFChangeInProgress = false; + mLoadedSignal(); +} // EOF |