summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorymodel.h
AgeCommit message (Collapse)Author
2013-03-13Large changes to the LLCurl::Responder API, as well as pulling in some ↵Don Kjer
changes to common libraries from the server codebase: * Additional error checking in http handlers. * Uniform log spam for http errors. * Switch to using constants for http heads and status codes. * Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error. * Reduced spam regarding LLSD parsing errors in the default completedRaw http handler. It should not longer be necessary to short-circuit completedRaw to avoid spam. * Ported over a few bug fixes from the server code. * Switch mode http status codes to use S32 instead of U32. * Ported LLSD::asStringRef from server code; avoids copying strings all over the place. * Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob. * Ported server pretty notation format (and pretty binary format) to llsd serialization. * The new LLCurl::Responder API no longer has two error handlers to choose from. Overriding the following methods have been deprecated: ** error - use httpFailure ** errorWithContent - use httpFailure ** result - use httpSuccess ** completed - use httpCompleted ** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers. * In order to 'catch' a completed http request, override one of these methods: ** httpSuccess - Called for any 2xx status code. ** httpFailure - Called for any non-2xx status code. ** httpComplete - Called for all status codes. Default implementation is to call either httpSuccess or httpFailure. * It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below). * Uniform error handling should followed whenever possible by calling a variant of this during httpFailure: ** llwarns << dumpResponse() << llendl; * Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context. * In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed. * Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class). * Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods: ** successResult - Sets results and calls httpSuccess ** failureResult - Sets results and calls httpFailure ** completedResult - Sets results and calls httpCompleted * To obtain information about a the response from a reponder method, use the following getters: ** getStatus - HTTP status code ** getReason - Reason string ** getContent - Content (Parsed body LLSD) ** getResponseHeaders - Response Headers (LLSD map) ** getHTTPMethod - HTTP method of the request ** getURL - URL of the request * It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO. * See indra/llmessage/llcurl.h for more information.
2013-03-11Viewer-chui mergeprep
2013-03-05Fixing issues with not detecting when LLSD XML parsing fails. Changing most ↵Don Kjer
http error handlers to understand LLSD error responses. Fleshing out most http error handler message spam.
2012-07-30CHUI-217 FIX Items are not visible in Merchant OutboxRichard Linden
cleaned up a lot custom code for folder view item creation in inbox and outbox proper initialization of views from inventory panel starting folder
2012-06-21CHUI-101 WIP Make LLFolderview general purposeRichard Linden
inventory item labels and icons displaying again
2012-03-27CHOP-854: Use new LLInventoryModel::removeObject() to discard offer.Nat Goodspeed
Introduce new LLInventoryModel::removeCategory() method comparable to removeItem(), but for folder objects (using changeCategoryParent() rather than changeItemParent()). Introduce removeObject() method that calls one of the above, depending on runtime object type.
2012-03-27CHOP-854: move change_(item|category)_parent() into LLInventoryModel.Nat Goodspeed
It's not really clear why they're in llinventoryfunctions.{h,cpp} instead of LLInventoryModel, and in fact LLInventoryModel::removeItem() already contains code essentially cloned from change_item_parent() -- or perhaps vice-versa. This changeset addresses only migrating the functions, and fixing up existing references, to simplify code review.
2012-01-12Merge with latest from viewer-experienceLeslie Linden
2012-01-10EXP-1525 FIXED Potential fix for a crash at shutdown: added some error ↵Vadim ProductEngine
handling to saving inventory cache.
2012-01-09Merge from viewer-developmentLeslie Linden
2012-01-06Add capability-based create folder routine for more reliable inventory, with ↵Aura Linden
fix for copy and wear
2011-12-15EXP-1730 FIXLeslie Linden
EXP-1731 FIX EXP-1735 FIX EXP-1736 FIX EXP-1737 FIX EXP-1738 FIX EXP-1739 FIX * Users can no longer drag and drop items to the outbox from in world, notecards or the library. * Drag and drop now blocks the creation of hierarchies that are too deep, too many folders or contain too many items. * Settings now exist to specify drag and drop limitations to the outbox, named: InventoryOutboxMaxFolderDepth (4) InventoryOutboxMaxFolderCount (20) InventoryOutboxMaxItemCount (200)
2011-11-11EXP-1498 : Hide empty system folders. System folders can be specifically ↵Merov Linden
marked to be hidden if empty in the LLViewerFolderDictionary constructor.
2011-10-21EXP-1439 : Modify DaD on the Favorite toolbar so that reordering visible ↵Merov Linden
landmarks don't send any back to the end of the list
2011-07-27CHOP-761 Items now disappear when the sim says so.Aaron Stone
2011-07-21Added handling for RemoveInventoryObjects message. Fixed handling of ↵Aura Linden
RemoveInventoryFolder
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.
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-07-20EXT-8360 FIX - item name changes get propagated to the various appearance ↵Brad Payne (Vir Linden)
panel widgets
2010-05-25EXT-6726 WIP Added handlers for most of Appearance SP context/gear menus.Vadim Savchuk
Reviewed by Mike Antipov and Nyx at https://codereview.productengine.com/secondlife/r/428/ --HG-- branch : product-engine
2010-05-14EXT-7353 FIXED short cuts (links) to textures should show up in the texture ↵Loren Shih
picker Links in general will now show up for all filtered inventory views of their associated types.
2010-05-12EXT-7324 : INFRASTRUCTURE: Inventorymodel code cleanupLoren Shih
Superficial header file cleanup Lots of moving functions around and recategorizing in LLInventoryModel.h Removed some obsolete functions, changed scoping of others Moved some static functions from LLInventoryModel into llinventoryfunctions.h
2010-03-30EXT-3415 : INFRASTRUCTURE : Move LLInventoryCollectFunctors to separate classLoren Shih
Moved all the LLInventoryModelCOllectFunctors from LLInventoryModel to LLInventoryFunctions
2010-03-30EXT-3414 : Move static backgroundfetch methods and variables to ↵Loren Shih
llinventorymodel subclass Created LLInventoryModelBackgroundFetch file for handling background fetch.
2010-01-15Work on normal bug EXT-4312 (Landmark occupy random location in the ↵Mike Antipov
'Favorites Bar' accordion if drag-and-drop it) -- refactoring: move functionality to rearange Favorite landmarks from Inventory Folder bridge to Inventory model -- improved logic to place dragged landmark before target one. --HG-- branch : product-engine
2010-01-15Fixed low bug EXT-4311 (Order of items in 'Favorites Bar' folder remains ↵Mike Antipov
non-changed if change its order in the 'Favorites Bar') -- reason: there was two places where identical resorting of Favorite landmarks functionality was implemented: InventoryBridge & Favorite bar. It was not impelnmented properly in favorites bar: LLInventoryObserver::SORT flag was not set after d-n-d. -- fix: moved identical functionality to update & save order of Favorite landmarks from these places to Inventory Panel --HG-- branch : product-engine
2009-12-21mergeBrad Payne (Vir Linden)
2009-12-21For EXT-3567: Folders should show as 'Loading...' when contents being fetchedBrad Payne (Vir Linden)
2009-12-21EXT-3582 : My Outfits populates from library if I delete my last outfitLoren Shih
Tracking a "Is this my first time in viewer2.0?" flag and only populating My Outfits folder if it's true.
2009-12-11EXT-3277 "<X> Items Fetched" info on InventoryFloater lost.Loren Shih
Background fetches track whether they're being done on MyInventory, Library, or both. Also did some cosmetic header file cleanup.
2009-12-03EXT-2410 : Accepting an offered item should open the inventorySPLoren Shih
Added a new "Quiet" query for folder types, so I don't have to special case all the folders where we don't want UI notifications from inventory offers. Fixed a bug where a sidepanel was considered active even if the sidetray was closed. --HG-- branch : avatar-pipeline
2009-12-02EXT-3060 : Turn links into broken links immediately when baseobj is purgedLoren Shih
EXT-3067 : INFRASTRUCTURE : LLInventoryPanel::modelChanged cleanup Added REBUILD mask to inventory observer. Added new logic for rebuilding linked items when an item is purged. Took out atrocious expensive refresh that was being triggered on most LLInventoryPanel::modelChanged. --HG-- branch : avatar-pipeline
2009-12-02EXT-3060 : Turn links into broken links immediately when baseobj is purgedLoren Shih
EXT-3067 : INFRASTRUCTURE : LLInventoryPanel::modelChanged cleanup This first set of checkins is just llinventorypanel infrastructure cleanup, including comments and improved use of iterators. --HG-- branch : avatar-pipeline
2009-11-19EXT-2675 : Folder that contains baseitems for COF doesn't load on first clickLoren Shih
EXT-2456 : Usability: Inventory > Clothing > context menu not intuitive RightClickFetchInventoryObserver now works correctly to update menu FetchInventoryDescendents now triggers notifyObservers properly Fixed up gInventory.notifyObservers logic --HG-- branch : avatar-pipeline
2009-11-18EXT-2581 : Old items still display as "(worn)" even after I change outfitsLoren Shih
Added gInventory.notifyObservers to idle callbacks so it gets triggered without explicit notifyObservers synchronization. Added more state tracking for attachments, wearables, and links of those types, so that they're marked as changed properly.
2009-11-13merging avatar-pipeline branch into viewer-2-0Eric M. Tulla (BigPapi)
2009-11-13Header file cleanupLoren Shih
Removed unnecessary "#include llinventorymodel.h" now that llinventoryobserver was split from llinventorymodel. --HG-- branch : avatar-pipeline
2009-11-12Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Eric M. Tulla (BigPapi)
2009-11-12Rename LLInventoryObservers to LLInventoryObserverLoren Shih
2009-11-12Extracted LLInventoryObserver classes from LLInventoryModel.h into their own ↵Loren Shih
subclass, LLInventoryObservers.h. This reduces dependencies and compile times, and makes these classes easier to locate. I have not yet refactored classes to remove #include "llinventorymodel.h" and replace with #include "llinventoryobservers.h". This will happen later.
2009-11-12Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/Eric M. Tulla (BigPapi)
2009-11-11Fix for EXT-2244 - Auto fill the My Outfits folder from library/clothing if ↵Eric M. Tulla (BigPapi)
empty -Reviewed by Seraph
2009-11-11mergeLoren Shih
2009-11-10EXT-2349 : Diagnose warning spam: [X] is in model and in view, but STRUCTURE ↵Loren Shih
flag not set No longer allowing recursive calls to gInventory.notifyObservers. Added debugging tools to catch when this happens. This fixes the symptom, but we'll also need to remove whatever code is causing the recursive calls.
2009-11-09For EXT-2325: Should purge inventory cache moving from 1.23 to 2.0.Brad Payne (Vir Linden)
Added a version field at the beginning of inventory cache files. If version field is not found or does not match expectected value, then the cache is discarded. In 1.23, the version line triggers a warning but is otherwise ignored. Reviewed by Seraph.
2009-11-04Redo Bao's broken mergeBryan O'Sullivan
2009-10-26Fixed a crash on exit in gInventory destructor.Steve Bennetts
2009-10-23mergeSteve Bennetts
2009-10-23svn merge -r137024:137071 ↵Loren Shih
svn+ssh://svn.lindenlab.com/svn/linden/branches/avatar-pipeline/avatar-pipeline-14-seraph into svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-3 Bugs: EXT-1785 EXT-1818 EXT-1820 EXT-1845
2009-09-30QAR-1619: merge up to 2009-09-26 viewer/viewer-20Nat Goodspeed