diff options
Diffstat (limited to 'indra/newview/llpanelmaininventory.cpp')
-rw-r--r-- | indra/newview/llpanelmaininventory.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index f771a027e0..7d4a05565c 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -29,6 +29,7 @@ #include "llagent.h" #include "llagentcamera.h" +#include "llagentwearables.h" #include "llavataractions.h" #include "llcheckboxctrl.h" #include "llcombobox.h" @@ -179,6 +180,8 @@ BOOL LLPanelMainInventory::postBuild() mWornItemsPanel->setFilterLinks(LLInventoryFilter::FILTERLINK_EXCLUDE_LINKS); mWornItemsPanel->getFilter().markDefault(); mWornItemsPanel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, mWornItemsPanel, _1, _2)); + + gAgentWearables.addLoadedCallback(boost::bind(&LLPanelMainInventory::updateWornItemsPanel, this)); } mSearchTypeCombo = getChild<LLComboBox>("search_type"); if(mSearchTypeCombo) @@ -336,6 +339,18 @@ BOOL LLPanelMainInventory::handleKeyHere(KEY key, MASK mask) } +void LLPanelMainInventory::updateWornItemsPanel() +{ + if (!mUpdateWornTimer.getStarted()) + { + mUpdateWornTimer.start(); + } + else + { + mUpdateWornTimer.reset(); + } +} + //---------------------------------------------------------------------------- // menu callbacks @@ -670,6 +685,11 @@ void LLPanelMainInventory::draw() mActivePanel->setSortOrder(order); mResortActivePanel = false; } + if (mWornItemsPanel && mUpdateWornTimer.getStarted() && (mUpdateWornTimer.getElapsedTimeF32() > 1)) + { + mUpdateWornTimer.stop(); + mWornItemsPanel->getFilter().setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE); + } LLPanel::draw(); updateItemcountText(); } |