diff options
author | Leslie Linden <none@none> | 2011-06-16 17:14:51 -0700 |
---|---|---|
committer | Leslie Linden <none@none> | 2011-06-16 17:14:51 -0700 |
commit | 0d246c0c5fc3ddef2022572b560eaec0018a722e (patch) | |
tree | 9417e06f6d1a5d6d1bf0d5f6ff454225e99170d2 /indra/newview/llpanelmarketplaceoutbox.cpp | |
parent | 1be0392d4a0a89aea824ab00d8b9bb60c83267d8 (diff) |
EXP-872 PROGRESS -- Hide Inbox unless applicable
EXP-910 FIX -- Newness badge shown on suitcase inventory icon when InventoryDisplayInbox is set to False
EXP-895 FIX -- Selecting items in Marketplace Inbox does not change focus in inventory panel away from items selected in inventory panel
* Main inventory, outbox and inbox all clear the selection of the others when they gain focus
* The Fresh Item Count badge is no longer displayed on the inventory side tab button when the inbox is disabled
* The New Item Count text is no longer displayed. (we will enable it again when freshness is supported)
Diffstat (limited to 'indra/newview/llpanelmarketplaceoutbox.cpp')
-rw-r--r-- | indra/newview/llpanelmarketplaceoutbox.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp index 96695becf0..c8752b3e0f 100644 --- a/indra/newview/llpanelmarketplaceoutbox.cpp +++ b/indra/newview/llpanelmarketplaceoutbox.cpp @@ -31,7 +31,11 @@ #include "llbutton.h" #include "llcoros.h" #include "lleventcoro.h" +#include "llinventorypanel.h" #include "llloadingindicator.h" +#include "llpanelmarketplaceinbox.h" +#include "llsidepanelinventory.h" +#include "llsidetray.h" #include "lltimer.h" @@ -60,9 +64,33 @@ BOOL LLPanelMarketplaceOutbox::postBuild() mSyncButton->setEnabled(!isOutboxEmpty()); + LLFocusableElement::setFocusReceivedCallback(boost::bind(&LLPanelMarketplaceOutbox::onFocusReceived, this)); + return TRUE; } +void LLPanelMarketplaceOutbox::onFocusReceived() +{ + LLSidepanelInventory * sidepanel_inventory = LLSideTray::getInstance()->getPanel<LLSidepanelInventory>("sidepanel_inventory"); + + if (sidepanel_inventory) + { + LLInventoryPanel * inv_panel = sidepanel_inventory->getActivePanel(); + + if (inv_panel) + { + inv_panel->clearSelection(); + } + + LLInventoryPanel * inbox_panel = sidepanel_inventory->findChild<LLInventoryPanel>("inventory_inbox"); + + if (inbox_panel) + { + inbox_panel->clearSelection(); + } + } +} + bool LLPanelMarketplaceOutbox::isOutboxEmpty() const { // TODO: Check for contents of outbox |