Commit Graph

194 Commits

Author SHA1 Message Date
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
wouter burgers
2daa2f0820 SkeinUE: Fixed conflicted icon incorrectly being white in some areas since #30499647.
[FYI] manuel.lang
#rnx

[CL 30684127 by wouter burgers in ue5-main branch]
2024-01-18 10:27:11 -05:00
wouter burgers
dd201728e3 SourceControl: Fixed an error being reported for failing to convert to a package name for non-package files (for example: *.uplugin). This was introduced in #24242330.
#rb Marco.Anastasi
#rnx

[CL 30635104 by wouter burgers in ue5-main branch]
2024-01-16 11:23:59 -05:00
marco anastasi
0922d218c0 Fix for "icons for asset change states aren't displaying" in Snapshot History tab
[REVIEW] [at]wouter.burgers, [at]manuel.lang
#rb Manuel.Lang
[FYI] wouter.burgers, manuel.lang

#localization none
#tests ran local build and preflight
#preferred_allowlister alex.kahn

[CL 30600518 by marco anastasi in ue5-main branch]
2024-01-12 14:34:43 -05:00
wouter burgers
432c808da4 SkeinUE: Changed conflicted icon used by Skein to be white (in the file) with a warning color applied instead of being a colored icon in the file.
[FYI] manuel.lang
#rnx

[CL 30499754 by wouter burgers in ue5-main branch]
2024-01-09 04:08:55 -05:00
marco anastasi
9be55ae1ae Populate Assets List in expanded Snapshot view
Created Asset Class 'filter pill' widget
Extended Assets List to display a colour pill representing the asset class

#rb wouter.burgers

[CL 30443162 by marco anastasi in ue5-main branch]
2023-12-22 14:15:22 -05:00
wouter burgers
389ae421f8 Skein / Snapshot History: Assorted snapshot history UI updates. See JIRA for checkmarked list.
#rb Marco.Anastasi
#rnx

[CL 30438221 by wouter burgers in ue5-main branch]
2023-12-22 03:31:43 -05:00
wouter burgers
bc627402f6 Skein / ConflictUE: Assorted conflict resolution UI updates. See JIRA for checkmarked list.
#rb Marco.Anastasi
#rnx

[CL 30379040 by wouter burgers in ue5-main branch]
2023-12-18 12:54:53 -05:00
wouter burgers
5204069750 Skein / ConflictUE: Fixed 'check in changes' no longer redirecting to the 'conflict resolution' window when there are conflicts remaining. This was introduced in #29863963 when SSourceControlControls was created.
#rb Marco.Anastasi
#rnx

[CL 30260472 by wouter burgers in ue5-main branch]
2023-12-12 07:03:52 -05:00
marco anastasi
367d9976f1 Added warning highlight to Asset List [No.] column when user has rewound to an older revision
#rb wouter.burgers

[CL 30038475 by marco anastasi in ue5-main branch]
2023-12-01 08:23:59 -05:00
marco anastasi
4fc92d88f3 * Create 'Check in before syncing older snapshot' dialog
* Create Warning dialog for further rewind
* Implement 'Sync snapshot' functionality
* Implement 'Rewind to' functionality

#rb wouter.burgers

[CL 30015297 by marco anastasi in ue5-main branch]
2023-11-30 10:36:24 -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
wouter burgers
e3cd7f6351 SourceControl: Fixed Content Browser not updating after reverting a Content Browser asset move to a subfolder along with any additional action that will trigger a world reload.
Technical:
- Moving an asset to a subfolder and choosing REVERT ALL works! The asset will show up again in Content Browser.
- Moving an asset to a subfolder, moving an actor (which triggers a world reload) and choosing REVERT ALL does NOT work! The asset will not show up again in Content Browser until the project is closed and re-opened. The reason it doesn't show up is because the AssetRegistry still thinks there is a REDIRECTOR asset in that location and the Content Browser doesn't show those by default.

The cause for this is that when the two packages (for example: a redirector material package and a world package) are passed into UPackageTools::ReloadPackages, it will call CreateNewMapForEditing which will cause the redirector material package to go STALE. This is tracked by FScopedTrackFilteredPackages. This results in the redirector material package never actually being reloaded, leaving the AssetRegistry with incorrect data, causing the Content Browser to not show it.

This is fixed by doing the world reload(s) separately.

#rb Manuel.Lang, Marco.Anastasi, Patrick.Enfedaque
#rnx

[CL 29916664 by wouter burgers in ue5-main branch]
2023-11-24 03:11:20 -05:00
wouter burgers
b1096cb5d0 Skein / ConflictUE: Enable conflict resolution workflow and remove the obsolete retrieval of asset list pre-pass.
If a conflict situation ever ends up blocking an internal developer (due to some unforeseen issue), the CLI command 'asset resolve conclude' can always get them out of it.

#rb Marco.Anastasi
#rnx

[CL 29884264 by wouter burgers in ue5-main branch]
2023-11-22 03:36:56 -05:00
marco anastasi
3ccf57012b * Implemented basic Snapshot List
* Added Snapshot creator avatar to Snapshots list
* Extended information displayed in snapshot state column in Snapshot list

#rb Stuart.Hill, wouter.burgers

[CL 29867991 by marco anastasi in ue5-main branch]
2023-11-21 12:06:27 -05:00
marco anastasi
768aebf28f Added #if SOURCE_CONTROL_WITH_SLATE to SSourceControlControls Slate class in SourceControl module
#rb paul.chipchase

[CL 29864891 by marco anastasi in ue5-main branch]
2023-11-21 10:29:56 -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
2c9f7f0ffd SourceControl: Fixed crash when reverting a newly added level file along with a world reload that that causes the editor to crash.
#rb manuel.lang, marco.anastasi, patrick.enfedaque
[REVIEW]
#rnx

[CL 29641486 by wouter burgers in ue5-main branch]
2023-11-10 10:59:45 -05:00
wouter burgers
0aab06c19d SourceControl: Fixed world not reloading when an external object is reverted.
The existing code was specific to external Actors, but there are also external Objects, such as the folders created in the SceneOutliner. Previously, creating a folder in the SceneOutliner, saving it and reverting it would not trigger a world reload, incorrectly keeping the folder visible in the SceneOutliner.

#rb manuel.lang, marco.anastasi, patrick.enfedaque
#rnx

[CL 29639562 by wouter burgers in ue5-main branch]
2023-11-10 10:15:17 -05:00
wouter burgers
c9c7215f18 SourceControl: Fixed world not reloading when a deleted external object is reverted (when it is not in memory anymore).
The existing code was specific to external Actors, but there are also external Objects, such as the folders created in the SceneOutliner. Previously, deleting a folder in the SceneOutliner, saving it, restarting the editor and reverting it would not trigger a world reload, incorrectly not showing the folder in the SceneOutliner.

#rb manuel.lang, marco.anastasi, patrick.enfedaque
#rnx

[CL 29637474 by wouter burgers in ue5-main branch]
2023-11-10 08:20:14 -05:00
paul chipchase
0743e8dd17 Fix SOURCE_CONTROL_WITH_SLATE to work properly again in the SourceControl module
#rb wouter.burgers
#rnx

### SourceControl
- Remove link to "InputCore" as it is not used
- Only include slate and rendering modules if the target we are building for uses slate.
- Define SOURCE_CONTROL_WITH_SLATE as 0 if the target we are building for does not use slate.

- When SOURCE_CONTROL_WITH_SLATE is zero the following will be applied:
-- FRevisionControlStyleManager will not be compiled as it only makes sense if slate is enabled.
-- The monitoring aspect of FSourceControlFileStatusMonitor will be disabled as we cannot be notified of user interactions.
-- FScopedSourceControlProgress will compile but essentially do nothing.
-- The ::GetIcon method of ISourceControlState will no longer be compiled as it returns a FSlateIcon by value.

[CL 29516345 by paul chipchase in ue5-main branch]
2023-11-07 06:18:43 -05:00
wouter burgers
72c64e7815 RevisionControlStyle: Added 'OpenExternal' icon.
[FYI] manuel.lang, marco.anastasi
#rnx

[CL 29140386 by wouter burgers in ue5-main branch]
2023-10-26 12:50:03 -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
paul chipchase
4fa806cf66 Add a new initialization path to ISourceControlProvider allowing the caller to customize the initialization logic and retrieve more info about the initialization itself.
#rb Per.Larsson

### ISourceControlProvider
- Add a new ISourceControlProvider::Init overload that returns a struct (FInitResult) and takes a bitfield of flags (EInitFlags) so that we can more easily extend the initialization in future and return things to the caller.
- If a provider does not implement the new overload we fall-back to the original. This will be removed once all providers support the new path.

### PerforceSourceControlProvider
- Support the new init options via FPerforceConnection::EnsureValidConnection and update places that call it.

### FPerforceConnection
- Update ::AutoDetectWorkspace to return errors to the caller rather than handle its own logging.
- ::TestLoginConnection and ::TestClientConnection no longer calls FPerforceSourceControlProvider::SetLastErrors, this will be done at a higher level.
- ::AutoDetectWorkspace still does its own logging which will be fixed in a future update, it does however return its errors to the caller.
- Split the implementation of ::EnsureValidConnection to a stand alone internal function, the original function now handles and consolidates error handling.
-- Changed the logic to early out of failure rather than constantly checking a boolean all the way down.
-- Tried to remove the need for FPerforceSourceControlProvider to be passed in but a few places still require it.
-- Fixed our handling of the P4PORT value so that we can at least report problems if the address uses unicode characters. I have not yet tested if we can actually connect to such an address. We no longer use the servers unicode setting to decide the port strings encoding as it is not affected by the server settings.
-- Each error encountered should now record a localized error that we expect the user to be able to react to, then an array of errors from the API itself.
-- Once the internal code has run we will do a pass on all errors (if any) and strip any whitespace at the end (p4 tends to end error messages with newline characters) and then add a final entry to the additional errors detailing the settings at the point of failure. This was mostly being done before but is now enforced for every error.
-- No longer log the ticket, although the workflow to allow the user to supply one is not common we still probably don't want to save that to log files.

[CL 26952104 by paul chipchase in ue5-main branch]
2023-08-09 07:27:34 -04:00
paul chipchase
1dc158ed3a Truncation warning fixes for SourceControl module
#rb trivial
#rnx

[CL 26543837 by paul chipchase in ue5-main branch]
2023-07-24 11:33:51 -04:00