diff options
| -rw-r--r-- | indra/newview/llfloateroutbox.cpp | 38 | ||||
| -rw-r--r-- | indra/newview/llfloateroutbox.h | 2 | ||||
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llinventorypanel.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llpanelmaininventory.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelmarketplaceinbox.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelmarketplaceoutbox.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llsidepanelinventory.cpp | 272 | ||||
| -rw-r--r-- | indra/newview/llsidepanelinventory.h | 14 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_merchant_outbox.xml | 60 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/sidepanel_inventory.xml | 135 | 
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" | 
