summaryrefslogtreecommitdiff
path: root/indra/newview/llinventoryobserver.cpp
AgeCommit message (Collapse)Author
2013-11-26ACME-3320 : Clearing deleted categories so not to pool on them foreverMerov 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-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.
2010-03-29EXT-5940 : Typedef all vector<LLUUID>'sLoren Shih
Superficial cleanup to change all typedef std::vector<LLUUID> to use a common typedef uuid_vec_t instead.
2010-03-18Done normal task EXT-6290 ([TRUNCATION] Block List - type shown after name ↵Mike Antipov
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-01-14EXT-4319 : Category descendent count fails to increment if descendent ↵Loren Shih
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).
2009-12-01automated merge for viewer-2.0 -> avp.Loren Shih
--HG-- branch : avatar-pipeline
2009-11-30EXT-2867 : Crash after toggling gestures on and offLoren Shih
Observer wasn't being removed when class was deleted. --HG-- branch : avatar-pipeline
2009-11-25merge in changes from viewer-2-0, manually fixed conflict in ↵James Cook
llviewermessages.cpp
2009-11-25Created lightweight LLNotificationsUtil::add(), switched most alerts to use itJames Cook
Cuts number of includes of llnotifications.h from 300+ to 40.
2009-11-19For EXT-2623 - object missing wearables and attachments on initial loginBrad Payne (Vir Linden)
--HG-- branch : avatar-pipeline
2009-11-19For EXT-2623 - object missing wearables and attachments on initial loginBrad Payne (Vir Linden)
--HG-- branch : avatar-pipeline
2009-11-12Rename LLInventoryObservers to LLInventoryObserverLoren Shih