From cdbdb1168694bcbfc58208f2941f513b556a0d6e Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Tue, 6 Apr 2010 14:47:20 -0400 Subject: EXT-4151 : Immediately check if a fetchObserver filter is done, else add to observer list automatically FetchObservers now take in a list of IDs to check against. Made some naming changes. --- indra/newview/llsidepanelappearance.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'indra/newview/llsidepanelappearance.cpp') diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 511196809a..6dd4dc1ce7 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -52,10 +52,12 @@ static LLRegisterPanelClassWrapper t_appearance("sidepanel_appearance"); -class LLCurrentlyWornFetchObserver : public LLInventoryFetchObserver +class LLCurrentlyWornFetchObserver : public LLInventoryFetchItemsObserver { public: - LLCurrentlyWornFetchObserver(LLSidepanelAppearance *panel) : + LLCurrentlyWornFetchObserver(const uuid_vec_t &ids, + LLSidepanelAppearance *panel) : + LLInventoryFetchItemsObserver(ids), mPanel(panel) {} ~LLCurrentlyWornFetchObserver() {} @@ -390,10 +392,10 @@ void LLSidepanelAppearance::fetchInventory() } } - LLCurrentlyWornFetchObserver *fetch_worn = new LLCurrentlyWornFetchObserver(this); - fetch_worn->fetch(ids); + LLCurrentlyWornFetchObserver *fetch_worn = new LLCurrentlyWornFetchObserver(ids, this); + fetch_worn->startFetch(); // If no items to be fetched, done will never be triggered. - // TODO: Change LLInventoryFetchObserver::fetchItems to trigger done() on this condition. + // TODO: Change LLInventoryFetchItemsObserver::fetchItems to trigger done() on this condition. if (fetch_worn->isEverythingComplete()) { fetch_worn->done(); -- cgit v1.2.3 From f096f02278f3b8c8fdd962c85b237492defa93ec Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Tue, 6 Apr 2010 18:58:26 -0400 Subject: EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a base abstract LLInventoryFetchObserver class Added a new abstract class LLInventoryFetchObserver from which LLInventoryFetchItems and LLInventoryFetchDescendents inherit. Also changed isEverythingComplete to isFinished and made some other minor superficial changes. --- indra/newview/llsidepanelappearance.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llsidepanelappearance.cpp') diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 6dd4dc1ce7..88043365db 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -396,7 +396,7 @@ void LLSidepanelAppearance::fetchInventory() fetch_worn->startFetch(); // If no items to be fetched, done will never be triggered. // TODO: Change LLInventoryFetchItemsObserver::fetchItems to trigger done() on this condition. - if (fetch_worn->isEverythingComplete()) + if (fetch_worn->isFinished()) { fetch_worn->done(); } -- cgit v1.2.3 From 9d93441b3117c59652fbb81abea2983f3cbca203 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Fri, 9 Apr 2010 12:30:33 +0300 Subject: done EXT-6687 Implement Save button functionality (Edit Outfit panel) Implemented "Save", "Save as new" functionality. If the base outfit doesn't exist "Save as new" functionality is employed Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/179 --HG-- branch : product-engine --- indra/newview/llsidepanelappearance.cpp | 34 +++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'indra/newview/llsidepanelappearance.cpp') diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index d90f36fc89..7561388990 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -135,7 +135,7 @@ BOOL LLSidepanelAppearance::postBuild() LLButton* back_btn = mOutfitEdit->getChild("back_btn"); if (back_btn) { - back_btn->setClickedCallback(boost::bind(&LLSidepanelAppearance::onBackButtonClicked, this)); + back_btn->setClickedCallback(boost::bind(&LLSidepanelAppearance::showOutfitsInventoryPanel, this)); } } @@ -176,7 +176,7 @@ void LLSidepanelAppearance::onOpen(const LLSD& key) if(key.size() == 0) return; - + toggleOutfitEditPanel(TRUE); updateVerbs(); @@ -258,12 +258,6 @@ void LLSidepanelAppearance::onNewOutfitButtonClicked() } } - -void LLSidepanelAppearance::onBackButtonClicked() -{ - toggleOutfitEditPanel(FALSE); -} - void LLSidepanelAppearance::onEditWearBackClicked() { mEditWearable->saveChanges(); @@ -271,6 +265,30 @@ void LLSidepanelAppearance::onEditWearBackClicked() toggleOutfitEditPanel(TRUE); } +void LLSidepanelAppearance::showOutfitsInventoryPanel() +{ + mOutfitEdit->setVisible(FALSE); + + mPanelOutfitsInventory->setVisible(TRUE); + + mFilterEditor->setVisible(TRUE); + mEditBtn->setVisible(TRUE); + mNewOutfitBtn->setVisible(TRUE); + mCurrOutfitPanel->setVisible(TRUE); +} + +void LLSidepanelAppearance::showOutfitEditPanel() +{ + mOutfitEdit->setVisible(TRUE); + + mPanelOutfitsInventory->setVisible(FALSE); + + mFilterEditor->setVisible(FALSE); + mEditBtn->setVisible(FALSE); + mNewOutfitBtn->setVisible(FALSE); + mCurrOutfitPanel->setVisible(FALSE); +} + void LLSidepanelAppearance::toggleOutfitEditPanel(BOOL visible) { if (!mOutfitEdit) -- cgit v1.2.3