summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloateroutbox.cpp43
-rw-r--r--indra/newview/llfloateroutbox.h23
-rw-r--r--indra/newview/llinventorybridge.cpp2
-rw-r--r--indra/newview/skins/default/xui/en/floater_merchant_outbox.xml12
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml37
5 files changed, 68 insertions, 49 deletions
diff --git a/indra/newview/llfloateroutbox.cpp b/indra/newview/llfloateroutbox.cpp
index 725e521e58..239ba7ad4d 100644
--- a/indra/newview/llfloateroutbox.cpp
+++ b/indra/newview/llfloateroutbox.cpp
@@ -103,15 +103,16 @@ LLFloaterOutbox::LLFloaterOutbox(const LLSD& key)
: LLFloater(key)
, mCategoriesObserver(NULL)
, mCategoryAddedObserver(NULL)
- , mOutboxId(LLUUID::null)
- , mOutboxInventoryPanel(NULL)
- , mOutboxItemCount(0)
+ , mImportBusy(false)
+ , mImportButton(NULL)
, mInventoryFolderCountText(NULL)
, mInventoryImportInProgress(NULL)
, mInventoryPlaceholder(NULL)
, mInventoryText(NULL)
, mInventoryTitle(NULL)
- , mImportButton(NULL)
+ , mOutboxId(LLUUID::null)
+ , mOutboxInventoryPanel(NULL)
+ , mOutboxItemCount(0)
, mWindowShade(NULL)
{
}
@@ -251,12 +252,22 @@ void LLFloaterOutbox::setupOutbox(const LLUUID& outboxId)
// Initialize the marketplace import API
//
+ mImportBusy = true;
+ setStatusString(getString("OutboxInitializing"));
+
LLMarketplaceInventoryImporter::getInstance()->initialize();
LLMarketplaceInventoryImporter::getInstance()->setStatusChangedCallback(boost::bind(&LLFloaterOutbox::importStatusChanged, this, _1));
LLMarketplaceInventoryImporter::getInstance()->setStatusReportCallback(boost::bind(&LLFloaterOutbox::importReportResults, this, _1, _2));
}
-void LLFloaterOutbox::updateItemCount()
+void LLFloaterOutbox::setStatusString(const std::string& statusString)
+{
+ llassert(mInventoryFolderCountText != NULL);
+
+ mInventoryFolderCountText->setText(statusString);
+}
+
+void LLFloaterOutbox::updateFolderCount()
{
S32 item_count = 0;
@@ -275,8 +286,8 @@ void LLFloaterOutbox::updateItemCount()
{
switch (mOutboxItemCount)
{
- case 0: mInventoryFolderCountText->setText(getString("OutboxFolderCount0")); break;
- case 1: mInventoryFolderCountText->setText(getString("OutboxFolderCount1")); break;
+ case 0: setStatusString(getString("OutboxFolderCount0")); break;
+ case 1: setStatusString(getString("OutboxFolderCount1")); break;
default:
{
std::string item_count_str = llformat("%d", mOutboxItemCount);
@@ -284,7 +295,7 @@ void LLFloaterOutbox::updateItemCount()
LLStringUtil::format_map_t args;
args["[NUM]"] = item_count_str;
- mInventoryFolderCountText->setText(getString("OutboxFolderCountN", args));
+ setStatusString(getString("OutboxFolderCountN", args));
break;
}
}
@@ -295,7 +306,10 @@ void LLFloaterOutbox::updateItemCount()
void LLFloaterOutbox::updateView()
{
- updateItemCount();
+ if (!mImportBusy)
+ {
+ updateFolderCount();
+ }
if (mOutboxItemCount > 0)
{
@@ -431,15 +445,22 @@ void LLFloaterOutbox::importStatusChanged(bool inProgress)
{
if (inProgress)
{
- mImportButton->setEnabled(false);
+ if (!mImportBusy)
+ {
+ setStatusString(getString("OutboxImporting"));
+ }
+ mImportBusy = true;
+ mImportButton->setEnabled(false);
mInventoryImportInProgress->setVisible(true);
}
else
{
+ mImportBusy = false;
+ mImportButton->setEnabled(mOutboxItemCount > 0);
mInventoryImportInProgress->setVisible(false);
- mImportButton->setEnabled(mOutboxItemCount > 0);
+ updateView();
}
}
diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h
index 5222db1142..5cb487be64 100644
--- a/indra/newview/llfloateroutbox.h
+++ b/indra/newview/llfloateroutbox.h
@@ -80,25 +80,28 @@ protected:
void onImportButtonClicked();
void onOutboxChanged();
- void updateItemCount();
+ void setStatusString(const std::string& statusString);
+
+ void updateFolderCount();
void updateView();
private:
LLInventoryCategoriesObserver * mCategoriesObserver;
LLInventoryCategoryAddedObserver * mCategoryAddedObserver;
-
+
+ bool mImportBusy;
+ LLButton * mImportButton;
+
+ LLTextBox * mInventoryFolderCountText;
+ LLView * mInventoryImportInProgress;
+ LLView * mInventoryPlaceholder;
+ LLTextBox * mInventoryText;
+ LLTextBox * mInventoryTitle;
+
LLUUID mOutboxId;
LLInventoryPanel * mOutboxInventoryPanel;
U32 mOutboxItemCount;
- LLTextBox * mInventoryFolderCountText;
- LLView * mInventoryImportInProgress;
- LLView * mInventoryPlaceholder;
- LLTextBox * mInventoryText;
- LLTextBox * mInventoryTitle;
-
- LLButton * mImportButton;
-
LLWindowShade * mWindowShade;
};
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 7665ad6e88..4e26f09978 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -73,7 +73,7 @@
// Marketplace outbox current disabled
#define ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU 1
-#define BLOCK_WORN_ITEMS_IN_OUTBOX 0
+#define BLOCK_WORN_ITEMS_IN_OUTBOX 1
typedef std::pair<LLUUID, LLUUID> two_uuids_t;
typedef std::list<two_uuids_t> two_uuids_list_t;
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 0368601bf4..eb68339022 100644
--- a/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
+++ b/indra/newview/skins/default/xui/en/floater_merchant_outbox.xml
@@ -16,6 +16,8 @@
<string name="OutboxFolderCount0">0 folders</string>
<string name="OutboxFolderCount1">1 folder</string>
<string name="OutboxFolderCountN">[NUM] folders</string>
+ <string name="OutboxImporting">Sending items...</string>
+ <string name="OutboxInitializing">Initializing...</string>
<panel
follows="all"
layout="topleft"
@@ -82,13 +84,13 @@
type="string"
follows="all"
layout="topleft"
- top="7"
+ top="10"
left="5"
- width="100"
+ width="150"
height="20"
wrap="true"
halign="left"
- valign="baseline"
+ valign="bottom"
font="SansSerif" />
<button
label="Send to Marketplace"
@@ -99,9 +101,9 @@
tab_stop="false"
halign="center"
top="3"
- left="110"
+ left="160"
height="25"
- width="200"
+ width="150"
enabled="false" />
</panel>
<layout_stack name="import_progress_indicator" orientation="vertical" left="0" height="440" top="0" width="333" follows="all" visible="false">
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 0d9a7e5c41..18ca3033e9 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -164,12 +164,13 @@ Please try logging in again in a minute.</string>
<string name="TooltipLand">Land:</string>
<string name="TooltipMustSingleDrop">Only a single item can be dragged here</string>
<string name="TooltipPrice" value="L$[AMOUNT]: "/>
- <string name="TooltipOutboxNoTransfer">One or more of these objects cannot be sold or transferred to another user.</string>
- <string name="TooltipOutboxNotInInventory">You can only transfer objects in your inventory to your merchant outbox.</string>
- <string name="TooltipOutboxWorn">You are wearing one or more of these objects. Remove them from your avatar and try moving them again.</string>
- <string name="TooltipOutboxFolderLevels">This folder has too many levels of subfolders. Rearrange the interior folders to a maximum of 4 levels deep (Root Folder contains A contains B contains C).</string>
- <string name="TooltipOutboxTooManyFolders">This folder has too many subfolders. Reorganize the interior to a maximum of 20 folders.</string>
- <string name="TooltipOutboxTooManyObjects">This folder contains more than 200 objects. Box some of the items to reduce the object count.</string>
+
+ <string name="TooltipOutboxNoTransfer">One or more of these objects cannot be sold or transferred.</string>
+ <string name="TooltipOutboxNotInInventory">Your merchant outbox can only accept items directly from your inventory</string>
+ <string name="TooltipOutboxWorn">You can not put items you are wearing into your merchant outbox</string>
+ <string name="TooltipOutboxFolderLevels">Depth of nested folders exceeds 3</string>
+ <string name="TooltipOutboxTooManyFolders">Subfolder count in top-level folder exceeds 20</string>
+ <string name="TooltipOutboxTooManyObjects">Item count in top-level folder exceeds 200</string>
<!-- tooltips for Urls -->
<string name="TooltipHttpUrl">Click to view this web page</string>
@@ -2032,33 +2033,25 @@ Returns a string with the requested data about the region
<string name="InventoryNoTexture">You do not have a copy of this texture in your inventory</string>
<string name="InventoryInboxNoItems">When you purchase or otherwise receive an item, it will appear here so you can drag it to a folder in your inventory, or delete it if you do not wish to keep it.</string>
<string name="MarketplaceURL">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/</string>
- <string name="MarketplaceURL_CreateStore">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/create_store</string>
- <string name="MarketplaceURL_Dashboard">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/[AGENT_ID]/store/dashboard</string>
+ <string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4</string>
+ <string name="MarketplaceURL_Dashboard">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard</string>
<string name="MarketplaceURL_LearnMore">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/learn_more</string>
- <string name="InventoryOutboxCreationErrorTitle">Your Merchant Outbox is not properly configured</string>
- <string name="InventoryOutboxCreationErrorTooltip">Merchant Outbox configuration error</string>
- <string name="InventoryOutboxCreationError">Please contact Customer Service to correct the problem.</string>
<string name="InventoryOutboxNotMerchantTitle">Anyone can sell items on the Marketplace.</string>
- <string name="InventoryOutboxNotMerchantTooltip">Become a merchant!</string>
+ <string name="InventoryOutboxNotMerchantTooltip"></string>
<string name="InventoryOutboxNotMerchant">
-The Second Life Marketplace offers more than one million virtual products for sale, all of them created by Residents like you. You too can create items and sell them on the Marketplace. Creating a store is easy and free of charge.
-
-[[MARKETPLACE_URL] Visit the Marketplace]
-
-[[MARKETPLACE_LEARN_MORE_URL] Learn more about creating a store]
+If you'd like to become a merchant, you'll need to [[MARKETPLACE_CREATE_STORE_URL] create a Marketplace store].
</string>
<string name="InventoryOutboxNoItemsTitle">Your outbox is empty.</string>
- <string name="InventoryOutboxNoItemsTooltip">Drag and drop items here to prepare them for sale on the Marketplace</string>
+ <string name="InventoryOutboxNoItemsTooltip"></string>
<string name="InventoryOutboxNoItems">
-Drag folders to this area. When you are ready to send them to the Marketplace for sale, click the "Send to Marketplace" button below.
-
-[[MARKETPLACE_DASHBOARD_URL] Go to your Merchant Dashboard]
+Drag folders to this area and click "Send to Marketplace" to list them for sale on the [[MARKETPLACE_DASHBOARD_URL] Marketplace].
</string>
<string name="Marketplace Error None">No errors</string>
<string name="Marketplace Error Not Merchant">Error: Before sending items to the Marketplace you will need to set yourself up as a merchant (free of charge).</string>
<string name="Marketplace Error Empty Folder">Error: This folder has no contents.</string>
- <string name="Marketplace Error Unassociated Products">Error: This item failed to upload because your merchant account has too many items unassociated with products. To fix this error, login to the marketplace website and reduce your unassociated item count.</string>
+ <string name="Marketplace Error Unassociated Products">Error: This item failed to upload because your merchant account has too many items unassociated with products. To fix this error, log in to the marketplace website and reduce your unassociated item count.</string>
+
<string name="Marketplace Error Object Limit">Error: This item contains too many objects. Fix this error by placing objects together in boxes to reduce the total count to less than 200.</string>
<string name="Marketplace Error Folder Depth">Error: This item contains too many levels of nested folders. Reorganize it to a maximum of 3 levels of nested folders.</string>
<string name="Marketplace Error Unsellable Item">Error: This item can not be sold on the marketplace.</string>