summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelmarketplaceoutbox.cpp
diff options
context:
space:
mode:
authorleslie@leslie-HPz600.lindenlab.com <leslie@leslie-HPz600.lindenlab.com>2011-08-26 16:33:47 -0700
committerleslie@leslie-HPz600.lindenlab.com <leslie@leslie-HPz600.lindenlab.com>2011-08-26 16:33:47 -0700
commitc2443b95d3cd9f0f26e5e8f5c2dbeb5f6c307447 (patch)
tree70ca348ba23a2a38f5e53b07f5135064c28dabad /indra/newview/llpanelmarketplaceoutbox.cpp
parente11e794716368257792c3ccce60ba7709e0f29e0 (diff)
EXP-1126 FIX -- Cannot use arrow keys to scroll up and down in Inbox and Outbox
EXP-1003 FIX -- Renaming a folder in Received Items panel resets the New flag for that folder EXP-1001 FIX -- Newness is removed on next login if you log out or crash before opening inventory panel EXP-857 FIX -- Add context menu entries as alternate path to populate outbox EXP-858 FIX -- Outbox sync failure error handling EXP-1158 FIX -- Viewer crash when deleting items from Outbox when some folders are open * Made inbox, outbox and inventory panels all legit tab stops for keyboard focus * Added mouse over indication on inventory panel primarily for increased clarity on outbox error messages * Disabled "Rename" option on inbox items * Added context menu option to copy/move an item to the merchant outbox * Context menu option to copy/move to outbox is visible and/or enabled/disabled when appropriate * "LastInventoryInboxCollapse" no longer written out as a setting when the panel is not visible * Fixed up collapse time check to not try to parse empty string on first load (deminishes text spam in log greatly) * Disabled double-click as a way to equip items in the inbox or outbox * Viewer code no longer removes items from the outbox after sync. We rely on the sim to do this now. * Basic outbox sync error handling now displays error messages as tooltips along with badge over item in outbox * Moved some scroll container default values out of code and into xml
Diffstat (limited to 'indra/newview/llpanelmarketplaceoutbox.cpp')
-rw-r--r--indra/newview/llpanelmarketplaceoutbox.cpp46
1 files changed, 38 insertions, 8 deletions
diff --git a/indra/newview/llpanelmarketplaceoutbox.cpp b/indra/newview/llpanelmarketplaceoutbox.cpp
index 221420985a..839369bffe 100644
--- a/indra/newview/llpanelmarketplaceoutbox.cpp
+++ b/indra/newview/llpanelmarketplaceoutbox.cpp
@@ -27,6 +27,7 @@
#include "llviewerprecompiledheaders.h"
#include "llpanelmarketplaceoutbox.h"
+#include "llpanelmarketplaceoutboxinventory.h"
#include "llappviewer.h"
#include "llbutton.h"
@@ -36,6 +37,7 @@
#include "llloadingindicator.h"
#include "llnotificationsutil.h"
#include "llpanelmarketplaceinbox.h"
+#include "llsdutil.h"
#include "llsidepanelinventory.h"
#include "llsidetray.h"
#include "lltimer.h"
@@ -198,13 +200,6 @@ public:
{
// Complete success
llinfos << "success" << llendl;
- LLSD imported_list = content["imported"];
- LLSD::array_const_iterator it = imported_list.beginArray();
- for ( ; it != imported_list.endArray(); ++it)
- {
- LLUUID imported_folder = (*it).asUUID();
- remove_category(&gInventory, imported_folder);
- }
}
else
{
@@ -252,7 +247,9 @@ void LLPanelMarketplaceOutbox::onSyncComplete(bool goodStatus, const LLSD& conte
mSyncInProgress = false;
updateSyncButtonStatus();
- if (goodStatus)
+ const LLSD& errors_list = content["errors"];
+
+ if (goodStatus && (errors_list.size() == 0))
{
LLNotificationsUtil::add("OutboxUploadComplete", LLSD::emptyMap(), LLSD::emptyMap());
}
@@ -260,6 +257,39 @@ void LLPanelMarketplaceOutbox::onSyncComplete(bool goodStatus, const LLSD& conte
{
LLNotificationsUtil::add("OutboxUploadHadErrors", LLSD::emptyMap(), LLSD::emptyMap());
}
+
+ llinfos << "Marketplace upload llsd:" << llendl;
+ llinfos << ll_pretty_print_sd(content) << llendl;
+ llinfos << llendl;
+
+ const LLSD& imported_list = content["imported"];
+ LLSD::array_const_iterator it = imported_list.beginArray();
+ for ( ; it != imported_list.endArray(); ++it)
+ {
+ LLUUID imported_folder = (*it).asUUID();
+ llinfos << "Successfully uploaded folder " << imported_folder.asString() << " to marketplace." << llendl;
+ }
+
+ for (it = errors_list.beginArray(); it != errors_list.endArray(); ++it)
+ {
+ const LLSD& item_error_map = (*it);
+
+ LLUUID error_folder = item_error_map["folder_id"].asUUID();
+ const std::string& error_string = item_error_map["identifier"].asString();
+ LLUUID error_item = item_error_map["item_id"].asUUID();
+ const std::string& error_item_name = item_error_map["item_name"].asString();
+ const std::string& error_message = item_error_map["message"].asString();
+
+ llinfos << "Error item " << error_folder.asString() << ", " << error_string << ", "
+ << error_item.asString() << ", " << error_item_name << ", " << error_message << llendl;
+
+ LLFolderViewFolder * item_folder = mInventoryPanel->getRootFolder()->getFolderByID(error_folder);
+ LLOutboxFolderViewFolder * outbox_item_folder = dynamic_cast<LLOutboxFolderViewFolder *>(item_folder);
+
+ llassert(outbox_item_folder);
+
+ outbox_item_folder->setErrorString(error_string);
+ }
}
void LLPanelMarketplaceOutbox::updateSyncButtonStatus()