Files
UnrealEngineUWP/Engine/Source/Editor/ContentBrowser/Private/PathContextMenu.cpp
Andrew Brown 1b2040bf7b Folder Rename can now be done in the Content Browser Path View
#ttp 342267 - Editor Usability: Select a folder in Content Browser and pressing F2 to rename it, triggers a rename of an actor or asset instead!

#branch UE4

SContentBrowser
Added functions for Can/Execute Rename/Delete which forward to the active context menu
Moved Rename/Delete bind commands to the content browser, so it can forward the request to the correct context menu
(this was necessary as it wasn't possible to bind to both context menus without the code complaining about it already being bound)
Modified GetFolderContextMenu to take an extra param to indicate whether it was the path view or asset view which called it - it then uses this to clear the asset view selection when the path view context menu is requested - we can then use the selection information to determine which context menu was opened later on when processing rename/delete (ideally it should clear when the path view recieves focus, but that's harder to determine).

FAssetContextMenu
Made Can/Execute Rename/Delete public - so they can be called by the Content Browser
Removed BindCommands as it's no longer needed
Removed condition for adding Rename to the menu, as it now always is and is greyed out if not possible.

FPathContextMenu
Added delegate for when rename folder is requested - the same as FAssetContextMenu
Added handling for whether folder renaming is possible, and executing.
Removed condition for adding Rename to the menu, as it now always is and is greyed out if not possible.
Fixed issue with Delete not mapping to keyboard shortcut

SPathView
Added function to rename folder (similar to SAssetView)
Fixed issue with VerifyFolderNameChanged not generating the correct path when checking to see if a folder exists (it was previous just checking to old path - which would always return true).
Modified FolderNameChanged to take 'OldPath' as a param (inline with the delegate change). This function is called when a folder is created or renamed... if it's the latter it has to handle moving the contents of the folder to the new location, which it could only do if it knew where the previous location was (again, similar to SAssetView)

SAssetTreeItem
Added extra param to FOnNameChanged (OldPath) - so we can move assets when a folder is renamed

FTreeItem
Renamed variable bNewFolder to bNamingFolder - as it's true whenever the folder is being named, not just when it's new

reviewed by Thomas.Sarkanen

[CL 2239648 by Andrew Brown in Main branch]
2014-08-01 05:51:26 -04:00

27 KiB