From 570d02dc7e41c3e08477e7f759d632db78690eb4 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Tue, 29 Nov 2011 16:57:37 -0800 Subject: Initial merchant outbox button --- indra/newview/llfloateroutbox.h | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 indra/newview/llfloateroutbox.h (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h new file mode 100644 index 0000000000..cb5c2be81c --- /dev/null +++ b/indra/newview/llfloateroutbox.h @@ -0,0 +1,56 @@ +/** + * @file llfloateroutbox.h + * @brief LLFloaterOutbox + * class definition + * + * $LicenseInfo:firstyear=2001&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 + * ABILITY 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_LLFLOATEROUTBOX_H +#define LL_LLFLOATEROUTBOX_H + +#include "llfloater.h" +#include "llfoldertype.h" + +class LLInventoryPanel; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Class LLFloaterOutbox +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +class LLFloaterOutbox : public LLFloater +{ +public: + LLFloaterOutbox(const LLSD& key); + ~LLFloaterOutbox(); + + BOOL postBuild(); + + // Inherited functionality + /*virtual*/ void onOpen(const LLSD& key); + /*virtual*/ void onClose(bool app_quitting); + +private: + LLInventoryPanel* mPanelOutboxInventory; +}; + +#endif // LL_LLFLOATEROUTBOX_H -- cgit v1.2.3 From 67f1321f31d5988e7b383cfbf4fbd6537f3d2710 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Thu, 8 Dec 2011 16:46:30 -0800 Subject: Initial functional merchant outbox floater --- indra/newview/llfloateroutbox.h | 44 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index cb5c2be81c..1e8567ef12 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -31,7 +31,15 @@ #include "llfloater.h" #include "llfoldertype.h" + +class LLButton; +class LLInventoryCategoriesObserver; +class LLInventoryCategoryAddedObserver; class LLInventoryPanel; +class LLLoadingIndicator; +class LLTextBox; +class LLView; + //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class LLFloaterOutbox @@ -42,15 +50,43 @@ class LLFloaterOutbox : public LLFloater public: LLFloaterOutbox(const LLSD& key); ~LLFloaterOutbox(); + + void setupOutbox(const LLUUID& outboxId); + // virtuals BOOL postBuild(); + void onOpen(const LLSD& key); + BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg); - // Inherited functionality - /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void onClose(bool app_quitting); +protected: + void importReportResults(U32 status, const LLSD& content); + void importStatusChanged(bool inProgress); + + void onImportButtonClicked(); + void onOutboxChanged(); + + void updateView(); private: - LLInventoryPanel* mPanelOutboxInventory; + LLInventoryCategoriesObserver * mCategoriesObserver; + LLInventoryCategoryAddedObserver * mCategoryAddedObserver; + + LLUUID mOutboxId; + LLInventoryPanel * mOutboxInventoryPanel; + U32 mOutboxItemCount; + + LLView * mInventoryDisablePanel; + LLTextBox * mInventoryFolderCountText; + LLLoadingIndicator * mInventoryImportInProgress; + LLView * mInventoryPlaceholder; + LLTextBox * mInventoryText; + LLTextBox * mInventoryTitle; + + LLButton * mImportButton; }; #endif // LL_LLFLOATEROUTBOX_H -- cgit v1.2.3 From a7b04c9dd44274b3548402de2f4a9b8bc20e3e50 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 9 Dec 2011 10:31:16 -0800 Subject: * Removed old inventory window outbox. * Added centered progress indicator for outbox. --- indra/newview/llfloateroutbox.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llfloateroutbox.h') 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; -- cgit v1.2.3 From 8878a5e561f292a8afcd933eaafb2c4c65b7bf7f Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 9 Dec 2011 12:29:33 -0800 Subject: * Changed background opacity of outbox and inventory to match. * Removed superfluous marketplace layout stack, leftover from inbox/outbox in same inventory window. --- indra/newview/llfloateroutbox.h | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 9b6568c69c..3d2ce86144 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -79,7 +79,6 @@ private: LLInventoryPanel * mOutboxInventoryPanel; U32 mOutboxItemCount; - LLView * mInventoryDisablePanel; LLTextBox * mInventoryFolderCountText; LLView * mInventoryImportInProgress; LLView * mInventoryPlaceholder; -- cgit v1.2.3 From cc92db1f353de96f6d27863b92671b2d847536f4 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 9 Dec 2011 16:19:03 -0800 Subject: Moved outbox import confirmations to window shades on the merchant outbox floater, rather than modal dialogs. --- indra/newview/llfloateroutbox.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 3d2ce86144..8023434675 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -30,6 +30,7 @@ #include "llfloater.h" #include "llfoldertype.h" +#include "llnotificationptr.h" class LLButton; @@ -37,8 +38,10 @@ class LLInventoryCategoriesObserver; class LLInventoryCategoryAddedObserver; class LLInventoryPanel; class LLLoadingIndicator; +class LLNotification; class LLTextBox; class LLView; +class LLWindowShade; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -55,12 +58,15 @@ public: // virtuals BOOL postBuild(); + void onClose(bool app_quitting); void onOpen(const LLSD& key); BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg); + + void showNotification(LLNotificationPtr notify); protected: void importReportResults(U32 status, const LLSD& content); @@ -86,6 +92,8 @@ private: LLTextBox * mInventoryTitle; LLButton * mImportButton; + + LLWindowShade * mWindowShade; }; #endif // LL_LLFLOATEROUTBOX_H -- cgit v1.2.3 From e826cbd90750fd38565e4e44390948f36254cf1f Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Mon, 12 Dec 2011 15:02:52 -0800 Subject: EXP-1682 FIX EXP-1683 FIX EXP-1705 FIX EXP-1707 FIX * Outbox folder count now uses inventory API directly rather than inventory folder view for folder count and item status * Asynchronous fetches are triggered for the outbox content when the window is opened and when it receives focus * Marketplace URL's for empty and non-merchant outbox view have been updated * "Copy to Merchant Outbox" and "Delete" context menu items should be fully functional now with item counts, etc. --- indra/newview/llfloateroutbox.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 8023434675..5222db1142 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -58,8 +58,6 @@ public: // virtuals BOOL postBuild(); - void onClose(bool app_quitting); - void onOpen(const LLSD& key); BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, @@ -69,12 +67,20 @@ public: void showNotification(LLNotificationPtr notify); protected: + void fetchOutboxContents(); + void importReportResults(U32 status, const LLSD& content); void importStatusChanged(bool inProgress); + void onClose(bool app_quitting); + void onOpen(const LLSD& key); + + void onFocusReceived(); + void onImportButtonClicked(); void onOutboxChanged(); + void updateItemCount(); void updateView(); private: -- cgit v1.2.3 From 6c26fdea4d62f723c3bdbec9ded032e6d77301b8 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Mon, 19 Dec 2011 16:46:26 -0800 Subject: EXP-1741 FIX -- Learn more link goes to page not found from Outbox for user that is not a merchant an Agni EXP-1746 FIX -- Update Outbox messaging EXP-1748 FIX -- Close down on messaging with Spinner MKT-3403 support -- viewer tooltips updated to match errors in marketplace * Copy has been updated to match the design per Leo and Brooke * Marketplace URL's have also been updated * The outbox floater now reports a status string in the existing folder count control --- indra/newview/llfloateroutbox.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'indra/newview/llfloateroutbox.h') 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; }; -- cgit v1.2.3 From 744484699cec728f60463755d409fbde681429ea Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Mon, 19 Dec 2011 17:29:17 -0800 Subject: EXP-1749 FIX -- Merchant outbox import completion messages are to be modal dialogs * Merchant outbox completion messages now shown as modal dialogs rather than window shades. --- indra/newview/llfloateroutbox.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 5cb487be64..cc4a7207ca 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -64,7 +64,7 @@ public: EAcceptance* accept, std::string& tooltip_msg); - void showNotification(LLNotificationPtr notify); + void showNotification(const LLSD& notify); protected: void fetchOutboxContents(); -- cgit v1.2.3 From af32a74b77ffc2110de821e0159de8eb5aa0f454 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Thu, 5 Jan 2012 16:30:15 -0800 Subject: EXP-1757 FIX -- Merchant Outbox shows as empty when first opening/initializing even when populated * Updated merchant outbox floater to not wait for initialization to complete before displaying outbox inventory contents. --- indra/newview/llfloateroutbox.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index cc4a7207ca..6b4021807c 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -83,6 +83,7 @@ protected: void setStatusString(const std::string& statusString); void updateFolderCount(); + void updateFolderCountStatus(); void updateView(); private: -- cgit v1.2.3 From 00b767e5a91d9e3379119c867164f9be40f888cc Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 11 Jan 2012 10:05:15 -0800 Subject: EXP-1791 - Handle case where initialization with SLM fails in the Merchant Outbox floater in the viewer * Added code to clear and re-initialize the SLM cookie when authentication errors are encountered. * Re-organized logic for outbox import a bit to hopefully be more robust when errors are encountered. --- indra/newview/llfloateroutbox.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 6b4021807c..58b7d6ec98 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -71,6 +71,7 @@ protected: void importReportResults(U32 status, const LLSD& content); void importStatusChanged(bool inProgress); + void initializationReportError(U32 status, const LLSD& content); void onClose(bool app_quitting); void onOpen(const LLSD& key); -- cgit v1.2.3 From d6add298d7c793eda1fee2c03b2ccf91df7f6102 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Fri, 13 Jan 2012 16:06:58 -0800 Subject: EXP-1802 FIX -- Create labeled drop target region at bottom of merchant outbox floater for easy top level drop access * Added generic drop zone that highlights green when its functionality will be used. --- indra/newview/llfloateroutbox.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 58b7d6ec98..796c533059 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -66,6 +66,8 @@ public: void showNotification(const LLSD& notify); + void onMouseLeave(S32 x, S32 y, MASK mask); + protected: void fetchOutboxContents(); @@ -103,6 +105,7 @@ private: LLUUID mOutboxId; LLInventoryPanel * mOutboxInventoryPanel; U32 mOutboxItemCount; + LLPanel * mOutboxTopLevelDropZone; LLWindowShade * mWindowShade; }; -- cgit v1.2.3 From b18d54be9fb4998854e39df8fbaa271ceb2b8f89 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Wed, 18 Jan 2012 13:11:57 -0800 Subject: EXP-1816 FIX -- Drag area in outbox can remain highlighted after drag and drop ends * Added handleHover function to clear highlight --- indra/newview/llfloateroutbox.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloateroutbox.h') diff --git a/indra/newview/llfloateroutbox.h b/indra/newview/llfloateroutbox.h index 796c533059..18baccf1c9 100644 --- a/indra/newview/llfloateroutbox.h +++ b/indra/newview/llfloateroutbox.h @@ -66,6 +66,7 @@ public: void showNotification(const LLSD& notify); + BOOL handleHover(S32 x, S32 y, MASK mask); void onMouseLeave(S32 x, S32 y, MASK mask); protected: -- cgit v1.2.3