Commit Graph

264 Commits

Author SHA1 Message Date
Jamie Dale
51806049a0 Stopped you being able to drag the collection "folders" in the asset view
[CL 2607660 by Jamie Dale in Main branch]
2015-07-01 12:36:00 -04:00
Jamie Dale
8d23fe9db1 Added support for navigating collections using the path breadcumbs in the Content Browser
UE-17646 - Collections don't display bread crumb path when nested

[CL 2607575 by Jamie Dale in Main branch]
2015-07-01 11:36:19 -04:00
Jamie Dale
031f4aa33a Fixed the "Show Collections" option appearing multiple times if multiple Content Browsers were open
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]
2015-06-30 11:12:22 -04:00
Jamie Dale
b250847e10 Can now use the "Show Developers Folder" option in the save/load menu
UE-6312 - Cannot toggle developer folders in Save Level As view options

[CL 2605744 by Jamie Dale in Main branch]
2015-06-30 11:03:51 -04:00
Jamie Dale
745c64bbcc Made asset view tooltips refresh each time they become visible
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]
2015-06-30 08:37:15 -04:00
James Hopkin
bf1fa3726a Tidied a few asset registry uses: added consts, removed redundant code.
[CL 2603648 by James Hopkin in Main branch]
2015-06-29 04:20:29 -04:00
Jamie Dale
8e1264a232 Made collections robust against moving or renaming assets and classes
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]
2015-06-26 13:13:02 -04:00
Timothy Reynolds
b04b7d3ff1 Removed unnecessary file movement popup when moving folder. Swapped ShouldPromptToLoadAssets with GetUnloadedAssets (which was still needed).
UE-16599

#codereview Matt.Kuhlenschmidt

[CL 2602165 by Timothy Reynolds in Main branch]
2015-06-26 10:05:12 -04:00
Jamie Dale
e41c9d884d Optimized the Content Browser text filter, and added support for matching collection names in simple string searches
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]
2015-06-24 12:29:41 -04:00
Bob Tellez
ed46cf86ce [AUTOMERGE]
#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]
2015-06-19 13:05:37 -04:00
Jamie Dale
b36a494aeb Added support for nested collections
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]
2015-06-19 07:33:02 -04:00
Jamie Dale
b2413588f6 Changing the Content Browser path via the breadcrumb now notifies you of the change
UE-13121 - Content Browser - navigiating via breadcrumb trail does not fire OnPathSelected delegate.

[CL 2588679 by Jamie Dale in Main branch]
2015-06-16 11:11:45 -04:00
Jamie Dale
20242f5d93 Fixed SPathView::OnPathSelected being called with an empty string after the editor loads
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]
2015-06-16 10:39:12 -04:00
Jamie Dale
e2691248e2 Fixed some cases where the text filter would fail to update
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]
2015-06-15 11:05:19 -04:00
Jamie Dale
fe2c01e3c0 Ensured that everything in the editor using a TTextFilter is reporting syntax error information back to the user
[CL 2582959 by Jamie Dale in Main branch]
2015-06-10 13:22:27 -04:00
Jamie Dale
d459913c04 Converted SCollectionView to use a TTextFilter
[CL 2582951 by Jamie Dale in Main branch]
2015-06-10 13:19:26 -04:00
Jamie Dale
bc87d10d69 Improved path searching in the Content Browser
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]
2015-06-10 08:03:05 -04:00
Chris Wood
8a112d6140 PushMenu() now respects QueryPopupMethod(). All menus now support reusing windows.
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]
2015-06-05 20:19:33 -04:00
Jamie Dale
c360522488 Added advanced search query syntax to the Content Browser
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]
2015-06-05 13:14:36 -04:00
Jamie Dale
c031b17938 Added utility functions to get the FCollectionManagerModule handle
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]
2015-06-01 10:04:42 -04:00
Jamie Dale
17847b90d4 Converted FCollectionItem::CollectionName to be an FName rather than FString
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]
2015-06-01 09:29:31 -04:00
Jamie Dale
b95189a7a6 Added a way to change the collection share type via the UI
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]
2015-06-01 08:45:51 -04:00
Jamie Dale
5c2e006c92 Added quick asset management for collections in the editor
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]
2015-05-29 13:15:40 -04:00
Jamie Dale
7729e1b550 No longer show the collections filter when the collections list is collapsed
UETOOL-332 - Collections 2.0
UETOOL-368 - Search to find specific collections in the folder view

[CL 2564889 by Jamie Dale in Main branch]
2015-05-26 10:11:32 -04:00
Jamie Dale
e0253082fb Added the ability to filter collections
UETOOL-332 - Collections 2.0
UETOOL-368 - Search to find specific collections in the folder view

[CL 2561190 by Jamie Dale in Main branch]
2015-05-21 14:47:20 -04:00