diff options
author | leslie@leslie-HPz600.lindenlab.com <leslie@leslie-HPz600.lindenlab.com> | 2011-08-26 16:33:47 -0700 |
---|---|---|
committer | leslie@leslie-HPz600.lindenlab.com <leslie@leslie-HPz600.lindenlab.com> | 2011-08-26 16:33:47 -0700 |
commit | c2443b95d3cd9f0f26e5e8f5c2dbeb5f6c307447 (patch) | |
tree | 70ca348ba23a2a38f5e53b07f5135064c28dabad /indra/newview/llpanelmarketplaceoutbox.cpp | |
parent | e11e794716368257792c3ccce60ba7709e0f29e0 (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.cpp | 46 |
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() |