Commit Graph

167 Commits

Author SHA1 Message Date
patrick laflamme
e3370eeb19 Implemented 2-columns sort in the changelist window.
Added a tooltip over the 'icon' colum in the changelist window.

#jira UE-155217 - Make the selected changelist view (list of files in a CL) sortable (2-columns sort).
#rb Patrick.Enfedaque
#preflight 63176791980179553e3d5dae

[CL 21827312 by patrick laflamme in ue5-main branch]
2022-09-06 15:43:24 -04:00
luc eygasier
c4dec1008a Adds Source Control File Dialog.
Displays source control file dialog when checkouting files is impossible during conversion from Uncontrolled Changelist to Changelist.

#preflight 630f740ce352708d444276e0
#rb Patrick.Laflamme

[CL 21727336 by luc eygasier in ue5-main branch]
2022-08-31 16:14:08 -04:00
patrick laflamme
126984d8d7 Fixed the double popup issue that can happen in the changelist window for source control provider other than P4 that support changelist.
#rb Patrick.Enfedaque
#preflight 630e07e9e1124837754de0d7

[CL 21709903 by patrick laflamme in ue5-main branch]
2022-08-30 17:19:01 -04:00
SRombauts
8df7cabe69 Updated the changelist window to handle the Enter and Delete keys to Submit or Delete the currently selected changelist if conditions to do these operations are met. This mimics P4V behavior.
Updated the changelist window to handle double clicking on a changelist. This opens the submit dialog if the submit conditions are met. This mimics P4V behavior.

PR #9433: [Source Control] Changelists window: intercept Enter and Delete keys to Submit or Delete the current changelist (Contributed by SRombauts)
#jira UE-160314
#rb Patrick.Enfedaque
#preflight 630d1e68f92416fb92702657

[CL 21709874 by SRombauts in ue5-main branch]
2022-08-30 17:17:25 -04:00
patrick enfedaque
3efc94dd9d SceneOutliner:
- SCC Show in changelist
- Fix Unloaded actors not having SCC Menu

#jira UE-155244
#rb patrick.laflamme
#preflight 630ca346f92416fb925faead

[CL 21685112 by patrick enfedaque in ue5-main branch]
2022-08-29 14:51:36 -04:00
patrick laflamme
1b1d508110 Renamed the 'Update' button as 'Apply' in the submit changelist window to mimic P4 vocabulary and added a tooltip.
#rb trivial
#preflight 6308bb761615ec0db54b4e7e

[CL 21595376 by patrick laflamme in ue5-main branch]
2022-08-26 14:30:23 -04:00
patrick enfedaque
2d8d4adaa3 SourceControlWindowExtender: Extends functionality of the SourceControlWindows window
Actor: Focus, Pin, Select
Assets: Browse To

#jira UE-155245
#rb patrick.laflamme, richard.malo
#preflight 630796aa0968fbaf691de565

[CL 21590365 by patrick enfedaque in ue5-main branch]
2022-08-26 11:04:20 -04:00
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
SRombauts
b914d4ce07 Fix ClearChangeListDescription() not getting called when submitted a Changelist from the changelist window.
PR #9432: [Source Control][UE5.1] Fix regression ClearChangeListDescription() not getting called when submitted a Changelist (Contributed by SRombauts)
#jira UE-160313 - GitHub 9432 : [Source Control] Fix ClearChangeListDescription() not getting called when submitted a Changelist
#rb trivial
#preflight 6306376ac744dac967279605

[CL 21540506 by SRombauts in ue5-main branch]
2022-08-24 10:40:15 -04:00
patrick laflamme
bff7926319 Modified the source control submit window opened from the changelist window:
- Supported editing the changelist and saving it in P4. If the submit fails, the code will also try to save any edited changelist description.
  - Enabled the 'keep checked out' button when submitting from the changelist window.
  - Fixed the P4 cache not properly updating the file 'kept in checkout'.
  - If the submit window is opened from the Source Control menu at the bottom right of the Eitor, the new 'Update' button to save the changelist description is not visible, this is not supported for all source control provider.

Added a delay of 1.5 seconds before showing the slow stack in the changelist window when refreshing the UI.

#jira UE-155238 - Add the option to "keep file in checkout"
#jira UE-155235 - Allow the user to save the description from the submit window.
#rb Patrick.Enfedaque
#preflight 6303e4e75a5d4e4624f5ab6d

[CL 21512088 by patrick laflamme in ue5-main branch]
2022-08-23 13:05:52 -04:00
patrick laflamme
081f94e945 Fixed circular dependecies between the SourceControlWindows and OutputModule reported on Linux.
#rb trivial
#preflight 6303ba1d5a5d4e4624e5e83f

[CL 21500745 by patrick laflamme in ue5-main branch]
2022-08-22 21:50:47 -04:00
patrick laflamme
1de07a9081 Fixed the source control history window not properly displaying multilines submit descriptions.
#jira UE-141274 - Text overflow in CL description panel of file history
#rb Lauren.Barnes
#preflight 63037f9ec744dac9679ed021

[CL 21500398 by patrick laflamme in ue5-main branch]
2022-08-22 21:39:19 -04:00
patrick laflamme
32cca29e12 Fix CIS error about missing TabManager include.
#rb trivial
#preflight trivial

[CL 21499899 by patrick laflamme in ue5-main branch]
2022-08-22 21:20:45 -04:00
patrick laflamme
7f2a598696 Refactored the Changelist Window UI to work better with large changelists along with bug fixes.
This submit should not regress any existing functionalites of the previous widget.

Along with the user interface changes, notable bug fixes were included
  - If a changelist is not specified for P4 operations 'Mark for Add', 'Mark for Delete and 'Checkout', defaulted to the 'default' P4 changlist. Without a valid changelist, the cache wasn't properly updated.
  - Fixed updating the cache for P4 'Mark for delete' operation not correctly updating the file changelist cached in the file state.

Other changes:
  - P4 changelists are now always returned sorted by changelist number, ascending.
  - Some of the safe operations were running synchronous are not running asynchrnous (create new changelist, delete empty changelist, delete shelved files).

This submit addresses the following Jiras:

#jira UE-155207 - Refactor the changelist window layout to have the left/right panel.
#jira UE-155209 - Add the context menu on right click on a file or a changelist.
#jira UE-155218 - Support creating new empty changelist from the changelist view.
#jira UE-155220 - Support moving files from the selected changelist (right view) to another changelist (left view)
#jira UE-155211 - Add visual feedback for any operation taking more than 0.5s.
#jira UE-155212 - Display a list of uncontrolled files in the left panel of the changelist window
#jira UE-155499 - Changelist windows buttons should be disabled if SCC is disabled
#jira UE-155229 - Add an option to automatically refresh the changelist window when new assets are imported|created (as uncontrolled), marked for add, checked out, marked for delete
#jira UE-107577 - Source Control's Changelists dialog does not refresh to reflect changes made while open

#rb Patrick.Enfedaque
#preflight 62ff946ef7404b55a326297b

[CL 21499885 by patrick laflamme in ue5-main branch]
2022-08-22 21:20:05 -04:00
luc eygasier
0cda7fc8ed Modifies revert operations in source control window to also reload packages.
Adds Source Control Helper method to perform a modular source control operation and reload the concerned packages

#rb Patrick.Enfedaque
#preflight 62fd4e63e64b1a510937890b
#changelist validated

[CL 21444877 by luc eygasier in ue5-main branch]
2022-08-18 13:03:11 -04:00
luc eygasier
f431296a8a Changes reverting UncontrolledChangelist new assets to also delete them.
#rb Patrick.Enfedaque
#preflight 62f56afaad3bd8ad642e2a79

#ROBOMERGE-AUTHOR: luc.eygasier
#ROBOMERGE-SOURCE: CL 21354458 via CL 21354491 via CL 21354503
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21356205 by luc eygasier in ue5-main branch]
2022-08-12 11:43:42 -04:00
Patrick Laflamme
6e14c8ab00 FORT-493076 - Source Control Edtior - Need a vertical scroll bar in that validation box when submitting
#preflight 62f5212a3f500fb6dc71f5bb

[CL 21337251 by Patrick Laflamme in ue5-main branch]
2022-08-11 11:37:14 -04:00
jeanfrancois dube
5dcc8dc617 Changelist validations: split changelist validation warnings and errors.
#rb patrick.enfedaque
#preflight none
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 21267254 via CL 21267256 via CL 21267257
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21267736 by jeanfrancois dube in ue5-main branch]
2022-08-08 09:19:30 -04:00
paul chipchase
135e304463 Add an ini file option which when set to true allows package submissions to source control to go ahead even if the virtualization process failed.
#rb none
#jira UE-159596
#rnx
#preflight 62d94160110da0f944afdd32

### Problem
- When rolling our virtualization to projects we have run into a number of set up problems which has caused users to fail to submit packages from the editor as when the virtualization failed we prevented the overall submit from going through.
- Although we will eventually work through all of these problems and add better fault tolerance for now it is annoying for the content team so we need an easy way for a project to allow package submits to be completed even if the virtualization process part of the submit failed.
- Worth noting that the virtualization process failing should never affect the state of the package files, the only downside is that the packages may not be virtualized.

### Fix
- The virtualization/rehydration of packages now return an enum instead of a bool although at the moment we are only returning Success and Failed, but it will allow us to expand in the future
- Combined the code calling the virtualization process from both the source control window and the source control changelist window into a single utility function.
-- Now the two windows only diverge on how they report failure to the user.

- This new utility function now checks to see if the virtualization manager suggests if failing the virtualization process should block any package submission to source control or not.
- I am not happy with this solution, but I haven't come up with anything that feels right, this solution will at least work.

[CL 21199597 by paul chipchase in ue5-main branch]
2022-07-21 08:31:47 -04:00
paul chipchase
8dd016450e We now call the virtualization process directly when submitting content via the editor rather than invoking a delegate.
#rb trivial
#rnx
#preflight 62d15f427e1c26dcd715699c

- Now that the IVirtualizationSystem interface supports both virtualization and rehydration of package files, it seems pointless to keep a delegate that occurs on pre-submit, rather than just calling the system we really want to call directly.
- Deprecating the public methods accessing the delegate from ISourceControlModule should prevent licensees from trying to use it. The delegate was added in 5.0 so even though it is unlikely to have been used by anyone we need to go through the deprecation steps to remove it.
-- This leaves the calling code a little more complicated than I'd like, but cannot be avoided.

[CL 21109464 by paul chipchase in ue5-main branch]
2022-07-15 09:52:19 -04:00
bryan sefcik
435d89dea4 Manually updated a few files in Engine/Source/Editor/... to include some headers that were found to be missing after running IWYU.
#preflight 62cdac5084556536d0e57c64

[CL 21058996 by bryan sefcik in ue5-main branch]
2022-07-12 13:45:01 -04:00
Robb Surridge
0a5a02c5b2 Coding standard fixes: gender-inclusive language
#jira UE-156429
#preflight 62b32e826a25ba6ae52f94bd
#rb jason.walter

[CL 20795375 by Robb Surridge in ue5-main branch]
2022-06-23 11:14:07 -04:00
lina lam
a5879e09cd Two additional "View Changelists" appeared in menus "Window" and one additional in "Tool". Hid the NomadTabSpawner.
#jira UE-155772 - Window > View Changelists shows up 2x
#rb patrick.laflamme
#preflight 62a0c307df69a6beb0d2450b

[CL 20561152 by lina lam in ue5-main branch]
2022-06-08 14:19:41 -04:00
Patrick Laflamme
158c0cfba2 Changed the source control changelist widget tab spawner to a nomad spanwer to allow restoring the widget dock position on next Editor restart.
#jira UE-155234 - Keep the CL window docked within the level tab
#rb Lauren.Barnes
#preflight 62979be79907cbadba978d3f

[CL 20454824 by Patrick Laflamme in ue5-main branch]
2022-06-01 13:21:05 -04:00
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00