diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 54b0805a6c05f9b5bcc28d0bd0d4b123f523a21a..68a1b1445e745adb516153e2d137ba9a64b65640 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -71,6 +71,9 @@ #include "llwearableitemslist.h" #include "llwearabletype.h" #include "llweb.h" +// [RLVa:KB] - Checked: 2010-09-16 (RLVa-1.2.1a) +#include "rlvhandler.h" +// [/RLVa:KB] static LLRegisterPanelClassWrapper<LLPanelOutfitEdit> t_outfit_edit("panel_outfit_edit"); @@ -592,6 +595,10 @@ void LLPanelOutfitEdit::toggleAddWearablesPanel() void LLPanelOutfitEdit::showAddWearablesPanel(bool show_add_wearables) { +// [RLVa:KB] - Checked: 2010-09-16 (RLVa-1.2.1a) | Added: RLVa-1.2.1a + show_add_wearables = (show_add_wearables) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWINV)); +// [/RLVa:KB] + mAddWearablesPanel->setVisible(show_add_wearables); getChild<LLUICtrl>("show_add_wearables_btn")->setValue(show_add_wearables); diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp index 7206e4fcaf936b81365ce21689552b1c68a381ce..9c8f4715925847f12af22a7cc3506c64353fdfd3 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -521,3 +521,15 @@ void LLSidepanelAppearance::updateScrollingPanelList() mEditWearable->updateScrollingPanelList(); } } + +// [RLVa:KB] - Checked: 2010-09-16 (RLVa-1.2.1a) | Added: RLVa-1.2.1a +bool LLSidepanelAppearance::isOutfitEditPanelVisible() const +{ + return (mOutfitEdit) && (mOutfitEdit->getVisible()); +} + +bool LLSidepanelAppearance::isWearableEditPanelVisible() const +{ + return (mEditWearable) && (mEditWearable->getVisible()); +} +// [/RLVa:KB] diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h index f28cdfa49a2564a2b383b2bd5e8c85e8059c0a5b..6972a67dedb7c312ee7ada312923de46e484f13f 100644 --- a/indra/newview/llsidepanelappearance.h +++ b/indra/newview/llsidepanelappearance.h @@ -64,6 +64,14 @@ public: void showDefaultSubpart(); void updateScrollingPanelList(); +// [RLVa:KB] - Checked: 2010-09-16 (RLVa-1.2.1a) | Added: RLVa-1.2.1a + bool isOutfitEditPanelVisible() const; + bool isWearableEditPanelVisible() const; + + LLPanelOutfitEdit* getOutfitEditPanel() { return mOutfitEdit; } + LLPanelEditWearable* getWearableEditPanel() { return mEditWearable; } +// [/RLVa:KB] + private: void onFilterEdit(const std::string& search_string); void onVisibilityChange ( const LLSD& new_visibility ); diff --git a/indra/newview/rlvui.cpp b/indra/newview/rlvui.cpp index 59c7a660e25249f5a210d8b385d961b44de657d2..fe4dfc570e4b779602f31fdab240387996758b3a 100644 --- a/indra/newview/rlvui.cpp +++ b/indra/newview/rlvui.cpp @@ -32,6 +32,7 @@ #include "llparcel.h" #include "llsidetray.h" #include "llsidetraypanelcontainer.h" +#include "llsidepanelappearance.h" #include "lltabcontainer.h" #include "llteleporthistory.h" #include "llteleporthistorystorage.h" @@ -250,6 +251,14 @@ void RlvUIEnabler::onToggleShowInv() if ( (!fEnable) && (pAppearanceTabs->getCurrentPanelIndex() == idxTab) ) pAppearanceTabs->selectTabPanel(pAppearancePanel->getCurrentOutfitPanel()); } + + LLSidepanelAppearance* pCOFPanel = pAppearancePanel->getAppearanceSP(); + RLV_ASSERT(pCOFPanel); + if ( (!fEnable) && (pCOFPanel) && (pCOFPanel->isOutfitEditPanelVisible()) ) + { + // TODO-RLVa: we should really just be collapsing the "Add more..." inventory panel (and disable the button) + pCOFPanel->showOutfitsInventoryPanel(); + } } //