summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloateroutbox.cpp38
-rw-r--r--indra/newview/llfloateroutbox.h2
-rw-r--r--indra/newview/llinventorybridge.cpp2
-rw-r--r--indra/newview/llinventorypanel.cpp9
-rw-r--r--indra/newview/llpanelmaininventory.cpp2
-rw-r--r--indra/newview/llpanelmarketplaceinbox.cpp2
-rw-r--r--indra/newview/llpanelmarketplaceoutbox.cpp4
-rw-r--r--indra/newview/llsidepanelinventory.cpp272
-rw-r--r--indra/newview/llsidepanelinventory.h14
-rw-r--r--indra/newview/skins/default/xui/en/floater_merchant_outbox.xml60
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_inventory.xml135
11 files changed, 80 insertions, 460 deletions
diff --git a/indra/newview/llfloateroutbox.cpp b/indra/newview/llfloateroutbox.cpp
index 79cd90ba1c..6a3eaba016 100644
--- a/indra/newview/llfloateroutbox.cpp
+++ b/indra/newview/llfloateroutbox.cpp
@@ -32,7 +32,6 @@
#include "llfolderview.h"
#include "llinventoryobserver.h"
#include "llinventorypanel.h"
-#include "llloadingindicator.h"
#include "llmarketplacefunctions.h"
#include "llnotificationsutil.h"
#include "lltextbox.h"
@@ -96,15 +95,24 @@ LLFloaterOutbox::LLFloaterOutbox(const LLSD& key)
LLFloaterOutbox::~LLFloaterOutbox()
{
-// delete mCategoriesObserver;
-// delete mCategoryAddedObserver;
+ if (mCategoriesObserver && gInventory.containsObserver(mCategoriesObserver))
+ {
+ gInventory.removeObserver(mCategoriesObserver);
+ }
+ delete mCategoriesObserver;
+
+ if (mCategoryAddedObserver && gInventory.containsObserver(mCategoryAddedObserver))
+ {
+ gInventory.removeObserver(mCategoryAddedObserver);
+ }
+ delete mCategoryAddedObserver;
}
BOOL LLFloaterOutbox::postBuild()
{
mInventoryDisablePanel = getChild<LLView>("outbox_inventory_disable_panel");
mInventoryFolderCountText = getChild<LLTextBox>("outbox_folder_count");
- mInventoryImportInProgress = getChild<LLLoadingIndicator>("import_progress_indicator");
+ mInventoryImportInProgress = getChild<LLView>("import_progress_indicator");
mInventoryPlaceholder = getChild<LLView>("outbox_inventory_placeholder_panel");
mInventoryText = mInventoryPlaceholder->getChild<LLTextBox>("outbox_inventory_placeholder_text");
mInventoryTitle = mInventoryPlaceholder->getChild<LLTextBox>("outbox_inventory_placeholder_title");
@@ -264,6 +272,11 @@ BOOL LLFloaterOutbox::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
std::string& tooltip_msg)
{
// Pass drag and drop to this floater to the outbox inventory control
+
+ if (LLMarketplaceInventoryImporter::getInstance()->isImportInProgress())
+ {
+ return FALSE;
+ }
S32 local_x = x - mOutboxInventoryPanel->getRect().mLeft;
S32 local_y = y - mOutboxInventoryPanel->getRect().mBottom;
@@ -317,11 +330,11 @@ void LLFloaterOutbox::importReportResults(U32 status, const LLSD& content)
{
if (status == MarketplaceErrorCodes::IMPORT_DONE)
{
- LLNotificationsUtil::add("OutboxImportComplete", LLSD::emptyMap(), LLSD::emptyMap());
+ LLNotificationsUtil::add("OutboxImportComplete");
}
else if (status == MarketplaceErrorCodes::IMPORT_DONE_WITH_ERRORS)
{
- LLNotificationsUtil::add("OutboxImportHadErrors", LLSD::emptyMap(), LLSD::emptyMap());
+ LLNotificationsUtil::add("OutboxImportHadErrors");
}
else
{
@@ -329,10 +342,10 @@ void LLFloaterOutbox::importReportResults(U32 status, const LLSD& content)
sprintf(status_string, "%d", status);
LLSD subs;
- subs["ERROR_CODE"] = status_string;
+ subs["[ERROR_CODE]"] = status_string;
//llassert(status == MarketplaceErrorCodes::IMPORT_JOB_FAILED);
- LLNotificationsUtil::add("OutboxImportFailed", LLSD::emptyMap(), LLSD::emptyMap());
+ LLNotificationsUtil::add("OutboxImportFailed", subs);
}
}
@@ -343,19 +356,14 @@ void LLFloaterOutbox::importStatusChanged(bool inProgress)
mImportButton->setEnabled(false);
mInventoryDisablePanel->setVisible(true);
-
mInventoryImportInProgress->setVisible(true);
- mInventoryImportInProgress->reset();
- mInventoryImportInProgress->start();
}
else
{
- mImportButton->setEnabled(mOutboxItemCount > 0);
-
+ mInventoryImportInProgress->setVisible(false);
mInventoryDisablePanel->setVisible(false);
- mInventoryImportInProgress->stop();
- mInventoryImportInProgress->setVisible(false);
+ mImportButton->setEnabled(mOutboxItemCount > 0);
}
}
diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h
index 1e8567ef12..9b6568c69c 100644
--- a/indra/newview/llfloateroutbox.h
+++ b/indra/newview/llfloateroutbox.h
@@ -81,7 +81,7 @@ private:
LLView * mInventoryDisablePanel;
LLTextBox * mInventoryFolderCountText;
- LLLoadingIndicator * mInventoryImportInProgress;
+ LLView * mInventoryImportInProgress;
LLView * mInventoryPlaceholder;
LLTextBox * mInventoryText;
LLTextBox * mInventoryTitle;
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 017dabe2ad..33b9af7a78 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -71,7 +71,7 @@
#include "llwearablelist.h"
// Marketplace outbox current disabled
-#define ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU 1 // keep in sync with ENABLE_MERCHANT_OUTBOX_PANEL
+#define ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU 1
typedef std::pair<LLUUID, LLUUID> two_uuids_t;
typedef std::list<two_uuids_t> two_uuids_list_t;
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 80b53d5702..af1d2b8528 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -1157,7 +1157,6 @@ void LLInventoryPanel::openInventoryPanelAndSetSelection(BOOL auto_open, const L
LLViewerInventoryCategory * cat = gInventory.getCategory(obj_id);
bool in_inbox = false;
- bool in_outbox = false;
LLViewerInventoryCategory * parent_cat = NULL;
@@ -1173,10 +1172,9 @@ void LLInventoryPanel::openInventoryPanelAndSetSelection(BOOL auto_open, const L
if (parent_cat)
{
in_inbox = (LLFolderType::FT_INBOX == parent_cat->getPreferredType());
- in_outbox = (LLFolderType::FT_OUTBOX == parent_cat->getPreferredType());
}
- if (in_inbox || in_outbox)
+ if (in_inbox)
{
LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
LLInventoryPanel * inventory_panel = NULL;
@@ -1186,11 +1184,6 @@ void LLInventoryPanel::openInventoryPanelAndSetSelection(BOOL auto_open, const L
sidepanel_inventory->openInbox();
inventory_panel = sidepanel_inventory->getInboxPanel();
}
- else
- {
- sidepanel_inventory->openOutbox();
- inventory_panel = sidepanel_inventory->getOutboxPanel();
- }
if (inventory_panel)
{
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 68ef13cd68..374afb90be 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -593,7 +593,7 @@ void LLPanelMainInventory::onFocusReceived()
return;
}
- sidepanel_inventory->clearSelections(false, true, true);
+ sidepanel_inventory->clearSelections(false, true);
}
void LLPanelMainInventory::setFilterTextFromFilter()
diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp
index 7cb4bbf891..a5e964f563 100644
--- a/indra/newview/llpanelmarketplaceinbox.cpp
+++ b/indra/newview/llpanelmarketplaceinbox.cpp
@@ -109,7 +109,7 @@ void LLPanelMarketplaceInbox::onFocusReceived()
LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
if (sidepanel_inventory)
{
- sidepanel_inventory->clearSelections(true, false, true);
+ sidepanel_inventory->clearSelections(true, false);
}
gSavedPerAccountSettings.setU32("LastInventoryInboxActivity", time_corrected());
diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp
index e3af7fd906..6c2363eb7f 100644
--- a/indra/newview/llpanelmarketplaceoutbox.cpp
+++ b/indra/newview/llpanelmarketplaceoutbox.cpp
@@ -84,6 +84,8 @@ BOOL LLPanelMarketplaceOutbox::postBuild()
return TRUE;
}
+// DO WE NEED THIS FILE AT ALL?
+
void LLPanelMarketplaceOutbox::handleLoginComplete()
{
mImportButton = getChild<LLButton>("outbox_import_btn");
@@ -100,7 +102,7 @@ void LLPanelMarketplaceOutbox::onFocusReceived()
LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
if (sidepanel_inventory)
{
- sidepanel_inventory->clearSelections(true, true, false);
+ sidepanel_inventory->clearSelections(true, true);
}
}
diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp
index 9c551be2d5..eade91798b 100644
--- a/indra/newview/llsidepanelinventory.cpp
+++ b/indra/newview/llsidepanelinventory.cpp
@@ -47,7 +47,6 @@
#include "lloutfitobserver.h"
#include "llpanelmaininventory.h"
#include "llpanelmarketplaceinbox.h"
-#include "llpanelmarketplaceoutbox.h"
#include "llselectmgr.h"
#include "llsidepaneliteminfo.h"
#include "llsidepaneltaskinfo.h"
@@ -68,26 +67,17 @@ static LLRegisterPanelClassWrapper<LLSidepanelInventory> t_inventory("sidepanel_
// No longer want the inbox panel to auto-expand since it creates issues with the "new" tag time stamp
#define AUTO_EXPAND_INBOX 0
-// Temporarily disabling the outbox until we straighten out the API
-#define ENABLE_MERCHANT_OUTBOX_PANEL 1 // keep in sync with ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU
-
static const char * const INBOX_BUTTON_NAME = "inbox_btn";
-static const char * const OUTBOX_BUTTON_NAME = "outbox_btn";
-
static const char * const INBOX_LAYOUT_PANEL_NAME = "inbox_layout_panel";
-static const char * const OUTBOX_LAYOUT_PANEL_NAME = "outbox_layout_panel";
-
static const char * const INBOX_OUTBOX_LAYOUT_PANEL_NAME = "inbox_outbox_layout_panel";
static const char * const MAIN_INVENTORY_LAYOUT_PANEL_NAME = "main_inventory_layout_panel";
static const char * const INBOX_INVENTORY_PANEL = "inventory_inbox";
-static const char * const OUTBOX_INVENTORY_PANEL = "inventory_outbox";
static const char * const INBOX_OUTBOX_LAYOUT_STACK_NAME = "inbox_outbox_layout_stack";
static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack";
static const char * const MARKETPLACE_INBOX_PANEL = "marketplace_inbox";
-static const char * const MARKETPLACE_OUTBOX_PANEL = "marketplace_outbox";
//
// Helpers
@@ -116,10 +106,6 @@ public:
mSidepanelInventory->enableInbox(true);
mSidepanelInventory->observeInboxModifications(added_category->getUUID());
break;
- case LLFolderType::FT_OUTBOX:
- mSidepanelInventory->enableOutbox(true);
- mSidepanelInventory->observeOutboxModifications(added_category->getUUID());
- break;
default:
break;
}
@@ -138,10 +124,8 @@ LLSidepanelInventory::LLSidepanelInventory()
: LLPanel()
, mItemPanel(NULL)
, mInventoryPanelInbox(NULL)
- , mInventoryPanelOutbox(NULL)
, mPanelMainInventory(NULL)
, mInboxEnabled(false)
- , mOutboxEnabled(false)
, mCategoriesObserver(NULL)
, mInboxOutboxAddedObserver(NULL)
{
@@ -172,15 +156,6 @@ void handleInventoryDisplayInboxChanged()
}
}
-void handleInventoryDisplayOutboxChanged()
-{
- LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
- if (sidepanel_inventory)
- {
- sidepanel_inventory->enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox"));
- }
-}
-
BOOL LLSidepanelInventory::postBuild()
{
// UI elements from inventory panel
@@ -255,30 +230,23 @@ BOOL LLSidepanelInventory::postBuild()
LLLayoutStack* inout_stack = getChild<LLLayoutStack>(INBOX_OUTBOX_LAYOUT_STACK_NAME);
- // Collapse both inbox and outbox panels
+ // Collapse inbox panel
inout_stack->collapsePanel(getChild<LLLayoutPanel>(INBOX_LAYOUT_PANEL_NAME), true);
- inout_stack->collapsePanel(getChild<LLLayoutPanel>(OUTBOX_LAYOUT_PANEL_NAME), true);
// Set up button states and callbacks
LLButton * inbox_button = getChild<LLButton>(INBOX_BUTTON_NAME);
- LLButton * outbox_button = getChild<LLButton>(OUTBOX_BUTTON_NAME);
inbox_button->setToggleState(false);
- outbox_button->setToggleState(false);
-
inbox_button->setCommitCallback(boost::bind(&LLSidepanelInventory::onToggleInboxBtn, this));
- outbox_button->setCommitCallback(boost::bind(&LLSidepanelInventory::onToggleOutboxBtn, this));
- // Set the inbox and outbox visible based on debug settings (final setting comes from http request below)
+ // Set the inbox visible based on debug settings (final setting comes from http request below)
enableInbox(gSavedSettings.getBOOL("InventoryDisplayInbox"));
- enableOutbox(gSavedSettings.getBOOL("InventoryDisplayOutbox"));
- // Trigger callback for after login so we can setup to track inbox and outbox changes after initial inventory load
+ // Trigger callback for after login so we can setup to track inbox changes after initial inventory load
LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSidepanelInventory::updateInboxOutbox, this));
}
gSavedSettings.getControl("InventoryDisplayInbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayInboxChanged));
- gSavedSettings.getControl("InventoryDisplayOutbox")->getCommitSignal()->connect(boost::bind(&handleInventoryDisplayOutboxChanged));
// Update the verbs buttons state.
updateVerbs();
@@ -289,40 +257,27 @@ BOOL LLSidepanelInventory::postBuild()
void LLSidepanelInventory::updateInboxOutbox()
{
//
- // Track inbox and outbox folder changes
+ // Track inbox folder changes
//
const bool do_not_create_folder = false;
const bool do_not_find_in_library = false;
const LLUUID inbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_INBOX, do_not_create_folder, do_not_find_in_library);
- const LLUUID outbox_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, do_not_create_folder, do_not_find_in_library);
// Set up observer to listen for creation of inbox and outbox if at least one of them doesn't exist
- if (inbox_id.isNull() || outbox_id.isNull())
+ if (inbox_id.isNull())
{
observeInboxOutboxCreation();
}
-
// Set up observer for inbox changes, if we have an inbox already
- if (!inbox_id.isNull())
+ else
{
// Enable the display of the inbox if it exists
enableInbox(true);
observeInboxModifications(inbox_id);
}
-
-#if ENABLE_MERCHANT_OUTBOX_PANEL
- // Set up observer for outbox changes, if we have an outbox already
- if (!outbox_id.isNull())
- {
- // Enable the display of the outbox if it exists
- enableOutbox(true);
-
- observeOutboxModifications(outbox_id);
- }
-#endif
}
void LLSidepanelInventory::observeInboxOutboxCreation()
@@ -342,7 +297,7 @@ void LLSidepanelInventory::observeInboxOutboxCreation()
void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID)
{
//
- // Track inbox and outbox folder changes
+ // Track inbox folder changes
//
if (inboxID.isNull())
@@ -373,35 +328,6 @@ void LLSidepanelInventory::observeInboxModifications(const LLUUID& inboxID)
mInventoryPanelInbox = inbox->setupInventoryPanel();
}
-
-void LLSidepanelInventory::observeOutboxModifications(const LLUUID& outboxID)
-{
- //
- // Track outbox folder changes
- //
-
- if (outboxID.isNull())
- {
- llwarns << "Attempting to track modifications to non-existant outbox" << llendl;
- return;
- }
-
- if (mCategoriesObserver == NULL)
- {
- mCategoriesObserver = new LLInventoryCategoriesObserver();
- gInventory.addObserver(mCategoriesObserver);
- }
-
- mCategoriesObserver->addCategory(outboxID, boost::bind(&LLSidepanelInventory::onOutboxChanged, this, outboxID));
-
- //
- // Set up the outbox inventory view
- //
-
- LLPanelMarketplaceOutbox * outbox = getChild<LLPanelMarketplaceOutbox>(MARKETPLACE_OUTBOX_PANEL);
- mInventoryPanelOutbox = outbox->setupInventoryPanel();
-}
-
void LLSidepanelInventory::enableInbox(bool enabled)
{
mInboxEnabled = enabled;
@@ -414,39 +340,6 @@ void LLSidepanelInventory::enableInbox(bool enabled)
LLLayoutPanel * inout_layout_panel = getChild<LLLayoutPanel>(INBOX_OUTBOX_LAYOUT_PANEL_NAME);
inout_layout_panel->setVisible(TRUE);
-
- if (mOutboxEnabled)
- {
- S32 inbox_min_dim = inbox_layout_panel->getMinDim();
- S32 outbox_min_dim = getChild<LLLayoutPanel>(OUTBOX_LAYOUT_PANEL_NAME)->getMinDim();
-
- inout_layout_panel->setMinDim(inbox_min_dim + outbox_min_dim);
- }
- }
-}
-
-void LLSidepanelInventory::enableOutbox(bool enabled)
-{
- mOutboxEnabled = enabled;
-
- LLLayoutPanel * outbox_layout_panel = getChild<LLLayoutPanel>(OUTBOX_LAYOUT_PANEL_NAME);
- outbox_layout_panel->setVisible(enabled);
-
- if (mOutboxEnabled)
- {
- LLLayoutPanel * inout_layout_panel = getChild<LLLayoutPanel>(INBOX_OUTBOX_LAYOUT_PANEL_NAME);
-
- inout_layout_panel->setVisible(TRUE);
-
- if (mInboxEnabled)
- {
- S32 inbox_min_dim = getChild<LLLayoutPanel>(INBOX_LAYOUT_PANEL_NAME)->getMinDim();
- S32 outbox_min_dim = outbox_layout_panel->getMinDim();
-
- inout_layout_panel->setMinDim(inbox_min_dim + outbox_min_dim);
- }
-
- updateOutboxUserStatus();
}
}
@@ -459,30 +352,12 @@ void LLSidepanelInventory::openInbox()
}
}
-void LLSidepanelInventory::openOutbox()
-{
- if (mOutboxEnabled)
- {
- getChild<LLButton>(OUTBOX_BUTTON_NAME)->setToggleState(true);
- onToggleOutboxBtn();
- }
-}
-
void LLSidepanelInventory::onInboxChanged(const LLUUID& inbox_id)
{
// Trigger a load of the entire inbox so we always know the contents and their creation dates for sorting
LLInventoryModelBackgroundFetch::instance().start(inbox_id);
#if AUTO_EXPAND_INBOX
- // If the outbox is expanded, don't auto-expand the inbox
- if (mOutboxEnabled)
- {
- if (getChild<LLButton>(OUTBOX_BUTTON_NAME)->getToggleState())
- {
- return;
- }
- }
-
// Expand the inbox since we have fresh items and the outbox is not expanded
if (mInboxEnabled)
{
@@ -492,21 +367,9 @@ void LLSidepanelInventory::onInboxChanged(const LLUUID& inbox_id)
#endif
}
-void LLSidepanelInventory::onOutboxChanged(const LLUUID& outbox_id)
-{
- // Expand the outbox since we have new items in it
- if (mOutboxEnabled)
- {
- getChild<LLButton>(OUTBOX_BUTTON_NAME)->setToggleState(true);
- onToggleOutboxBtn();
- }
-}
-
-bool LLSidepanelInventory::manageInboxOutboxPanels(LLButton * pressedButton, LLLayoutPanel * pressedPanel,
- LLButton * otherButton, LLLayoutPanel * otherPanel)
+bool LLSidepanelInventory::manageInboxOutboxPanels(LLButton * pressedButton, LLLayoutPanel * pressedPanel)
{
bool expand = pressedButton->getToggleState();
- bool otherExpanded = otherButton->getToggleState();
LLLayoutStack* inv_stack = getChild<LLLayoutStack>(INVENTORY_LAYOUT_STACK_NAME);
LLLayoutStack* inout_stack = getChild<LLLayoutStack>(INBOX_OUTBOX_LAYOUT_STACK_NAME);
@@ -516,27 +379,12 @@ bool LLSidepanelInventory::manageInboxOutboxPanels(LLButton * pressedButton, LLL
inv_stack->setPanelUserResize(MAIN_INVENTORY_LAYOUT_PANEL_NAME, expand);
inv_stack->collapsePanel(inout_panel, !expand);
- // Collapse other marketplace panel if it is expanded
- if (expand && otherExpanded)
- {
- // Reshape pressedPanel to the otherPanel's height so we preserve the marketplace panel size
- pressedPanel->reshape(pressedPanel->getRect().getWidth(), otherPanel->getRect().getHeight());
-
- inout_stack->collapsePanel(otherPanel, true);
- otherButton->setToggleState(false);
- }
- else
{
// NOTE: This is an attempt to reshape the inventory panel to the proper size but it doesn't seem to propagate
// properly to the child panels.
S32 new_height = inout_panel->getRect().getHeight();
- if (otherPanel->getVisible())
- {
- new_height -= otherPanel->getMinDim();
- }
-
pressedPanel->reshape(pressedPanel->getRect().getWidth(), new_height);
}
@@ -550,10 +398,8 @@ void LLSidepanelInventory::onToggleInboxBtn()
{
LLButton* inboxButton = getChild<LLButton>(INBOX_BUTTON_NAME);
LLLayoutPanel* inboxPanel = getChild<LLLayoutPanel>(INBOX_LAYOUT_PANEL_NAME);
- LLButton* outboxButton = getChild<LLButton>(OUTBOX_BUTTON_NAME);
- LLLayoutPanel* outboxPanel = getChild<LLLayoutPanel>(OUTBOX_LAYOUT_PANEL_NAME);
- const bool inbox_expanded = manageInboxOutboxPanels(inboxButton, inboxPanel, outboxButton, outboxPanel);
+ const bool inbox_expanded = manageInboxOutboxPanels(inboxButton, inboxPanel);
if (inbox_expanded && inboxPanel->isInVisibleChain())
{
@@ -561,16 +407,6 @@ void LLSidepanelInventory::onToggleInboxBtn()
}
}
-void LLSidepanelInventory::onToggleOutboxBtn()
-{
- LLButton* inboxButton = getChild<LLButton>(INBOX_BUTTON_NAME);
- LLLayoutPanel* inboxPanel = getChild<LLLayoutPanel>(INBOX_LAYOUT_PANEL_NAME);
- LLButton* outboxButton = getChild<LLButton>(OUTBOX_BUTTON_NAME);
- LLLayoutPanel* outboxPanel = getChild<LLLayoutPanel>(OUTBOX_LAYOUT_PANEL_NAME);
-
- manageInboxOutboxPanels(outboxButton, outboxPanel, inboxButton, inboxPanel);
-}
-
void LLSidepanelInventory::onOpen(const LLSD& key)
{
LLFirstUse::newInventory(false);
@@ -740,77 +576,6 @@ void LLSidepanelInventory::showInventoryPanel()
updateVerbs();
}
-void LLSidepanelInventory::updateOutboxUserStatus()
-{
- const bool isMerchant = (gSavedSettings.getString("InventoryMarketplaceUserStatus") == "merchant");
- const bool hasOutbox = !gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false, false).isNull();
-
- LLView * outbox_placeholder = getChild<LLView>("outbox_inventory_placeholder_panel");
- LLView * outbox_placeholder_parent = outbox_placeholder->getParent();
-
- LLTextBox * outbox_title_box = outbox_placeholder->getChild<LLTextBox>("outbox_inventory_placeholder_title");
- LLTextBox * outbox_text_box = outbox_placeholder->getChild<LLTextBox>("outbox_inventory_placeholder_text");
-
- std::string outbox_text;
- std::string outbox_title;
- std::string outbox_tooltip;
-
- if (isMerchant)
- {
- if (hasOutbox)
- {
- outbox_text = LLTrans::getString("InventoryOutboxNoItems");
- outbox_title = LLTrans::getString("InventoryOutboxNoItemsTitle");
- outbox_tooltip = LLTrans::getString("InventoryOutboxNoItemsTooltip");
- }
- else
- {
- outbox_text = LLTrans::getString("InventoryOutboxCreationError");
- outbox_title = LLTrans::getString("InventoryOutboxCreationErrorTitle");
- outbox_tooltip = LLTrans::getString("InventoryOutboxCreationErrorTooltip");
- }
- }
- else
- {
- //
- // The string to become a merchant contains 3 URL's which need the domain name patched in.
- //
-
- std::string domain = "secondlife.com";
-
- if (!LLGridManager::getInstance()->isInProductionGrid())
- {
- std::string gridLabel = LLGridManager::getInstance()->getGridLabel();
- domain = llformat("%s.lindenlab.com", utf8str_tolower(gridLabel).c_str());
- }
-
- LLStringUtil::format_map_t domain_arg;
- domain_arg["[DOMAIN_NAME]"] = domain;
-
- std::string marketplace_url = LLTrans::getString("MarketplaceURL", domain_arg);
- std::string marketplace_url_create = LLTrans::getString("MarketplaceURL_CreateStore", domain_arg);
- std::string marketplace_url_info = LLTrans::getString("MarketplaceURL_LearnMore", domain_arg);
-
- LLStringUtil::format_map_t args1, args2, args3;
- args1["[MARKETPLACE_URL]"] = marketplace_url;
- args2["[LEARN_MORE_URL]"] = marketplace_url_info;
- args3["[CREATE_STORE_URL]"] = marketplace_url_create;
-
- // NOTE: This is dumb, ridiculous and very finicky. The order of these is very important
- // to have these three string substitutions work properly.
- outbox_text = LLTrans::getString("InventoryOutboxNotMerchant", args1);
- LLStringUtil::format(outbox_text, args2);
- LLStringUtil::format(outbox_text, args3);
-
- outbox_title = LLTrans::getString("InventoryOutboxNotMerchantTitle");
- outbox_tooltip = LLTrans::getString("InventoryOutboxNotMerchantTooltip");
- }
-
- outbox_text_box->setValue(outbox_text);
- outbox_title_box->setValue(outbox_title);
- outbox_placeholder_parent->setToolTip(outbox_tooltip);
-}
-
void LLSidepanelInventory::updateVerbs()
{
mInfoBtn->setEnabled(FALSE);
@@ -929,13 +694,6 @@ U32 LLSidepanelInventory::getSelectedCount()
count += selection_list.size();
}
- if ((count == 0) && mOutboxEnabled && (mInventoryPanelOutbox != NULL))
- {
- selection_list = mInventoryPanelOutbox->getRootFolder()->getSelectionList();
-
- count += selection_list.size();
- }
-
return count;
}
@@ -957,7 +715,7 @@ BOOL LLSidepanelInventory::isMainInventoryPanelActive() const
return mInventoryPanel->getVisible();
}
-void LLSidepanelInventory::clearSelections(bool clearMain, bool clearInbox, bool clearOutbox)
+void LLSidepanelInventory::clearSelections(bool clearMain, bool clearInbox)
{
if (clearMain)
{
@@ -974,11 +732,6 @@ void LLSidepanelInventory::clearSelections(bool clearMain, bool clearInbox, bool
mInventoryPanelInbox->clearSelection();
}
- if (clearOutbox && mOutboxEnabled && (mInventoryPanelOutbox != NULL))
- {
- mInventoryPanelOutbox->clearSelection();
- }
-
updateVerbs();
}
@@ -991,10 +744,5 @@ std::set<LLUUID> LLSidepanelInventory::getInboxOrOutboxSelectionList()
inventory_selected_uuids = mInventoryPanelInbox->getRootFolder()->getSelectionList();
}
- if (inventory_selected_uuids.empty() && mOutboxEnabled && (mInventoryPanelOutbox != NULL))
- {
- inventory_selected_uuids = mInventoryPanelOutbox->getRootFolder()->getSelectionList();
- }
-
return inventory_selected_uuids;
}
diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h
index 2c6f807013..915db727d6 100644
--- a/indra/newview/llsidepanelinventory.h
+++ b/indra/newview/llsidepanelinventory.h
@@ -52,19 +52,17 @@ private:
public:
void observeInboxOutboxCreation();
void observeInboxModifications(const LLUUID& inboxID);
- void observeOutboxModifications(const LLUUID& outboxID);
/*virtual*/ BOOL postBuild();
/*virtual*/ void onOpen(const LLSD& key);
LLInventoryPanel* getActivePanel(); // Returns an active inventory panel, if any.
LLInventoryPanel* getInboxPanel() const { return mInventoryPanelInbox; }
- LLInventoryPanel* getOutboxPanel() const { return mInventoryPanelOutbox; }
LLPanelMainInventory* getMainInventoryPanel() const { return mPanelMainInventory; }
BOOL isMainInventoryPanelActive() const;
- void clearSelections(bool clearMain, bool clearInbox, bool clearOutbox);
+ void clearSelections(bool clearMain, bool clearInbox);
std::set<LLUUID> getInboxOrOutboxSelectionList();
void showItemInfoPanel();
@@ -75,18 +73,13 @@ public:
bool canShare();
void onToggleInboxBtn();
- void onToggleOutboxBtn();
void enableInbox(bool enabled);
- void enableOutbox(bool enabled);
void openInbox();
- void openOutbox();
bool isInboxEnabled() const { return mInboxEnabled; }
- bool isOutboxEnabled() const { return mOutboxEnabled; }
- void updateOutboxUserStatus();
void updateVerbs();
protected:
@@ -100,9 +93,8 @@ protected:
bool canWearSelected(); // check whether selected items can be worn
void onInboxChanged(const LLUUID& inbox_id);
- void onOutboxChanged(const LLUUID& outbox_id);
- bool manageInboxOutboxPanels(LLButton * pressedButton, LLLayoutPanel * pressedPanel, LLButton * otherButton, LLLayoutPanel * otherPanel);
+ bool manageInboxOutboxPanels(LLButton * pressedButton, LLLayoutPanel * pressedPanel);
//
// UI Elements
@@ -110,7 +102,6 @@ protected:
private:
LLPanel* mInventoryPanel; // Main inventory view
LLInventoryPanel* mInventoryPanelInbox;
- LLInventoryPanel* mInventoryPanelOutbox;
LLSidepanelItemInfo* mItemPanel; // Individual item view
LLSidepanelTaskInfo* mTaskPanel; // Individual in-world object view
LLPanelMainInventory* mPanelMainInventory;
@@ -135,7 +126,6 @@ private:
LLButton* mShopBtn;
bool mInboxEnabled;
- bool mOutboxEnabled;
LLInventoryCategoriesObserver* mCategoriesObserver;
LLInboxOutboxAddedObserver* mInboxOutboxAddedObserver;
diff --git a/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml b/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
index 86e27cbc71..f0b29f2248 100644
--- a/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
+++ b/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
@@ -6,7 +6,7 @@
height="440"
help_topic="floater_merchant_outbox"
min_width="300"
- min_height="240"
+ min_height="100"
name="floater_merchant_outbox"
save_rect="true"
save_visibility="true"
@@ -49,7 +49,7 @@
<text
name="outbox_inventory_placeholder_title"
type="string"
- follows="all"
+ follows="top|left|right"
layout="topleft"
top="10"
left="0"
@@ -63,7 +63,7 @@
<text
name="outbox_inventory_placeholder_text"
type="string"
- follows="all"
+ follows="top|left|right"
layout="topleft"
top="35"
left="0"
@@ -74,27 +74,6 @@
</panel>
</panel>
<panel
- name="outbox_inventory_disable_panel"
- follows="all"
- left="0"
- bottom="440"
- width="333"
- top="0"
- bg_opaque_color="White_50"
- background_visible="true"
- background_opaque="true"
- visible="false"
- />
- <loading_indicator
- follows="all"
- height="65"
- layout="topleft"
- left="140"
- name="import_progress_indicator"
- top="180"
- visible="false"
- width="45" />
- <panel
follows="bottom|left|right"
left="10"
bottom="435"
@@ -116,7 +95,7 @@
wrap="true"
halign="left"
valign="baseline"
- font="SansSerifBold" />
+ font="SansSerif" />
<button
label="Send to Marketplace"
tool_tip="Push to my Marketplace Storefront"
@@ -131,5 +110,36 @@
width="200"
enabled="false" />
</panel>
+ <panel
+ name="outbox_inventory_disable_panel"
+ follows="all"
+ left="0"
+ bottom="440"
+ width="333"
+ top="0"
+ bg_opaque_color="White_50"
+ background_visible="true"
+ background_opaque="true"
+ visible="false"
+ />
+ <layout_stack name="import_progress_indicator" orientation="vertical" left="0" height="440" top="0" width="333" follows="all" visible="false">
+ <layout_panel />
+ <layout_panel height="45" auto_resize="false">
+ <layout_stack orientation="horizontal" left="0" height="45" top="0" width="333" follows="all">
+ <layout_panel width="0" />
+ <layout_panel width="45" auto_resize="false">
+ <loading_indicator
+ height="45"
+ layout="topleft"
+ left="0"
+ top="0"
+ width="45"
+ />
+ </layout_panel>
+ <layout_panel width="0" />
+ </layout_stack>
+ </layout_panel>
+ <layout_panel />
+ </layout_stack>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
index 9f3c57fa0f..0b14fd0459 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
@@ -153,139 +153,8 @@
</panel>
</panel>
</layout_panel>
- <layout_panel
- width="330"
- layout="topleft"
- auto_resize="true"
- user_resize="false"
- follows="all"
- name="outbox_layout_panel"
- visible="false"
- min_dim="35"
- max_dim="200"
- expanded_min_dim="90"
- height="200">
- <panel
- follows="all"
- layout="topleft"
- left="0"
- name="marketplace_outbox"
- class="panel_marketplace_outbox"
- top="0"
- label=""
- height="200"
- width="330">
- <string name="OutboxLabelWithArg">Merchant outbox ([NUM])</string>
- <string name="OutboxLabelNoArg">Merchant outbox</string>
- <button
- label="Merchant outbox"
- font="SansSerifMedium"
- name="outbox_btn"
- height="35"
- width="308"
- image_unselected="MarketplaceBtn_Off"
- image_selected="MarketplaceBtn_Selected"
- halign="left"
- handle_right_mouse="false"
- follows="top|left|right"
- is_toggle="true"
- tab_stop="false"
- pad_left="35"
- top="0"
- left="10" />
- <button
- image_unselected="OutboxPush_Off"
- image_selected="OutboxPush_Selected"
- image_hover_selected="OutboxPush_Selected_Over"
- image_hover_unselected="OutboxPush_Over"
- image_disabled_selected="OutboxPush_Selected_Disabled"
- image_disabled="OutboxPush_Disabled"
- image_pressed="OutboxPush_Press"
- image_pressed_selected="OutboxPush_Selected_Press"
- label=""
- tool_tip="Push to my Marketplace Storefront"
- is_toggle="false"
- name="outbox_import_btn"
- follows="top|right"
- tab_stop="false"
- halign="center"
- top="6"
- left="-50"
- height="23"
- width="32"
- enabled="false" />
- <loading_indicator
- follows="top|right"
- name="outbox_import_indicator"
- top="6"
- left="-50"
- height="23"
- width="32"
- images_per_sec="1.15"
- tab_stop="false"
- visible="false">
- <images>
- <image name="OutboxPush_Progress_1"/>
- <image name="OutboxPush_Progress_2"/>
- <image name="OutboxPush_Progress_3"/>
- <image name="OutboxPush_Progress_4"/>
- <image name="OutboxPush_Progress_5"/>
- <image name="OutboxPush_Progress_6"/>
- </images>
- </loading_indicator>
- <panel
- follows="all"
- left="10"
- bottom="200"
- width="308"
- top="35"
- bg_opaque_color="InventoryBackgroundColor"
- background_visible="true"
- background_opaque="true"
- >
- <panel
- name="outbox_inventory_placeholder_panel"
- follows="all"
- layout="topleft"
- top="0"
- left="0"
- width="308"
- height="165"
- bg_opaque_color="InventoryBackgroundColor"
- background_visible="true"
- background_opaque="true"
- >
- <text
- name="outbox_inventory_placeholder_title"
- type="string"
- follows="all"
- layout="topleft"
- top="10"
- left="0"
- width="308"
- height="25"
- wrap="true"
- halign="center"
- font="SansSerifBold">
- Loading...
- </text>
- <text
- name="outbox_inventory_placeholder_text"
- type="string"
- follows="all"
- layout="topleft"
- top="35"
- left="0"
- width="308"
- height="130"
- wrap="true"
- halign="left" />
- </panel>
- </panel>
- </panel>
- </layout_panel>
- </layout_stack>
- </layout_panel>
+ </layout_stack>
+ </layout_panel>
</layout_stack>
<panel
follows="bottom|left|right"