Any world tick process was getting impacted by this non-interactive throttling (BiomeCore 1second added walltime on graph regen)
#jira UE-209977
#rb Matt.Kuhlenschmidt
#rnx
[CL 32478133 by patrick enfedaque in ue5-main branch]
The SSourceControlControls is currently instantiated in two places in the editor: bottom right and as part of the snapshot history panel. Regardless, we would like the behavior of these buttons to be the same. This was accomplished by providing 'defaults' in SourceControlMenuHelpers and then setting temporary 'overrides' in SnapshotHistoryPanel. This wasn't very pretty and somewhat confusing with SSourceControlControls providing a mix of instance and static interfaces and behaviors. I've refactored this with the idea in mind that these buttons should behave similar, wherever they are placed in the editor and providing static methods to control that behavior. The default behavior is now no-op and SnapshotHistory provides the UEFN/Skein behavior.
This also allowed the 'CanAutoSave' code to live in one location (in the SnapshotHistoryController) instead of being duplicated in two spots. This was also not possible because engine code cannot be accessed from SkeinSourceControlSlate, where the SSourceControlControls was being instantiated, resulting in the behavior as described in the JIRA bug.
#rb manuel.lang, marco.anastasi
[CL 31796796 by wouter burgers in ue5-main branch]
* Created Date Picker Widget
* Created Source Control Controls Widget
* Refactored Status Bar menu to use Source Control Controls Widget
#rb wouter.burgers, stuart.hill
[CL 29864023 by marco anastasi in ue5-main branch]
- Don't close an already opened content drawer when calling UStatusBarSubsystem::OpenContentBrowserDrawer.
- UStatusBarSubsystem::OpenContentBrowserDrawer is calling ToggleContentBrowser which closes an opened content drawer. Will now skip calling Toggle if the content drawer is already opened for the parent window.
- Replaced a bunch of autos.
#jira
#rb brooke.hubert
[CL 28755787 by jeanmichel dignard in ue5-main branch]
- Also updated UI to latest Figma designs.
- Also updated texts to latest ProductSpec ones.
#rb manuel.lang, marco.anastasi
#rnx
[CL 28748636 by wouter burgers in ue5-main branch]
Why? These buttons have to behave differently when there are unresolved conflicts remaining.
Note that it isn't possible to add a build dependency from a module in /Engine to the Skein module in /Engine/Plugins, hence the cvar/ccmd approach.
#rb manuel.lang, marco.anastasi
#rnx
[CL 28220661 by wouter burgers in ue5-main branch]
Skein, the only provider that returns 'true' for 'UsesSnapshots()' requires the user to be at head when doing a check-in operation, or the check-in will fail.
This is enforced within the plugin, not the CLI, by performing an FSync prior to doing an FCheckIn. It's not easy to do the sync within the CLI as part of the check-in as the editor doesn't release its file locks when doing an FCheckIn, causing syncs to fail.
For this, a code path was introduced in SourceControlMenuHelpers that triggers a sync before triggering the check-in, when clicking the 'Check In Changes' button visible in the bottom right of the editor within UEFN.
However, this approach fails if other code paths in the editor call ChoosePackagesToCheckIn directly. This is known to happen for the MainFrame's "Submit Content" action, which was therefore disabled for Skein in #26272334, but the issue could be more widespread.
To provide a definitive fix for this issue, the sync is moved to within ChoosePackagesToCheckIn, triggered only when 'UsesSnapshots()' is true, which effectively means Skein only.
#rnx
[CL 27582511 by wouter burgers in ue5-main branch]
* Closed the suggestion box when using the keyboard shortcut (tilde key, usually) to switch between status bar console input to output log console input
* Auto-adjusted the editable text box size so that we better see the content for long console commands
#rb sebastian.arleryd
#preflight 647715d80848b7126daffd3f
[CL 25700377 by jonathan bard in ue5-main branch]