UE-17880 - Show Collections shows up twice when box is checked and multiple content browsers
This used to be added via an extender, however the extender was bound once each time a Content Browser was opened, meaning it was possible to have the entry added multiple times if multiple Content Browsers were open.
This menu item is now handled by the SAssetView (the same as the other view options), and is also now disabled on dialogs where it doesn't make sense to change the "Show Collections" settings (eg, when using the load or save picker dialogs, as they don't contain a collections view).
[CL 2605762 by Jamie Dale in Main branch]
UE-17564 - Collections are not removed from Asset tooltip when it's removed from collection
This allows the list of collections that an object is in to be updated, as this isn't stored as part of the asset data.
The main set of tags (which is the bulk of the tooltip text) is still cached and only updated when the asset data is changed.
[CL 2605509 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-373 - Check robustness of Collections 2.0
The collection manager will now fix-up any references to redirectors within its collections once the asset registry has finished discovering all the available assets. It also adds a watcher so it can pick up any moves or deletes as they happen.
All of this fix-up is applied to the in-memory copy of the collection, and doesn't get persisted to disk until it needs to be (because referenced redirectors are being deleted). This helps to minimize issues with source control availability and shared/private collections.
This change also makes sure that objects that are being referenced by a collection will leave a redirector behind, and also adds some extra context (such as the collection name) to some of the source control errors that may be reported when saving a collection.
[CL 2602519 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
Converted FFrontendFilter_Text to use FTextFilterExpressionEvaluator directly (rather than via TTextFilter), as this allows it better control over memory re-use (in this case, re-using an array of collection names, as well as some strings).
Added FTextFilterString, which is used internally by the compiled text filter, and also by the comparison functions. This stores the string given to it as uppercase, which allows us to quickly perform case-insensitive string comparisons since we can actually do normal case-sensitive comparisons instead as everything is uppercase.
[CL 2599097 by Jamie Dale in Main branch]
#UE4 Fixed a warning about duplicate loc
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2593752 by Bob.Tellez on 2015/06/19 13:05:22.
[CL 2593753 by Bob Tellez in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-369 - Want nested collections with collapsing
We now have version 2 collections which maintain a persistent GUID for each collection. Existing collections will be lazily updated to this version when they need to be re-saved.
This GUID is used by child collections to keep track their parents, and the collections view (as well as the quick asset management) now show a tree of collections. Collections in the main collection view tree can be re-parented via drag and drop.
Performing Content Browser searches against a given collection will also test to see if an object exists in child collections, and the asset view will now show you folder entries for child collections when viewing a parent (if folders are enabled in your Content Browser view settings).
[CL 2593321 by Jamie Dale in Main branch]
UE-13120 - Content Browser - when launching the editor, if the path is a root directory OnPathSelected fires with an empty string.
SPathView::LoadSettings was passing a null item. It now passes the first selected item.
[CL 2588624 by Jamie Dale in Main branch]
The text filter was stripping whitespace and storing the stripped version. This meant that a search term containing only whitespace could never be cleared again, as the filter never notified of a change in text.
The other issue was that some code was performing a pre-test to see if the text had changed, however this code was doing case-insensitive comparisons, which no longer suffice as the operators are case-sensitive.
[CL 2587373 by Jamie Dale in Main branch]
Re-added the exported text for an asset to the list of simple search terms. This was broken a while ago, and messed with some peoples workflow as they used to Ctrl+C the asset to get the exported text which they could later search for in the Content Browser.
This also improves the handling of the "path" key, as it can now compare against paths in any of the following forms (previously it only tested the last one):
/Path/To/Asset.Asset
/Path/To/Asset
/Path/To
[CL 2582504 by Jamie Dale in Main branch]
UE-14641 - Fix PushMenu() to use QueryPopupMethod()
Pretty big refactor
Adds IMenu as way to identify menus. Replaces referring to menus as SWindows.
Lots of uses of PushMenu() fixed up to match new API
#codereview Nick.Atamas
[CL 2579277 by Chris Wood in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-366 - Ability to search and filter assets that are only in specific collections
This allows you to perform complex queries against any of the meta-data from the asset registry (using standard comparison operators), as well as being able to test other standard keys, such as the collections that contain a given asset, its name, path, or class.
The syntax supports sub-expression grouping, and also partial (unquoted), exact (quoted) starts with (s...), or ends with (...s) string matching, as well as standard logic operators (OR, AND, NOT).
ReviewedBy Andrew.Rodham
[CL 2578624 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
This avoids the need to repeat the module name throughout the code (and potentially performing an FName look up each time).
[CL 2572436 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
This avoids conversion from FString to FName when dealing with the collections manager API (which gave the collections view the data as an FName to begin with).
[CL 2572385 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
You can now right click on a collection and change its share type via the context menu.
[CL 2572360 by Jamie Dale in Main branch]
UETOOL-332 - Collections 2.0
UETOOL-370 - Ability to assign many collections to a single asset very quickly
The collections view now provides check boxes next to each collection. These can be used to quickly add or remove a large selection of assets to or from a collection.
This feature is also available in the Content Browser via the asset context menu. The "Collections" section now contains a sub-menu which lists the available collections, and allows you to quickly add or remove the current selection to or from a collection.
[CL 2570749 by Jamie Dale in Main branch]