- Added type to be optional as lots of asset picker only shows one type
- Added new option to sort by path first
- Made persona asset browser to show path, and sort by path
- Made skeleton widget to hide type but path.
Merging
//depot/UE4-Orion/Engine/Source/Editor/...
to //depot/UE4/Engine/Source/Editor/...
[CL 2664881 by Lina Halper in Main branch]
UE-19914 - Different Drag and Drop Behavior between Tile, List, and Column Views in the Content Browser
The list view was missing its callbacks for the drag and drop operations, and the column view wasn't forwarding on the events from the column row on to the internal asset view item.
[CL 2652916 by Jamie Dale in Main branch]
FPackageName::IsValidLongPackageName would fail for the root paths as the mount path roots all end with a trailing slash, however FPackageName::IsValidLongPackageName doesn't accept paths that end in a trailing slash (as it's expected to be working with names, not paths).
This change updates FAssetDataGatherer::PrioritizeSearchPath to use FPackageName::TryConvertLongPackageNameToFilename instead (which will gracefully fail on an invalid path), and SPathView makes sure that it appends a trailing slash to the path it gives to FAssetDataGatherer::PrioritizeSearchPath.
[CL 2642169 by Jamie Dale in Main branch]
UE-19478 - Crash when right-clicking in the collections area of the source panel with private collections present
[CL 2641829 by Jamie Dale in Main branch]
Ctrl+B in the Content Browser will now invoke the "Show in Folder View" command to allow you to easily sync to the actual location of an asset in the cases where you're viewing it via a search or a collection.
Ctrl+B in the Persona animation sequence browser will now invoke the "Find in Content Browser" command.
Ctrl+B will no longer do anything when Persona has no asset available for a given edit mode.
[CL 2619988 by Jamie Dale in Main branch]
UE-18403 - Crash occurs exiting the editor with Collections visible
The SCC provider would be nulled out when the SCC module is unloaded, which was triggering a notification to update the collection item states, however the collection manager module had also been unloaded by the time that was being processed, leading to an assert.
This change makes sure that the collection manager module is still available before attempting to use it to update the collection item states.
[CL 2616559 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-401 - Add support for dynamic collections
You can now reference both static and dynamic collections in the Content Browser text filter, including recursive references (the evaluator guards against cyclic collection references).
The text filter now recursively gathers up any dynamic collection references when the filter text is changed. These are then tested depth first as sub-expressions against each object, to see whether the object is "contained" within the given dynamic collection.
[CL 2615416 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-401 - Add support for dynamic collections
These collections can be created from a text search in the Content Browser, and allow you to store a search query so it can be reused or shared.
They have some limitations compared to static collections:
- As they never know what objects they actually contain, they can't be displayed in the "Collections" list in asset tooltips.
- They cannot contain child collections.
[CL 2615029 by Jamie Dale in Main branch]
UE-17782 - Editor must be restarted for New Collections to appear after syncing
These use FFileCache to avoid detecting changes that are made by the collection manager itself.
This also fixes some issues when merging collection sets together, and fixes some places where UI wouldn't update when a collection was changed due to an update or merge.
[CL 2612319 by Jamie Dale in Main branch]
This now queues the list view update until the next Tick to avoid potentially updating the list multiple times per-frame as collection manager updates come in.
[CL 2610951 by Jamie Dale in Main branch]
Fixes for lots of existing modules by removing all dynamically loaded duplicates (this is probably not the correct solution, but is the safest).
#codereview robert.manuszewski
[CL 2610845 by Steve Robb in Main branch]
This shows a little colored pip to the right of the collection items, where each color means:
Grey - Up-to-date and empty
Green - Up-to-date and not empty
Blue - Has local changes
Orange - Not at the latest revision
Red - Checked out by another user, in a conflicted state, or missing its source control provider
This also adds an "Update" and "Save" option to the collections context menu. Typically these won't be needed as collections mostly manage themselves, but since we now show when a collection is out-of-date or dirty, it makes sense to allow the user to take action to correct these states without having to leave the editor.
[CL 2610477 by Jamie Dale in Main branch]