Unsaved asset drag-and-drop handler: When unsaved assets are selected and then dropped onto a changelist entry, they are checked out, saved, and then moved to the target changelist.
#jira UE-181906
#rb @zach.rammell
[CL 26976967 by han chu in ue5-main branch]
Tested compiling fortnite, unrealeditor, lyra, qagame with non-unity/pch
#preflight 63635997876630122adeab9f
#rb none
[CL 22958990 by henrik karlsson in ue5-main branch]
- Added function to the source control file status monitor to easily set the exact list of file to monitor efficiently
Fixed the source control changelist not monitoring all the files in view.
#rb Aditya.Ravichandran
#preflight 6362b9bf1a32af63a8f5b719
[CL 22937889 by patrick laflamme in ue5-main branch]
- Handling simple source control updates nofications, for example when user scroll the outliner which query source control status of the scrolled files, usually took 450ms with 15000 files to refresh in the changelist window now takes about 3ms.
- Cached UI item to reuse them when user change the filter.
- Detect and update only the item that changed.
- Preserved the item sort order from the previous update when possible.
- Lazily read the file modification timestamp only when the item is fist displayed.
- Updated files modification in background (triggred when when a package is saved).
- Only monitor source control file status for files that are visible (unless the view is sorted by status)
- Splitted Uncontrolled Changelist and Source Controlled Changelist update to update then independently and just update the one that was notified as updated.
- Converted the file view from a STreeView to a SListView.
Updated changelist UI to display (X out of Y files) when a filter is active and remove files from the view.
#rb Luc.Eygasier
#jira UE-139957 Changelists window refreshes excessively
#preflight 63615588ce68f7cbb695d54a
[CL 22890915 by patrick laflamme in ue5-main branch]
- The function GetSelectedFiles() copied the full pathname of each selected files (can be thoudands) several times when opening the context menu, making it non-responsive.
#rb Patrick.Enfedaque
#preflight 635a9154f1493f9786662587
[CL 22811459 by patrick laflamme in ue5-main branch]
- Implemented the UnsavedAssetTrackers plugin and enabled it by default.
- Added the 'Unsaved' button to the Editor taskbars to display the number of unsaved packages along with a warning icon if warning are associated with one of the unsaved files.
- Updated the 'Save Content' package to display warnings if one of the packages has warnings.
- Added a class to monitor and periodically update the source controlled status of a collection of files/packages.
- Changed the default value of PromptForCheckoutOnAssetModification settings to False because the Unsaved button flow is complementary (and the popup was noisy for OFPA users).
- Updated the changelist window to use the soure control file status monitor.
#jira UE-163734 - Implement the 'Unsaved' Editor Taskbar Button
#rb Patrick.Enfedaque
#preflight 633ae915b12b8af5fde80f7c
[CL 22322224 by patrick laflamme in ue5-main branch]
- Implemented sorting and searching for the new columns.
- Added a FUpdateStatus request to the source control provider when the user selects a changelist. This gets the users that checked out the files along with extra file status.
Added support to enable/disable changelist window columns for 'Type', 'Last Saved' and 'User' columns and persisted the settings.
Added tooltips over the changelist row that display the content of a column. Useful when the value is clipped because the column is too small.
Added tooltips over the changelist row header.
Prevented creation of useless temporary strings in PerforceSourceControlOperations.cpp
#rb Patrick.Enfedaque
#preflight 6323613367163bf6600d4fc6
[CL 22040806 by patrick laflamme in ue5-main branch]
Changed the color of the uncontrolled changelist from gray to orange
Added an icon in the to the file status column header.
#jira UE-155216 - Make the selected changelist view (list of files in a CL) searchable.
#jira UE-155213 - Make the list of changelists searchable.
#rb Patrick.Enfedaque
#preflight 631b8c332b7fe03eb601ec03
[CL 21973932 by patrick laflamme in ue5-main branch]
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]
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]
- 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]
- 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]
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]
* Moves validation logs to message logs so they can be both accessible in OutputLogs and Hyperlink to SourceControl MessageLog
#rb JeanFrancois.Dube
#changelist validated
[CL 17141186 by luc eygasier in ue5-main branch]
* Update MarkForAdd operation to operate on a specified changelist
* Adds Force option in sync operation to be able to revert uncontrolled files
* Adds the resulting new changelist to FNewChangelist operation
* Adds support for "mark for add" files when moving from UCL to C
* Adds support for reverting Uncontrolled Changelist, Uncontrolled Changelist files, or mixes of controlled/uncontrolled files
* Adds support of "Move files to..." contextual action for Uncontrolled files and to Uncontrolled Changelists
#rb Sebastien.Lussier
#changelist validated
[CL 16662633 by luc eygasier in ue5-main branch]
* Adds reconcile contextual actions to manually trigger the verification process
* Loads UncontrolledChangelists module along UnrealEd to be able to hook loaded/saved files sooner
* Adds CPU Trace for FPerforceUpdateStatusWorker::Execute and ParseUpdateStatusResults
* Changes FPerforceCheckOutWorker to update Changelist State if checked out directly to a CL
* Changes FPerforceRevertWorker to update Changelist State after revert
#rb Sebastien.Lussier
#changelist validated
[CL 16477108 by luc eygasier in ue5-main branch]
Changing CL description just before submitting if needed, only if it is not the default CL.
Restore previous changelist description (before tag), in case the submit failed.
#rb Sebastien.Lussier, Julien.LHeureux
#jira UE-114188, UETOOL-3408
#changelist validated
[CL 16113557 by Luc Eygasier in ue5-main branch]
Added Move files operation on files in changelist dialog (incl. move to new)
Added new changelist button in toolbar
Added cancellable "path beautification" when we have deleted/shelved files with no matching file, until we make it lazy and/or batched
#rb sebastien.lussier
[CL 15797238 by julien lheureux in ue5-main branch]
Added an exception to changelist validation for deleted files
Improved display of deleted & shelved objects in changelists & submit dialog - improvements related to OFPA in a subsequent change.
#rb sebastien.lussier
#jira UE-107677, UE-107768
[CL 15322858 by julien lheureux in ue5-main branch]