Added 2 new commmands to copy the ObjectPath and the PackageName.
Leaved the CTRL+C keybind mapped to the same behavior as before.
Added new commands to the keybind system so that users can re-bind them.
Cleaned up some hardcoded checks for keys in the OnKeyDown.
#rb aditya.ravichandran, sebastian.arleryd
#jira UE-155995
[CL 33684273 by andrea botti in ue5-main branch]
ContentBrowserAssetDataSource:
- Convert asset data to content browser item data in parallel for large batches of items.
- Query on-disk and in-memory assets in parallel.
Remove mutable fields from FContentBrowserItemData for thread safety.
Add FContentBrowserMinimalItemData as a comparison type for identifying FContentBrowserItemData, e.g. when removing from FContentBrowserItem.
#rb Julien.StJean
[CL 33315899 by robert millar in ue5-main branch]
[FYI] robert.millar
Original CL Desc
-----------------------------------------------------------------
Allow content browser data subsystem to return data as callback or array, allowing pre-sizing of output array for large queries.
ContentBrowserAssetDataSource:
- Convert asset data to content browser item data in parallel for large batches of items.
- Query on-disk and in-memory assets in parallel.
Remove mutable fields from FContentBrowserItemData for thread safety.
Add FContentBrowserMinimalItemData as a comparison type for identifying FContentBrowserItemData, e.g. when removing from FContentBrowserItem.
#rb Julien.StJean
[CL 33248759 by robert millar in ue5-main branch]
ContentBrowserAssetDataSource:
- Convert asset data to content browser item data in parallel for large batches of items.
- Query on-disk and in-memory assets in parallel.
Remove mutable fields from FContentBrowserItemData for thread safety.
Add FContentBrowserMinimalItemData as a comparison type for identifying FContentBrowserItemData, e.g. when removing from FContentBrowserItem.
#rb Julien.StJean
[CL 33235863 by robert millar in ue5-main branch]
Deprecate the rest of the public api to request a full data refresh from the ContentBrowserDataSubsystem.
#jira UE-205033
#rb JeanLuc.Corenthin
[CL 32705343 by julien stjean in ue5-main branch]
The skipped event are now instead delayed to be proccessed at the end of the pie session.
#jira UE-209307
#rb JeanLuc.Corenthin
[CL 32469680 by julien stjean in ue5-main branch]
- Move redirector filtering into backend
- Add a custom filter into SFilterBar to maintain old UI for redirector visibilty
[CL 32257795 by robert millar in ue5-main branch]
Reworked the ClassDataSource so that it doesn't require a full data refresh when a module is Loaded, Unloaded or Reloaded.
Deprecated the capacity for a ContentBrowser Data Source to request a full data refresh since this doesn't well scale on large projects.
Added a way to query a IReload for the classes that were reinstancited.
Fixed a bug in the FNativeClassHierarchy::GatherMatchingNodesForPaths function. It failed a getting a existing class node if a folder in its path had the same name has the class.
#jira UE-208789
#rb kevin.macaulayvacher
[CL 32212553 by julien stjean in ue5-main branch]
- ContentBrowserUtils::ShouldShowCustomVirtualFolderIcon and cvar ContentBrowser.ShowCustomVirtualFolderIcon so it can be disabled in UEFN
- Attribute ContentBrowserItemAttributes::ItemIsCustomVirtualFolder for categorization
- Built-in folders like All, Game, Engine, Plugins are not marked with the above attribute
- Set ContentBrowser.ShowCustomVirtualFolderIcon to 0 when entering UEFN restricted mode
#rb Rex.Hill
[CL 31729647 by robert millar in ue5-main branch]
Assign flag to content browser folders and assets in plugins.
Fix incorrect early return in UContentBrowserAssetDataSource::OnPathsAdded
#rb Rex.Hill, Jamie.Dale
[CL 30621336 by robert millar in ue5-main branch]
It's possible for aliases to generate nested virtual roots, eg)
/All/MyStuff -> /MyStuff
/All/MyStuff/SomePlugin -> /SomePlugin
In that situation the virtual path resolver would fail to process a path like "/All/MyStuff/RefContent" since "/All/MyStuff" had a child folder so was assumed never to be a virtual root in its own right.
This change updates the resolver to keep track of the best potential virtual root as the path is parsed (even if it has children), and will then use the best match when converting to an internal path.
#jira
#rb Rex.Hill, Dave.Belanger
[CL 25849603 by jamie dale in ue5-main branch]
Added a system to cache some data that can be used when recompiling the filters for the incremental data updates.
For now this only used by for the asset data source internal path compilation of the asset views.
In my test on a bad scenario this yielded a reduction 98% of the time it take to call UContentBrowserAssetDataSource::CreateAssetFilter when the cache is used.
Before the optimization the reference call took 26.3 ms
After the optimization the reference call took 0.3725 ms
Also this change fix an issue with my last change interacting badly with the alias data source by not using its customization of the package paths hierarchy.
#preflight 645a92f42d27fa25b3069003
#jira UE-183276
#rb Rex.Hill
[CL 25396753 by julien stjean in ue5-main branch]
For a large project with a lot paths with a recursive search on all the folder the change reduced time it took to create the filter by ~86%.
Before the change a function call took 191.3 ms
After the change the same function call took 25.8 ms
#jira UE-183275
#preflight 64499a7709453df548d462f5
#rb Rex.Hill, Robert.Millar
[CL 25283516 by julien stjean in ue5-main branch]