#jira UE-6304 - Source Control: Add the ability to commit file deletions from the editor
#reviewedby Thomas.Sarkanen
[CL 2446774 by Richard TalbotWatkin in Main branch]
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.
#codereview robert.manuszewski
[CL 2400883 by Steve Robb in Main branch]
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)
This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.
[CL 2399803 by Jamie Dale in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
https://answers.unrealengine.com/questions/53990/cant-find-file-for-asset.html
This change restores the behaviour of the package auto-saver that was removed in CL# 1950261 due to changes in the way UPackage::PackageDirtyStateUpdatedEvent was called (it was changed to be called only when the package became dirty state was actually changed).
There is now another callback, UPackage::FOnPackageMarkedDirty, which is always called when a package is marked as dirty, even if the package is already dirty. This allows the package auto-saver to watch for changes in-between auto-save periods, rather than be forced to assume that everything that was dirty had become dirty during the last auto-save period. FOnPackageDirtyStateUpdated and UPackage::PackageDirtyStateUpdateEvent have been renamed to FOnPackageDirtyStateChanged and UPackage::PackageDirtyStateChangedEvent respectively.
Additionally, you're now able to restore asset files that haven't yet been saved to disk as a .uasset file. This can happen for newly added or imported assets, as UE4 doesn't generate the associated .uasset file until you do something which causes dirty packages to be saved.
ReviewedBy Thomas.Sarkanen, Max.Preussner
[CL 2109337 by Jamie Dale in Main branch]