Commit Graph

47 Commits

Author SHA1 Message Date
wouter burgers
b96d8d30b2 SkeinUE: Refactored SSourceControlControls.
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]
2024-02-26 03:57:11 -05:00
marco anastasi
34693955b2 Some on-hover tooltips are missing or wrong in the Snapshot History tab
#rb wouter.burgers

[CL 30536821 by marco anastasi in ue5-main branch]
2024-01-10 10:47:34 -05:00
wouter burgers
92e74b4c79 Skein / Snapshot History: Add 'View Snapshot History' menu item to Revision Control menu in Status Bar.
#rb Marco.Anastasi
#rnx

[CL 30012929 by wouter burgers in ue5-main branch]
2023-11-30 07:58:07 -05:00
wouter burgers
9dce208c39 UEFN / Skein: Fixed 'Sync To Latest' functionality moving the user out of their selected 'EditorMode' and losing a part of their progress, by disabling the SourceControl 'Check In Changes' and 'Sync Latest' buttons while an interactive tool is active.
#rb Jamie.Dale, Manuel.Lang, Marco.Anastasi
#rnx

[CL 30010665 by wouter burgers in ue5-main branch]
2023-11-30 03:37:36 -05:00
marco anastasi
0eb858d5d9 * Created Snapshot History Tab structure
* 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]
2023-11-21 09:56:04 -05:00
wouter burgers
481065335e Skein / ConflictUE: Add 'Reference viewer' icon and functionality to relevant assets.
- 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]
2023-10-13 08:13:09 -04:00
wouter burgers
1702425807 Skein / ConflictUE: Add conflict information to StatusBar.
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]
2023-09-26 06:31:30 -04:00
wouter burgers
3500d71466 SourceControl: The ChoosePackagesToCheckIn operation should optionally perform a sync ('pull-before-push' model) for snapshot based source control systems.
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]
2023-09-04 04:10:36 -04:00
Patrick Enfedaque
33db3947b5 Uncontrolled Changelist: Show 'View Changelists' button if provider uses Uncontrolled Changlists (re-enables it for Default provider)
#jira none
#rb luc.eygasier
#rnx

[CL 26009321 by Patrick Enfedaque in ue5-main branch]
2023-06-15 07:08:48 -04:00
wouter burgers
2f30b42b92 SkeinUE: When using the CHECK-IN CHANGES button, perform a SYNC first, as the API expects pull-before-push.
#preflight none

[CL 25282069 by wouter burgers in ue5-main branch]
2023-05-01 02:05:33 -04:00
aditya ravichandran
834a76abaf Change the combo buttons on the status bar to use the regular "SimpleComboButton" style with chevrons
#jira none
#rb karen.jirak
#preflight 644acad4693defa68d94ce45

[CL 25221777 by aditya ravichandran in ue5-main branch]
2023-04-27 15:33:10 -04:00
scott nelson
15371dad4c Fix entity delete and right click save on level assets not generating UEFN Playsets
#rb Dave.Belanger
#preflight 6441bc6f641e2c3cb462a5bf

[CL 25175438 by scott nelson in ue5-main branch]
2023-04-24 23:20:03 -04:00
jamie dale
933348f856 Use the FMessageDialog overloads that pass the optional title by-value
#jira
#rb none
#rnx

[CL 25062589 by jamie dale in ue5-main branch]
2023-04-15 19:49:32 -04:00
wouter burgers
74d303ad20 SourceControl: Don't enable check-in changes button when there are unsaved changes. After those changes are saved to disk, there exists a window of time before the provider realizes there are changes, resulting in the button temporary switching back to 'No Changes' before re-activating 'Check-In Changes' again.
This was deemed problematic, so falling back to old behavior.

#preflight none

[CL 24499678 by wouter burgers in ue5-main branch]
2023-03-03 11:21:12 -05:00
marco anastasi
76fe6ff5f9 Trigger an autosave if there are any unsaved changes when a user clicks "check-in changes".
[CL 24444892 by marco anastasi in ue5-main branch]
2023-02-28 12:13:31 -05:00
marco anastasi
641c93f543 Updated icons for Check-in Changes and Sync Latest status bar buttons
#rb wouter.burgers
#preflight 63f3d7321d71bcd2624a4feb

[CL 24332254 by marco anastasi in ue5-main branch]
2023-02-20 21:07:58 -05:00
aditya ravichandran
2997375da6 Status Bar: Add a separator after the Unsaved Assets widget
#rb logan.buchy
#preflight 63f3e80c6a22bef8c0a9821e

[CL 24329165 by aditya ravichandran in ue5-main branch]
2023-02-20 17:59:49 -05:00
wouter burgers
eb788a24bc SkeinUE: Only enable the 'Revert All' option if there is anything to revert.
#preflight none

[CL 24282754 by wouter burgers in ue5-main branch]
2023-02-17 11:00:54 -05:00
aditya ravichandran
df7d3c176c Revision Control: Add foreground tint for icon in the status bar
#preflight 63ebcd247d2ec3d2fded1382

[CL 24261216 by aditya ravichandran in ue5-main branch]
2023-02-16 12:43:53 -05:00
marco anastasi
ba94a69dbb Implemented auto-save on check-in.
Fixed issue that prevented deleted objects from being restored on Revert All
As a collateral, fixed issue that caused not saving deleted files during Delete workflow to result in errors after sync
As a collateral, fixed issue that caused added and saved files to disappear after Sync Latest

#rb wouter.burgers, stuart.hill
[FYI] brooke.hubert, manuel.lang
#preflight 63ed15e5c9692d7c04ea4188

[CL 24251962 by marco anastasi in ue5-main branch]
2023-02-16 02:09:33 -05:00
zach rammell
bdc16077f3 View Changes UI visual improvements
- Side panel no longer compressed
- Name changed to "View Changes"

#jira UE-175840
#rb ronald.koppers
#preflight 63daeceb4965eb8c33d456e5
#lockdown jeanmichel.dignard

[CL 23961626 by zach rammell in ue5-main branch]
2023-02-01 19:44:37 -05:00
stuart hill
df6df596f7 Ensure the camera does not reset when we are syncing or reverting a file or all files via source control
A scoped class is added to retain and restore all camera views which is used when we reload or sync packages.

#preflight 63d2766de55deff624ed1b5a

[CL 23867883 by stuart hill in ue5-main branch]
2023-01-26 10:15:04 -05:00
marco anastasi
b29f599449 * Refactored Sync Latest operation to improve performance
* Sync Latest no longer listing and reloading all packages when the source control provider provides a sync preview functionality. When a Sync Preview is available, Sync Latest unloads only the files that are going to be overwritten by the sync operation, and then reloads them and the world

* Refactored Revert All operation to improve performance
* Revert All no longer lists and reloads all packages when the source control provider provides a sync preview functionality. Instead it unloads only the files that may be overwritten by the revert operation (i.e. submittable files), and then reloads them and the world
* Replaced RevertAndReloadAllPackages with RevertAndReloadWorld, no longer listing and reloading all packages (see https://p4-swarm.epicgames.net/reviews/23244245/)

This review is a combination of the two archived reviews https://p4-swarm.epicgames.net/reviews/23736137 and https://p4-swarm.epicgames.net/reviews/23736282

#rb wouter.burgers, stuart.hill, brooke.hubert, francis.hurteau
#preflight 63c9c7786a00f3cc8ead6779

[CL 23796067 by marco anastasi in ue5-main branch]
2023-01-20 15:31:16 -05:00
wouter burgers
08afa95f86 SourceControl: Fixed clicking 'X' or 'Esc' on the 'Revert All' confirmation modal not resulting in the cancellation of the operation.
#preflight none

[CL 23795959 by wouter burgers in ue5-main branch]
2023-01-20 15:27:17 -05:00
marco anastasi
d28eb652fb Implemented Asset Revert functionality from Scene Outliner.
Fixed 'Cannot revert umaps with Skein' by reloading all assets when attempting to revert a map
Implemented 'Revert All' button

#rb patrick.enfedaque, wouter.burgers, stuart.hill, manuel.lang
[FYI] francis.hurteau, brooke.hubert
#preflight 6388f51d4c3ce8ae5dbfb18f

#preflight 639340545c5308d18c28b967

[CL 23475314 by marco anastasi in ue5-main branch]
2022-12-11 23:09:22 -05:00