summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorypanel.h
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-03-24 01:53:45 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-04-01 23:06:44 +0300
commit7ddbf118f5d1fde24c10b93432209fbe44d91345 (patch)
treeb3e618ec092310a9b51363606e1e5ec430cd5c42 /indra/newview/llinventorypanel.h
parentd83c6563aacb0cbc2a196d575f409cc89bd8db12 (diff)
SL-13182 Split buildNewViews over frames
Diffstat (limited to 'indra/newview/llinventorypanel.h')
-rw-r--r--indra/newview/llinventorypanel.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index ad6010f09c..06547ebf0e 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -171,6 +171,7 @@ public:
// LLUICtrl methods
/*virtual*/ void onFocusLost();
/*virtual*/ void onFocusReceived();
+ void onFolderOpening(const LLUUID &id);
// LLBadgeHolder methods
bool addBadge(LLBadge * badge);
@@ -317,12 +318,9 @@ private:
//--------------------------------------------------------------------
public:
void addHideFolderType(LLFolderType::EType folder_type);
-
-public:
- bool getViewsInitialized() const { return mViewsInitialized == VIEWS_INITIALIZED; }
protected:
// Builds the UI. Call this once the inventory is usable.
- void initializeViews();
+ void initializeViews(F64 max_time);
// Specific inventory colors
static bool sColorSetInitialized;
@@ -330,13 +328,19 @@ protected:
static LLUIColor sDefaultHighlightColor;
static LLUIColor sLibraryColor;
static LLUIColor sLinkColor;
-
+
+ // All buildNewViews() expect time limit mBuildViewsEndTime to be set
LLFolderViewItem* buildNewViews(const LLUUID& id);
LLFolderViewItem* buildNewViews(const LLUUID& id,
LLInventoryObject const* objectp);
LLFolderViewItem* buildNewViews(const LLUUID& id,
LLInventoryObject const* objectp,
LLFolderViewItem *target_view);
+
+ LLFolderViewItem* buildNewViewsWithTimeLimit(const LLUUID& id,
+ LLInventoryObject const* objectp,
+ LLFolderViewItem *folder_view_item,
+ F64 max_time);
// if certain types are not allowed, no reason to create views
virtual bool typedViewsFilter(const LLUUID& id, LLInventoryObject const* objectp) { return true; }
@@ -359,11 +363,14 @@ private:
{
VIEWS_UNINITIALIZED = 0,
VIEWS_INITIALIZING,
+ VIEWS_BUILDING, // Root folder exists
VIEWS_INITIALIZED,
} EViewsInitializationState;
bool mBuildViewsOnInit;
EViewsInitializationState mViewsInitialized; // Whether views have been generated
+ F64 mBuildViewsEndTime; // Stop building views past this timestamp
+ std::deque<LLUUID> mBuildViewsQueue;
};