Commit Graph

42 Commits (1503338ddcd170871815d70d328cbbd1dfd40c82)

Author SHA1 Message Date
Aaron Stone 0d66c68704 EXP-625 No longer stuck as a cloud on initial login by fixing logic around fetching library items from the Inventory capabilities. 2011-10-11 15:46:40 -07:00
Leslie Linden 6c12a5ca55 EXP-919 FIX -- Items not shown in Received Items panel
EXP-929 FIX -- First Direct Delivery item purchased while logged in: Received Items folder visible in inventory and item not visible in Received items panel - no badge count update

* Inbox and Outbox inventory panels now live in their own XML files and are hot loaded into place when appropriate, like when the "Received Items" folder is first created, for example.
* The Inbox and Outbox panels now show relevant default messages when the folders are empty or do not exist
* Added LLInventoryCategoryAddedObserver, a new inventory observer type to observe added folders
* Hacked LLInventoryPanel to properly set up inbox and outbox inventory views for the "Received Items" folder and the "Merchant Outbox" folder that aren't created with the proper system folder type
* Changed inventory badge count computation to use LLFolderView rather than the inventory directly
* Applied various focus, selection and other inbox fixes to the outbox

Reviewed by Richard.
2011-06-30 16:25:19 -07:00
Seth ProductEngine 67f33bff1b STORM-1042 FIXED Fixed the inventory observers of newly added items.
The problem was caused by an outdated message name stored in LLInventoryObserver::mMessageName and not updated properly in LLInventoryModel::notifyObservers().
The message name used in LLInventoryAddedObserver::changed() was the name of the message most recently passed by LLInventoryModel::notifyObservers(), instead of the name of the latest actually received message. Using the most recent message name in this case fixed the problem.
2011-04-12 03:00:05 +03:00
Aaron Stone 40cd537054 Switch inventory capabilities to FetchInventory2 and family. 2011-01-07 18:30:03 +00:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Brad Payne (Vir Linden) e6d5cc3bd1 EXT-8283 FIX, EXT-8360 FIX - original fixes got broken, presumably during some merge 2010-08-04 17:21:33 -04:00
Brad Payne (Vir Linden) ca1224fd79 EXT-8360 FIX - item name changes get propagated to the various appearance panel widgets 2010-07-20 10:44:27 -04:00
Brad Payne (Vir Linden) 4eab82d5e2 merge 2010-06-21 15:54:02 -04:00
Brad Payne (Vir Linden) c838c6b645 EXT-4919 WIP - log file spam reduction 2010-06-21 15:27:11 -04:00
Brad Payne (Vir Linden) 8aef04f33c EXT-4919 WIP - fixed problems with inventory fetch failing to time out, added copying/activation of more gesture folders 2010-06-21 11:56:59 -04:00
Mike Antipov ca81608899 EXT-7921 FIXED Added a check whether message is what we expecting in LLInventoryAddItemByAssetObserver::changed.
Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/618/

--HG--
branch : product-engine
2010-06-21 11:08:31 +03:00
Loren Shih 823ae2ea98 EXT-7735 FIXED When receiving a folder, "Show" (or hotlink) doesn't do anything
Fixed highlight and open item code to work for both categories and items (was previously only working for items).
2010-06-16 13:35:57 -04:00
Mike Antipov 356e1d55cc EXT-7441 FIXED Improved condition to give up fetched inventory items in LLInventoryFetchItemsObserver
Reason: LLInventoryFetchItemsObserver is used to fetch necessary gesture items. Its logic was based on count of "inventory changed" events. In case of there was too many requests stored item UUIDSs are be removed from queue by mistake - notification can be triggered because some other item is renamed.

This issue can appear wherever LLInventoryFetchItemsObserver is used.

Fix: improved logic to make decision to give up fetching items.
 For now it bases on period while waiting items to arrive from server and a number of attempts to repeate waiting.
 This is a constants of the LLInventoryFetchItemsObserver (10 times by 10 seconds)

Tested with test case in JIRA (total count of inventory items - 13,888).

Most likely that was a reason of inventory loss (EXT-7503).

Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/507/

--HG--
branch : product-engine
2010-06-07 12:15:23 +03:00
Mike Antipov 5459e26392 EXT-7503 WIP Made first inventory fetch for Add to Outfit panel on the first openning, updated reliability of LLInventoryFetchItemsObserver
* Moved initialization (with start fetch) of the LLFilteredWearableListManager into LLPanelOutfitEdit::onOpen
* LLFilteredWearableListManager::changed now ignores non-related inventory changes (CALLING_CARD, GESTURE, SORT)

Tried to fix an issue with empty Gesture list on startup with clean inventory cache.
Reason: logic is based on count of "inventory changed" events. In case of there was too many requests requested items can be removed from queue by mistake.
* Increased a number of the "change()" method calls to wait fetched items.
  Unfortunately this only works if My Inventory category does not have too many children. An does not work if it has 2000+ items
  Logic to remove item from the incompleted list should be based on timer and number of attempts.

Also add some debug information about fetching inventory category and its content to log.

Reviewed by Brad Payne at https://codereview.productengine.com/secondlife/r/456/

--HG--
branch : product-engine
2010-06-03 12:47:18 +03:00
Andrew Polunin bf197d4f41 EXT-7199 FIXED (Enable dragging items from inventory view to current outfit in Outfit Editor)
- HandleDragAndDrop() method was overridden in the LLPanelOutfitEdit class to handle drag and drop operations of the Clothing, Body Parts and Attachments.
- In panel_outfit_edit.xml parameter allow_multi_select was set to true to allow multiple selections.
- Added class LLCOFDragAndDropObserver to implement the drag and drop.
- Class LLInventoryMoveFromWorldObserver renamed to LLInventoryAddItemByAssetObserver.

Drag and drop reimplemented using functionality of the LLInventoryAddItemByAssetObserver.

Reviewed by Neal Orman and Mike Antipov at https://codereview.productengine.com/secondlife/r/373/

--HG--
branch : product-engine
2010-05-17 16:52:44 +03:00
Sergei Litovchuk f247dc68df Task (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar
- Fixed adding category check in LLInventoryCategoriesObserver.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/332/

--HG--
branch : product-engine
2010-04-30 19:48:15 +03:00
Sergei Litovchuk 20d95dd523 (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 2)
llui:
- Added accordion tab title setter.
- Added setters for accordion tab focus changes callbacks.

newview:
- Fixed observer used for outfit items collecting. Added checking number of fetched items.
- Added outfit selection and enabled "replace outfit" and "add to outfit" commands for selected outfit.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/332/

--HG--
branch : product-engine
2010-04-29 20:11:58 +03:00
Paul Guslisty 6838fd3698 Fixed normal bug EXT-5377 (Viewer crashes if \"My Appearance\" tab has been pressed in offline mode)
- Added checking for a null pointer

Reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/329/

--HG--
branch : product-engine
2010-04-29 15:02:05 +03:00
Sergei Litovchuk fbfc851766 (EXT-6722) Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 1)
llui:
- Setting container panel for accordion tab control to dynamically add tabs to accordions.
- Added method to dynamically remove accordion tabs.
- Added LLIconCtrl image setter.

newview:
- Class LLOutfitsList - a list of agents's outfits from "My Outfits" inventory category which represents each outfit by an accordion tab with a list of items inside it.
- Class LLWearableItemsList - a list of wearable items used in each accordion tab of "My Outfits" tab.
- Class LLInventoryItemsList - a base class for LLWearableItemsList that represents inventory items by panels in LLFlatListView.
- Class LLPanelInventoryItem - inventory item representation for a flat list. Item icon is set according to item type.
- Class LLInventoryCategoriesObserver - an observer used in LLOutfitsList for monitoring changes to "My Outfits" inventory category and updating outfits accordion tabs and list of items for each outfit.

Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/285/

--HG--
branch : product-engine
2010-04-26 18:56:28 +03:00
Vadim Savchuk 85e47b0cf0 merge
--HG--
branch : product-engine
2010-04-21 16:58:28 +03:00
Dmitry Zaporozhan 2ce7556e53 Implemented by SL EXT-6722(normal task) - Create modified inventory view for "my outfits" tab in top-level appearance sidebar (tier 1)
llui:
- Setting container panel for accordion tab control to dynamically add tabs to accordions.
- Added method to dynamically remove accordion tabs.
- Added LLIconCtrl image setter.

newview:
- Class LLOutfitsList - a list of agents's outfits from "My Outfits" inventory category which represents each outfit by an accordion tab with a list of items inside it.
- Class LLWearableItemsList - a list of wearable items used in each accordion tab of "My Outfits" tab.
- Class LLInventoryItemsList - a base class for LLWearableItemsList that represents inventory items by panels in LLFlatListView.
- Class LLPanelInventoryItem - inventory item representation for a flat list. Item icon is set according to item type.
- Class LLInventoryCategoriesObserver - an observer used in LLOutfitsList for monitoring changes to "My Outfits" inventory category and updating outfits accordion tabs and list of items for each outfit.

Known issues:
- Only first outfit tab is displayed in "My Outfits" until this tab is expanded.
- Bottom bar buttons and filter field not functioning for "My Outfits" tab since LLOutfitsList still doesn't support selection, filtering and sorting.
- "My Outfits" and "Wearing" tabs of "Appearance" side panel might need a common interface to use LLOutfitsList and LLinventoryPanel as tabs in LLPanelOutfitsInventory or "Wearing" tab should be replaces with LLOutfitsList class object i.e. a flat list.

On review - https://codereview.productengine.com/secondlife/r/285/

--HG--
branch : product-engine
2010-04-21 15:44:24 +03:00
Tofu Linden 58022255b4 CID-460
Checker: UNINIT_CTOR
Function: LLInventoryFetchItemsObserver::LLInventoryFetchItemsObserver(const std::vector<LLUUID, std::allocator<LLUUID>> &)
File: /indra/newview/llinventoryobserver.cpp
2010-04-20 18:25:14 +01:00
Loren Shih 85f54aca0f automated merge 2010-04-13 16:39:12 -04:00
Mike Antipov 00462c2431 Fixed normal bug EXT-4347 (Moving object contents to inventory opens files, changes menu)
Implementation details:
 * Added new LLViewerInventoryMoveFromWorldObserver to watch moved items via their Asses UUIDs. It is instantiated only once due to drop events are sent separately for each item while multi-dragging.
 * Existent LLOpenTaskOffer observer uses it to exclude watched by LLViewerInventoryMoveFromWorldObserver items from own processing.
 * Removed dependancy on LLPanelPlaces in open_inventory_offer(). Openning of offered LM via group notice moved into an appropriate section (processed by LLOpenTaskGroupOffer)

Known Issues:
 * If Script item is among the dragged items from object to inventory it will be the only selected item in the inventory panel.
    Reason: it does not have its own Asset UUID and processed via LLOpenTaskOffer when should not.

Reviewed by Leyla and Richard at https://codereview.productengine.com/secondlife/r/116/

--HG--
branch : product-engine
2010-04-08 12:07:58 +03:00
Loren Shih 516ec63f52 EXT-6749 : Have all observers persist/retry when items are missing after notifications
Added mNumTries and took out mRetryIfMissing
2010-04-07 14:40:36 -04:00
Loren Shih 5d3de2ea03 EXT-6745 : Refactor LLFetchComboObserver to use LLFetchItems and LLFetchDescedents instead of code duplication
Took out a bunch of code duplication from the FetchComboObserver and am using the LLFetchItems/DescendentsObservers instead.  Also added some comments and made some minor superficial cleanup to LLInventoryObserver done().
2010-04-07 13:30:21 -04:00
Loren Shih e9f0676441 EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a base abstract LLInventoryFetchObserver class
Minor cleanup of LLInventoryFetchComboObserver
2010-04-07 11:15:27 -04:00
Loren Shih f096f02278 EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a base abstract LLInventoryFetchObserver class
Added a new abstract class LLInventoryFetchObserver from which LLInventoryFetchItems and LLInventoryFetchDescendents inherit.
Also changed isEverythingComplete to isFinished and made some other minor superficial changes.
2010-04-06 18:58:26 -04:00
Loren Shih c3d9316dff EXT-6727 : Allow LLInventoryObservers to target a single item (instead of a vector of items)
Added new constructors to LLInventoryFetch types to allow passing in a single item.
2010-04-06 17:30:23 -04:00
Loren Shih cdbdb11686 EXT-4151 : Immediately check if a fetchObserver filter is done, else add to observer list automatically
FetchObservers now take in a list of IDs to check against.
Made some naming changes.
2010-04-06 14:47:20 -04:00
Loren Shih 785d4c34b6 EXT-4151 : Immediately check if a fetchObserver filter is done, else add to observer list automatically
Preliminary work to clean up naming conventions.
2010-04-06 10:19:15 -04:00
Loren Shih 568d6ed229 EXT-5940 : INFRASTRUCTURE: Typedef all vector<LLUUID>'s
Fixed some more typedefs that I missed in first checkin.
2010-04-02 15:19:44 -04:00
Loren Shih 114e5ca083 EXT-5940 : Typedef all vector<LLUUID>'s
Superficial cleanup to change all typedef std::vector<LLUUID> to use a common typedef uuid_vec_t instead.
2010-03-29 16:33:35 -04:00
Mike Antipov 1550729348 Done normal task EXT-6290 ([TRUNCATION] Block List - type shown after name is truncated when the name is long. need 'en' xui rework)
* Changed the way blocked items are shown in the list. For now they are separated on two columns: Name & Type.
   If Name is too long it is shown truncated (with ...)

* As result remove deprecated methods from LLMute to concatenate its name & type and to extract name & type from the such concatenated string.
* reduce include dependence from llmutelist.h

--HG--
branch : product-engine
2010-03-18 18:13:39 +02:00
Loren Shih b134bf554d EXT-4319 : Category descendent count fails to increment if descendent received while cat still fetching
EXT-4320 : Mismatch in folder descendents count is causing fetch descendents to never complete
EXT-2244 : My Outfits bars should be populated from Library on first 2.0 login

Implemented a workaround for an issue where descendent count was becoming unsynchronized.  EXT-4320 is the workaround, this solves for EXT-2244, and EXT-4319 is the actual bug (whose fix is still pending).
2010-01-14 13:54:15 -05:00
Loren Shih 27351b8bf5 automated merge for viewer-2.0 -> avp.
--HG--
branch : avatar-pipeline
2009-12-01 12:52:21 -05:00
Loren Shih 7e2b88a32b EXT-2867 : Crash after toggling gestures on and off
Observer wasn't being removed when class was deleted.

--HG--
branch : avatar-pipeline
2009-11-30 12:07:52 -05:00
James Cook 957055396d merge in changes from viewer-2-0, manually fixed conflict in llviewermessages.cpp 2009-11-25 12:31:24 -08:00
James Cook cbc0783cd1 Created lightweight LLNotificationsUtil::add(), switched most alerts to use it
Cuts number of includes of llnotifications.h from 300+ to 40.
2009-11-25 01:15:50 -08:00
Brad Payne (Vir Linden) 62ce5fa462 For EXT-2623 - object missing wearables and attachments on initial login
--HG--
branch : avatar-pipeline
2009-11-19 16:00:40 -05:00
Brad Payne (Vir Linden) 0c95f8bf30 For EXT-2623 - object missing wearables and attachments on initial login
--HG--
branch : avatar-pipeline
2009-11-19 12:03:11 -05:00
Loren Shih d53a354a9c Rename LLInventoryObservers to LLInventoryObserver 2009-11-12 13:56:36 -05:00