summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryobserver.cpp
AgeCommit message (Collapse)Author
2014-08-22Add an HTTP policy class for inventory operations using four (4)Monty Brandenberg
connections. Convert background and foreground fetches, both items and folders/inventory and library, to use new HTTP. Non-fetch inventory operations continue to use LLHTTPClient (at least for now). Error handling and retry on fetches wasn't 100% previously and that's still the case. I'll rip through this again to clean that up. Cleaned up logging in much of the inventory code with consistent labels on logging events and correct macros (removed deprecation warnings). This started as an attempt to get libcurl to do pipelining on POSTs and PUTs. Discovered that this is going to be very difficult to support in general in libcurl. May look at that again in the future.
2014-05-14v-r -> s-e merge WIPBrad Payne (Vir Linden)
2014-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2014-04-22MergeXiaohong Bao
2014-04-22mergeBrad Payne (Vir Linden)
2013-12-19SH-4664 WIP - updated from from UpdateCreateInventoryItem to inventory ↵Brad Payne (Vir Linden)
observers.
2013-11-26ACME-3320 : Clearing deleted categories so not to pool on them foreverMerov Linden
2013-11-25SH-4549 FIX - code cleanupBrad Payne (Vir Linden)
2013-11-23SH-4611 FIX - use an observer to scroll after category rename completesBrad Payne (Vir Linden)
2013-11-15MAINT-3320 : Fixed! Inventory panels are not resistant to folder root ↵Merov Linden
deletion, using handle instead of pointer and cleaning things consistently
2013-11-11MAINT-3320 : WIP : Use handle for elements that'll get deleted under us, ↵Merov Linden
quite a bit of debug spam to clean later
2013-11-04SH-4595 WIP - use new LLInventoryObserver::CREATE flag to distinguish newly ↵Brad Payne (Vir Linden)
created items from existing ones being added to inventory.
2013-11-01SH-4595 WIP - removed UDP hooks from LLInventoryAddItemByAssetObserverBrad Payne (Vir Linden)
2013-11-01SH-4595 WIP - reworked descendents of LLInventoryAddedObserver to use ↵Brad Payne (Vir Linden)
gInventory.getAddedIDs(). LLInventoryAddedObserver isn't really needed anymore, but leaving it in as a debugging point at least for now.
2013-10-17SH-4160 WIP, build fixBrad Payne (Vir Linden)
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2011-10-11EXP-625 No longer stuck as a cloud on initial login by fixing logic around ↵Aaron Stone
fetching library items from the Inventory capabilities.
2011-06-30EXP-919 FIX -- Items not shown in Received Items panelLeslie Linden
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-04-12STORM-1042 FIXED Fixed the inventory observers of newly added items.Seth ProductEngine
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-01-07Switch inventory capabilities to FetchInventory2 and family.Aaron Stone
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-04EXT-8283 FIX, EXT-8360 FIX - original fixes got broken, presumably during ↵Brad Payne (Vir Linden)
some merge
2010-07-20EXT-8360 FIX - item name changes get propagated to the various appearance ↵Brad Payne (Vir Linden)
panel widgets
2010-06-21mergeBrad Payne (Vir Linden)
2010-06-21EXT-4919 WIP - log file spam reductionBrad Payne (Vir Linden)
2010-06-21EXT-4919 WIP - fixed problems with inventory fetch failing to time out, ↵Brad Payne (Vir Linden)
added copying/activation of more gesture folders
2010-06-21EXT-7921 FIXED Added a check whether message is what we expecting in ↵Mike Antipov
LLInventoryAddItemByAssetObserver::changed. Reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/618/ --HG-- branch : product-engine
2010-06-16EXT-7735 FIXED When receiving a folder, "Show" (or hotlink) doesn't do anythingLoren Shih
Fixed highlight and open item code to work for both categories and items (was previously only working for items).
2010-06-07EXT-7441 FIXED Improved condition to give up fetched inventory items in ↵Mike Antipov
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-03EXT-7503 WIP Made first inventory fetch for Add to Outfit panel on the first ↵Mike Antipov
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-05-17EXT-7199 FIXED (Enable dragging items from inventory view to current outfit ↵Andrew Polunin
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-04-30Task (EXT-6722) Create modified inventory view for "my outfits" tab in ↵Sergei Litovchuk
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-29(EXT-6722) Create modified inventory view for "my outfits" tab in top-level ↵Sergei Litovchuk
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-29Fixed normal bug EXT-5377 (Viewer crashes if \"My Appearance\" tab has been ↵Paul Guslisty
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-26(EXT-6722) Create modified inventory view for "my outfits" tab in top-level ↵Sergei Litovchuk
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-21mergeVadim Savchuk
--HG-- branch : product-engine
2010-04-21Implemented by SL EXT-6722(normal task) - Create modified inventory view for ↵Dmitry Zaporozhan
"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-20CID-460Tofu Linden
Checker: UNINIT_CTOR Function: LLInventoryFetchItemsObserver::LLInventoryFetchItemsObserver(const std::vector<LLUUID, std::allocator<LLUUID>> &) File: /indra/newview/llinventoryobserver.cpp
2010-04-13automated mergeLoren Shih
2010-04-08Fixed normal bug EXT-4347 (Moving object contents to inventory opens files, ↵Mike Antipov
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-07EXT-6749 : Have all observers persist/retry when items are missing after ↵Loren Shih
notifications Added mNumTries and took out mRetryIfMissing
2010-04-07EXT-6745 : Refactor LLFetchComboObserver to use LLFetchItems and ↵Loren Shih
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-07EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a ↵Loren Shih
base abstract LLInventoryFetchObserver class Minor cleanup of LLInventoryFetchComboObserver
2010-04-06EXT-6728 : Have LLInventoryFetchItems/DescendentsObserver inherit from a ↵Loren Shih
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-06EXT-6727 : Allow LLInventoryObservers to target a single item (instead of a ↵Loren Shih
vector of items) Added new constructors to LLInventoryFetch types to allow passing in a single item.
2010-04-06EXT-4151 : Immediately check if a fetchObserver filter is done, else add to ↵Loren Shih
observer list automatically FetchObservers now take in a list of IDs to check against. Made some naming changes.
2010-04-06EXT-4151 : Immediately check if a fetchObserver filter is done, else add to ↵Loren Shih
observer list automatically Preliminary work to clean up naming conventions.
2010-04-02EXT-5940 : INFRASTRUCTURE: Typedef all vector<LLUUID>'sLoren Shih
Fixed some more typedefs that I missed in first checkin.