diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-03 00:15:44 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-04-03 00:15:44 +0300 |
commit | 2be5baf70dcf4e55fcac3935e304828ced202123 (patch) | |
tree | a5e621e99d764af9528c1fbfbbfa6b584bb4498b /indra/newview/llfolderviewmodelinventory.h | |
parent | 820ac72f8c4a07bc4310b9daac6966f2f2f2ee98 (diff) |
SL-13182 Fix excessive resorting #2
Don't resort whole branch of inventory if created(loaded) item is not newer. Should also stabilize fetch phase a bit.
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.h')
-rw-r--r-- | indra/newview/llfolderviewmodelinventory.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.h b/indra/newview/llfolderviewmodelinventory.h index 8ee3f75002..4cb62583cc 100644 --- a/indra/newview/llfolderviewmodelinventory.h +++ b/indra/newview/llfolderviewmodelinventory.h @@ -46,6 +46,7 @@ public: virtual void showProperties(void) = 0; virtual BOOL isItemInTrash( void) const { return FALSE; } // TODO: make into pure virtual. virtual BOOL isUpToDate() const = 0; + virtual void addChild(LLFolderViewModelItem* child); virtual bool hasChildren() const = 0; virtual LLInventoryType::EType getInventoryType() const = 0; virtual void performAction(LLInventoryModel* model, std::string action) = 0; @@ -62,6 +63,7 @@ public: virtual LLToolDragAndDrop::ESource getDragSource() const = 0; protected: bool mPrevPassedAllFilters; + time_t mLastAddedChildCreationDate; // -1 if nothing was added }; class LLInventorySort @@ -83,6 +85,7 @@ public: bool isByDate() const { return mByDate; } bool isFoldersByName() const { return (!mByDate || mFoldersByName) && !mFoldersByWeight; } + bool isFoldersByDate() const { return mByDate && !mFoldersByName && !mFoldersByWeight; } U32 getSortOrder() const { return mSortOrder; } void toParams(Params& p) { p.order(mSortOrder);} void fromParams(Params& p) |