From 89825da530f0f5bb4ed2f5260c213174a34f28d8 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 18 Jun 2010 17:28:32 +0300 Subject: EXT-7777 WIP Implemented loading indicator for "Save" and "Save As" actions in "My Outfits" & "Edit Outfit" Panels. EXT-7929 FIXED Updated functionality of attaching object: loading indicator gets hidden when attaching is completed. - Fixed crash when accessing singleton on application exit. - Updated functionality of attaching object: loading indicator was not hidden. * Reason: link to attachment was created without next appearance updating. * Fix: passed "true" into LLAppearanceMgr::addCOFItemLink to call LLAppearanceMgr::updateAppearanceFromCOF when attachments is completed. (Like for clothing). Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/611/ --HG-- branch : product-engine --- indra/newview/llagentwearables.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 3923749e64..66866618e1 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -47,6 +47,7 @@ #include "llinventorypanel.h" #include "llmd5.h" #include "llnotificationsutil.h" +#include "lloutfitobserver.h" #include "llpaneloutfitsinventory.h" #include "llsidepanelappearance.h" #include "llsidetray.h" @@ -179,6 +180,13 @@ void LLAgentWearables::cleanup() { } +// static +void LLAgentWearables::initClass() +{ + // this can not be called from constructor because its instance is global and is created too early. + LLOutfitObserver::instance().addCOFSavedCallback(boost::bind(&LLAgentWearables::notifyLoadingFinished, &gAgentWearables)); +} + void LLAgentWearables::setAvatarObject(LLVOAvatarSelf *avatar) { if (avatar) @@ -931,6 +939,7 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs // notify subscribers that wearables started loading. See EXT-7777 // *TODO: find more proper place to not be called from deprecated method. + // Seems such place is found: LLInitialWearablesFetch::processContents() gAgentWearables.notifyLoadingStarted(); mInitialWearablesUpdateReceived = true; -- cgit v1.2.3 From b12c98e48ce44df907c7477e1c21061778459496 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Mon, 21 Jun 2010 12:49:04 +0300 Subject: EXT-7777 Just added more descriptive comment. --HG-- branch : product-engine --- indra/newview/llagentwearables.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llagentwearables.cpp') diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 66866618e1..5728256dba 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -184,6 +184,7 @@ void LLAgentWearables::cleanup() void LLAgentWearables::initClass() { // this can not be called from constructor because its instance is global and is created too early. + // Subscribe to "COF is Saved" signal to notify observers about this (Loading indicator for ex.). LLOutfitObserver::instance().addCOFSavedCallback(boost::bind(&LLAgentWearables::notifyLoadingFinished, &gAgentWearables)); } -- cgit v1.2.3