Commit Graph

250 Commits

Author SHA1 Message Date
george rolfe
d7d41b26cd [Content Browser] Style refresh preparation - local CB StyleSet and CVar toggle.
#rb aditya.ravichandran

[CL 34393816 by george rolfe in ue5-main branch]
2024-06-15 01:56:24 -04:00
mateo egey
b9bed62629 [Backout] - CL34315535
[FYI] Mateo.Egey
Original CL Desc
-----------------------------------------------------------------
Allowing asset pickers to create their own asset view options menu by name

#rb Julien.StJean

[CL 34324249 by mateo egey in ue5-main branch]
2024-06-12 17:34:53 -04:00
mateo egey
a273992c24 Allowing asset pickers to create their own asset view options menu by name
#rb Julien.StJean

[CL 34315562 by mateo egey in ue5-main branch]
2024-06-12 14:15:22 -04:00
andrea botti
9c1aa7d20b [ContentBrowser] When CTRL+C on an asset can we copy the Package Path instead of the Class Path
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]
2024-05-16 08:31:50 -04:00
robert millar
d47b81efa6 Restore skipping of early published items (e.g. new items) in UpdateItemFiltering
[CL 33459740 by robert millar in ue5-main branch]
2024-05-06 12:30:54 -04:00
charles lefebvre
17964ec141 SAssetView: Replace checks by ensure to fix asset creation
#rb aditya.ravichandran
[FYI] robert.millar
#rnx

[CL 33454821 by charles lefebvre in ue5-main branch]
2024-05-06 09:27:58 -04:00
marc audy
094435d976 Fix shadowing error
#rnx
#jira

[CL 33441383 by marc audy in ue5-main branch]
2024-05-03 19:28:12 -04:00
robert millar
0b9ef9ee96 Fix reusing old node for multiple new content browser items, possible racing on modifying the object fields.
[CL 33440822 by robert millar in ue5-main branch]
2024-05-03 18:51:11 -04:00
robert millar
70f86f2275 Add some checks against reusing an old asset item data multiple times
Change ItemsPendingPriorityFilter checks to use PublishProgress instead of FrontendFilterProgress.

[CL 33438269 by robert millar in ue5-main branch]
2024-05-03 17:25:34 -04:00
robert millar
30433fa927 Remove unnecessary assertion from priority filtering.
[CL 33431968 by robert millar in ue5-main branch]
2024-05-03 14:31:08 -04:00
robert millar
4a0d1e1991 Fix accessing removed items when rebuilding lookup.
[CL 33431326 by robert millar in ue5-main branch]
2024-05-03 14:17:20 -04:00
robert millar
40e0bc2163 Handle possible race condition between cancelling text filtering and spawning continuation.
[CL 33417207 by robert millar in ue5-main branch]
2024-05-02 19:52:19 -04:00
robert millar
a3be465520 Check removed flag in more Lookup searches.
[CL 33413923 by robert millar in ue5-main branch]
2024-05-02 18:26:51 -04:00
robert millar
fec5b746f0 Handle removed items properly in UpdateData
[CL 33406749 by robert millar in ue5-main branch]
2024-05-02 15:33:32 -04:00
robert millar
ccbf59717b Reimplement text filtering in the content browser to be performed asynchronously in parallel.
- FFrontendFilter_Text is deprecated in favor of FAssetTextFilter.
- FAssetTextFilter can be compiled and then the compiled filter cloned for use in parallel.
- Change FFrontendFilter_CustomText to work by merging its query with FAssetTextFilter instead.
- Deprecate UTextFilter*Handler classes and replace with an explicitly registered interface for thread safety.
Refactor item storage in SAssetView:
- FAssetViewItemCollection stores items and handles threading/updates
- Items are stored linearly in an array with an external lookup for simpler filter progress handling
- FHashTable used for lookup can be built & deduplicated in parallel
Other changes and optimizations
- Move AssetViewTypes.h header to private directory as it was had no DLL exported members anyway.
- When SAsset view receives a new backend filter, check if it's different before requesting a full refresh.

#rb aditya.ravichandran, Julien.StJean

[CL 33396639 by robert millar in ue5-main branch]
2024-05-02 10:54:03 -04:00
robert millar
496ccaa73a New "Show Other Developers" filter implemented as modification to backend query to avoid processing each item in time-sliced frontend filter.
Use path permission lists to hide developer folders other than the current user.

#rb Julien.StJean

[CL 33378078 by robert millar in ue5-main branch]
2024-05-01 14:18:12 -04:00
robert millar
6f0c83810a 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 33315899 by robert millar in ue5-main branch]
2024-04-29 17:32:33 -04:00
robert millar
2f8a6dae96 [Backout] - CL33234860
[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]
2024-04-25 17:58:23 -04:00
robert millar
0ca0ab5e5b Only register OnShouldFilterItem callback when necessary to avoid extra cost in filtering.
#rb aditya.ravichandran, Julien.StJean

[CL 33236257 by robert millar in ue5-main branch]
2024-04-25 13:05:04 -04:00
robert millar
b809fe8d49 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 33235863 by robert millar in ue5-main branch]
2024-04-25 12:53:25 -04:00
andrea botti
3487208558 [ContentBrowser] Impossible to save asset in Engine / Plugins / Developers folder in the asset picker dialog
#rb aditya.ravichandran
#jira UE-194988

[CL 32928091 by andrea botti in ue5-main branch]
2024-04-12 09:47:28 -04:00
mateo egey
ea73cc553a Added supports for profiles for the ContentBrowser.AssetViewOptions menu
The activated profile can be specified using the FAssetPickerConfig struct

#jira UE-207010
#rb aditya.ravichandran

[CL 32577714 by mateo egey in ue5-main branch]
2024-03-28 10:49:21 -04:00
robert millar
06db76b50a Make "Show Redirectors" and "Show Empty Folders" cooperate
- 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]
2024-03-14 16:17:37 -04:00
aditya ravichandran
e97a64fff9 SAssetView: Change Content Browser column resize mode to fill so there is no cap on resizing columns
#jira UE-206404
#rb brooke.hubert

[CL 31349473 by aditya ravichandran in ue5-main branch]
2024-02-09 13:59:52 -05:00
ionut matasaru
7f8829bd4c Fixed usage of TRACE_CPUPROFILER_EVENT_SCOPE macros in various engine files.
* TRACE_CPUPROFILER_EVENT_SCOPE(ScopeName) --> to be used with a plain text as scope name (not a string!). If the parameter is a string ("abc" or TEXT("abc")), the quotes (and the TEXT prefix) will be included in the actual timer name.
* TRACE_CPUPROFILER_EVENT_SCOPE_STR("scope name") --> to be used with a static string (const ANSICHAR* or const TCHAR*); ex: when the scope name needs to include a space char
* TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*MyScopeName) --> to be used with a dynamic string (const ANSICHAR* or const TCHAR*)
See also the comments for these macros in ProfilingDebugging\CpuProfilerTrace.h.

#rb Catalin.Dragoiu

[CL 28337510 by ionut matasaru in ue5-main branch]
2023-09-29 04:05:39 -04:00