From 7b09592bf9968dfda5c4cedf4b55e0459e6bd764 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 19 Aug 2011 16:20:29 -0700 Subject: EXP-840 FIX -- Create outbox panels to help the user get started on the marketplace and to indicate drag and drop targets. EXP-858 PROGRESS -- Outbox sync failure error handling EXP-908 FIX -- Hide outbox when appropriate EXP-1062 FIX -- Add modal dialog for outbox sync complete EXP-1096 FIX -- Extra space below Received Items panel for an account that does not have a Merchant Account setup, no outbox display EXP-1104 FIX -- User can activate Merchant Outbox synch button when outbox is empty * Added separate class for outbox view to support error tag rendering * Added confirmation for sync complete. * Added different outbox messages for empty outbox, non-merchant and error: merchant but no outbox * Progress on a bunch of other fronts. --- indra/newview/llpanelmarketplaceoutboxinventory.h | 82 +++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 indra/newview/llpanelmarketplaceoutboxinventory.h (limited to 'indra/newview/llpanelmarketplaceoutboxinventory.h') diff --git a/indra/newview/llpanelmarketplaceoutboxinventory.h b/indra/newview/llpanelmarketplaceoutboxinventory.h new file mode 100644 index 0000000000..ba68654ad7 --- /dev/null +++ b/indra/newview/llpanelmarketplaceoutboxinventory.h @@ -0,0 +1,82 @@ +/** + * @file llpanelmarketplaceoutboxinventory.h + * @brief LLOutboxInventoryPanel class declaration + * + * $LicenseInfo:firstyear=2009&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_OUTBOXINVENTORYPANEL_H +#define LL_OUTBOXINVENTORYPANEL_H + + +#include "llbadgeowner.h" +#include "llinventorypanel.h" +#include "llfolderviewitem.h" + + +class LLOutboxInventoryPanel : public LLInventoryPanel +{ +public: + struct Params : public LLInitParam::Block + { + Params() {} + }; + + LLOutboxInventoryPanel(const Params& p); + ~LLOutboxInventoryPanel(); + + // virtual + void buildFolderView(const LLInventoryPanel::Params& params); + + // virtual + class LLFolderViewFolder* createFolderViewFolder(LLInvFVBridge * bridge); +}; + + +class LLOutboxFolderViewFolder : public LLFolderViewFolder, public LLBadgeOwner +{ +public: + struct Params : public LLInitParam::Block + { + Optional error_badge; + + Params() + : error_badge("error_badge") + { + } + }; + + LLOutboxFolderViewFolder(const Params& p); + ~LLOutboxFolderViewFolder(); + + void draw(); + + bool hasError() const { return mError; } + +protected: + void setCreationDate(time_t creation_date_utc) const; + + bool mError; +}; + + +#endif //LL_OUTBOXINVENTORYPANEL_H -- cgit v1.2.3 From c2443b95d3cd9f0f26e5e8f5c2dbeb5f6c307447 Mon Sep 17 00:00:00 2001 From: "leslie@leslie-HPz600.lindenlab.com" Date: Fri, 26 Aug 2011 16:33:47 -0700 Subject: 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 --- indra/newview/llpanelmarketplaceoutboxinventory.h | 25 +++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'indra/newview/llpanelmarketplaceoutboxinventory.h') diff --git a/indra/newview/llpanelmarketplaceoutboxinventory.h b/indra/newview/llpanelmarketplaceoutboxinventory.h index ba68654ad7..ec55b7eb2e 100644 --- a/indra/newview/llpanelmarketplaceoutboxinventory.h +++ b/indra/newview/llpanelmarketplaceoutboxinventory.h @@ -48,7 +48,8 @@ public: void buildFolderView(const LLInventoryPanel::Params& params); // virtual - class LLFolderViewFolder* createFolderViewFolder(LLInvFVBridge * bridge); + LLFolderViewFolder * createFolderViewFolder(LLInvFVBridge * bridge); + LLFolderViewItem * createFolderViewItem(LLInvFVBridge * bridge); }; @@ -60,7 +61,7 @@ public: Optional error_badge; Params() - : error_badge("error_badge") + : error_badge("error_badge") { } }; @@ -69,13 +70,29 @@ public: ~LLOutboxFolderViewFolder(); void draw(); + + void setErrorString(const std::string& errorString); + void setError(S32 errorCode); - bool hasError() const { return mError; } + bool hasError() const { return (mError != 0); } protected: void setCreationDate(time_t creation_date_utc) const; - bool mError; + S32 mError; +}; + + +class LLOutboxFolderViewItem : public LLFolderViewItem +{ +public: + LLOutboxFolderViewItem(const Params& p) + : LLFolderViewItem(p) + { + } + + // virtual + BOOL handleDoubleClick(S32 x, S32 y, MASK mask); }; -- cgit v1.2.3 From 6bb2b2cb99740a00498f5441b8a48b0bf5a04985 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 7 Sep 2011 12:45:50 -0700 Subject: EXP-1194 FIX -- Update New tag behavior to update Newness timestamp when Received Items panel is open and do not auto open Received Items panel * Updated inbox freshness time setting name to "LastInventoryInboxActivity" * New time stamp reflects time of last activity performed on the inbox by the user * Selection and opening items in the inbox both count as activity on the inbox * Focus going to the inbox panel counts as activity on the inbox * Creation date of folders now computed based on date of items being added to them * Creation date of folders no longer relies on queries for creation date, as is done during sorting * Folders are assumed to be "new" if no inbox freshness time setting is saved --- indra/newview/llpanelmarketplaceoutboxinventory.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/newview/llpanelmarketplaceoutboxinventory.h') diff --git a/indra/newview/llpanelmarketplaceoutboxinventory.h b/indra/newview/llpanelmarketplaceoutboxinventory.h index ec55b7eb2e..346680a79d 100644 --- a/indra/newview/llpanelmarketplaceoutboxinventory.h +++ b/indra/newview/llpanelmarketplaceoutboxinventory.h @@ -77,8 +77,6 @@ public: bool hasError() const { return (mError != 0); } protected: - void setCreationDate(time_t creation_date_utc) const; - S32 mError; }; -- cgit v1.2.3