diff --git a/indra/newview/ao.cpp b/indra/newview/ao.cpp index ec4dbea046..cea9031dc8 100644 --- a/indra/newview/ao.cpp +++ b/indra/newview/ao.cpp @@ -51,6 +51,13 @@ FloaterAO::~FloaterAO() { } +void FloaterAO::reloading(BOOL yes) +{ + mReloadCoverPanel->setVisible(yes); + enableSetControls(!yes); + enableStateControls(!yes); +} + void FloaterAO::updateSetParameters() { mOverrideSitsCheckBox->setValue(mSelectedSet->getSitOverride()); @@ -127,11 +134,15 @@ void FloaterAO::updateList() } } enableSetControls(TRUE); + reloading(FALSE); } BOOL FloaterAO::postBuild() { LLPanel* aoPanel=getChild("animation_overrider_panel"); + + mReloadCoverPanel=aoPanel->getChild("ao_reload_cover"); + mSetSelector=aoPanel->getChild("ao_set_selection_combo"); mActivateSetButton=aoPanel->getChild("ao_activate"); mAddButton=aoPanel->getChild("ao_add"); @@ -302,8 +313,7 @@ void FloaterAO::onSelectState() void FloaterAO::onClickReload() { - enableSetControls(FALSE); - enableStateControls(FALSE); + reloading(TRUE); mSelectedSet=0; mSelectedState=0; @@ -334,8 +344,7 @@ BOOL FloaterAO::newSetCallback(const LLSD& notification,const LLSD& response) { if(AOEngine::instance().addSet(newSetName).notNull()) { - enableSetControls(FALSE); - enableStateControls(FALSE); + reloading(TRUE); return TRUE; } } @@ -361,13 +370,12 @@ BOOL FloaterAO::removeSetCallback(const LLSD& notification,const LLSD& response) { if(AOEngine::instance().removeSet(mSelectedSet)) { + reloading(TRUE); // to prevent snapping back to deleted set mSetSelector->removeall(); // visually indicate there are no items left mSetSelector->clear(); mAnimationList->deleteAllItems(); - enableSetControls(FALSE); - enableStateControls(FALSE); return TRUE; } } @@ -539,10 +547,9 @@ BOOL FloaterAO::handleDragAndDrop(S32 x,S32 y,MASK mask,BOOL drop,EDragAndDropTy { if(AOEngine::instance().importNotecard(item)) { - mImportRunning=TRUE; - enableSetControls(FALSE); - enableStateControls(FALSE); + reloading(TRUE); mReloadButton->setEnabled(FALSE); + mImportRunning=TRUE; } } } @@ -562,8 +569,7 @@ BOOL FloaterAO::handleDragAndDrop(S32 x,S32 y,MASK mask,BOOL drop,EDragAndDropTy // TODO: this would be the right thing to do, but it blocks multi drop // before final release this must be resolved - enableSetControls(FALSE); - enableStateControls(FALSE); + reloading(TRUE); } } } diff --git a/indra/newview/ao.h b/indra/newview/ao.h index f5d39a59df..f9dbaa6320 100644 --- a/indra/newview/ao.h +++ b/indra/newview/ao.h @@ -81,6 +81,8 @@ class FloaterAO void onClickPrevious(); void onClickNext(); + void reloading(BOOL yes); + void updateSmart(); void updateCycleParameters(); @@ -94,6 +96,7 @@ class FloaterAO AOSet* mSelectedSet; AOSet::AOState* mSelectedState; + LLPanel* mReloadCoverPanel; LLComboBox* mSetSelector; LLButton* mActivateSetButton; LLButton* mAddButton; diff --git a/indra/newview/skins/default/xui/en/floater_ao.xml b/indra/newview/skins/default/xui/en/floater_ao.xml index 5871239791..cab1721b71 100644 --- a/indra/newview/skins/default/xui/en/floater_ao.xml +++ b/indra/newview/skins/default/xui/en/floater_ao.xml @@ -30,10 +30,10 @@ diff --git a/indra/newview/skins/default/xui/en/panel_ao.xml b/indra/newview/skins/default/xui/en/panel_ao.xml index 991d6334af..052ed1144e 100644 --- a/indra/newview/skins/default/xui/en/panel_ao.xml +++ b/indra/newview/skins/default/xui/en/panel_ao.xml @@ -1,12 +1,21 @@ + + + + + + + + + Reloading Config + + + Please Wait + + + + + + + + + + + + + + +