Commit Graph

24 Commits

Author SHA1 Message Date
Nick Darnell
476eea0d70 Editor - Smaller allowable thumbnail size in the Content Browser. We now also adjust the font size at the lower end of the thumbnail size to make a little more text fit on the lines.
[CL 2244490 by Nick Darnell in Main branch]
2014-08-05 14:00:58 -04:00
Benn Gallagher
a0f01a1ee7 Added animated preview viewports to Persona asset browser tooltips
#codereview martin.wilson

[CL 2226941 by Benn Gallagher in Main branch]
2014-07-22 09:54:58 -04:00
Nick Darnell
add54836d5 CB - When front end filters change, if we were not previously performing a recursive filter, we now perform a full slow refresh in order to populate the data the front end filters operate on. This fixes the issue with front end filters like "In Use By Level" not working until folders are changed.
TTP 341204

#codereview Bob.Tellez

[CL 2198765 by Nick Darnell in Main branch]
2014-07-12 12:59:41 -04:00
Ben Marsh
de9c0853bf Add an toggle for showing plugin content, and disable it by default.
[CL 2124821 by Ben Marsh in Main branch]
2014-07-02 13:18:43 -04:00
Richard TalbotWatkin
f6a7607b30 Fixed renaming assets in the Content Browser. The renamed asset is correctly sorted into position and scrolled into view. Removed the problems with assets being duplicated in the asset view.
#ttp 339563 - ContentBrowser: Renaming assets sometimes displays 2 assets with same name
#ttp 339737 - CRASH: EDITOR: Editor crashing when changing names of several assets one after another
#branch UE4
#proj Editor.ContentBrowser
#change Changed SAssetView::ProcessRecentlyAddedAssets to note if any filtered asset items have been added while iterating through the FilteredRecentlyAddedAssets list, and if so to perform a quick refresh at the end (so that the view is refreshed, and a sort is forced).
#change In SAssetView::OnAssetRemoved, remove AssetData from the RecentlyAddedAssets list if it is there.
#change In SAssetView::ProcessRecentlyAddedAssets, when we add something to the AssetItems list, also add it to the ExistingObjectPaths set so that duplicate items aren't added to the FilteredAssetItems list.  When filtering newly added assets, always process them in the same tick.
#change Added RequestAddNewAssetsImmediately, to override the delay in adding newly added items (used by Rename so that the effects are instant).
#reviewedby Bob.Tellez, Max.Preussner

[CL 2122077 by Richard TalbotWatkin in Main branch]
2014-06-30 16:04:21 -04:00
Andrew Brown
97baebcdae Asset View now supports secondary sorting
#UDN: Feature suggestion; Content browser can sort by a second column

#branch UE4

#change
Added two new images for secondary sort ascending and descending.
(Updated styles where needed).

Added new enum EColumnSortPriority: currently only lists Primary and Secondary, but can easily accommodate more*.
(FOnSortModeChanged was modified to also have the priority as a param, fixedup existing usage).

SHeaderRow now also has a SortPriority attribute to specify the SortMode order
(Defaults to Primary if unused).

Modified TUniquePtr so that assigning one from another worked correctly.
(Reviewed by Steve Robb).

SAssetView is the only table that has been modified, so far, to take advantage of the secondary sort. SetMajorityAssetType has been updated to correctly filter out all those sorts which are no longer relevant and bump the priority of the remaining sorts to fill in the ægapsÆ made by non-longer-relevant ones.

FAssetViewSortManager has been overhauled to take SortPriority into consideration when sortingà
Firstly, duplicate comparison structs were removed in favour of single structs which have æascendingÆ as a paramà any remaining duplicate code was removed in favour of an inherited usage. The base struct has an array of æfurther methodsÆ to employ in the result of a tie. Should a tie occur the ænextÆ comparison is done, and so on until itÆs not a tie or we run out of comparisons to perform.*
The manager defaults to having no secondary sort, so it relies on the interface thatÆs using it to provide it.
Whenever a column is assign the code makes sure that itÆs not already assigned to another column and corrects the order to take this into account.

Fixed a bug in FCompareFAssetItemByTagNumericalAscending comparing A with A (instead of B).
Various optimizations to the sort to descrease times

*The only places æSecondaryÆ is referred to in code is in GetSortingBrush (so it can display the correct icon for the sort), and OnTitleClicked (so it can set to correct sort based on input). The sorting code itself has no concept as to a secondary sort, it can support any number of sorting levels so if in future a tertiary (or more) is added, it is only these two function which should need updating as the sort will automatically accommodate it.

reviewed by Thomas.Sarkanen, Bob.Tellez

[CL 2119201 by Andrew Brown in Main branch]
2014-06-27 04:30:08 -04:00
Richard TalbotWatkin
6f4abeddc8 Prohibited classes from being dragged into a Collection.
#ttp 339146 - EDITOR: Content Browser: Can't delete classes from collections
#branch UE4
#proj Editor.ContentBrowser
#add Added extra checks in SAssetView::OnDrop and SAssetView::OnDragOver to prevent class assets from being added to Collections.
#reviewedby Chris.Wood

[CL 2114885 by Richard TalbotWatkin in Main branch]
2014-06-24 01:48:53 -04:00
Bob Tellez
231f2ad165 UE4: Many content browser perf improvements and cleanups.
Removed all FAssetPickerConfig options that were not used by anything.
Package dirty refreshes are now managed entirely by FFrontendFilter_Modified, and only apply while the filter is enabled.
List refreshes have once again been split into SLOW source item refreshes and FAST frontend refreshes. Only use the slow refresh when source items change!
Replaced some usage of RemoveAt with RemoveAtSwap when appropriate. A lot of this code is very performance sensitive.
Text filtering is now done via a FFrontendFilter.
Consolidated the "show other developers" filter into a single FFrontendFilter.
There is no such thing as "Dynamic Filters" anymore. Only FrontendFilters.

#codereview Matt.Kuhlenschmidt

[CL 2108677 by Bob Tellez in Main branch]
2014-06-17 19:52:49 -04:00
Richard TalbotWatkin
e743ca8712 Content browser refreshes when package dirty state is updated.
#ttp 334481 - Regression: EDITOR: Content Browser: If you have the modified filter enabled and then save a modified asset, the asset is still visible in the browser
#branch UE4
#proj Editor.ContentBrowser
#add SAssetView registers a delegate with UPackage::PackageDirtyStateUpdatedEvent so that it can be refreshed.
#reviewedby Chris.Wood, Max.Preussner

[CL 2088030 by Richard TalbotWatkin in Main branch]
2014-05-29 17:36:00 -04:00
Bob Tellez
2004035699 UE4: Another small fix caught by static code analysis
[CL 2082556 by Bob Tellez in Main branch]
2014-05-22 19:11:00 -04:00
Bob Tellez
50685c5dff UE4: Fixed a bug where unloaded assets were not dragable in the content browser.
[CL 2075589 by Bob Tellez in Main branch]
2014-05-16 11:12:52 -04:00
Bob Tellez
ee55183e2b UE4: Removed many unnecessary checks in the editor to special-case assets found in umap files.
[CL 2073723 by Bob Tellez in Main branch]
2014-05-14 22:02:10 -04:00
Max Preussner
4664956156 Delegates: Cleaned up abusive/legacy usages of the Delegate API
Please use AddRaw, AddSP, AddUObject, , BindRaw, BindSP, RemoveAll, Unbind etc.

[CL 2068405 by Max Preussner in Main branch]
2014-05-09 14:02:33 -04:00
Michael Noland
1f34ce9e19 Core: Change FCoreDelegates::OnObjectPropertyChanged to take the property change event as an additional parameter
[CL 2066450 by Michael Noland in Main branch]
2014-05-07 22:17:44 -04:00
Phillip Kavan
cc24ba4eeb Remove internal "SKEL_*" classes from the class picker.
- Modified FKismetEditorUtilities::CanCreateBlueprintFromClass() to return false if the input class is a BP skeleton class.
- Modified FKismetEditorUtilities::IsClassABlueprintSkeleton() to incorporate the alternative class flags check in case the SkeletonGeneratedClass has not yet been loaded during serialization.
- Replaced individual occurrences of the alternative class flags skeleton class check with FKismetEditorUtilities::IsClassABlueprintSkeleton() instead (for consistency and per discussion).

[CL 2063239 by Phillip Kavan in Main branch]
2014-05-05 01:38:12 -04:00
Andrew Brown
15c505e13b Content Browser: Enter and SpaceBar keys can now be remapped.
#ttp 333671 - EDITOR: Content Browser: Customizable shortcut for opening assets and folders

#branch UE4

#add Added two new commands so that the Enter and SpaceBar functionality can be remapped.

#change Renamed EAssetTypeActivationMethod types so they don't mention which key was used, but the action that key performed.

reviewed by Thomas.Sarkanen

[CL 2059964 by Andrew Brown in Main branch]
2014-04-30 10:58:31 -04:00
Andrew Copland
26a350742e Further limit the game name length (20 characters), predict the cooking path length and limit the naming length accordingly.
#ttp 332328 Content Browser: Need new warnings about long relative path lengths for assets
#proj Editor
#branch UE4
reviewed by Thomas.Sarkanen

[CL 2055478 by Andrew Copland in Main branch]
2014-04-24 10:58:49 -04:00
Robert Manuszewski
aa11e3bbbf Merging UE4-Pretest @ 2042161 to UE4
Change 1996384 by Andrew Brown:
	322252 - EDITOR: Asset picker displays incorrect text when there are no filter results.
Change 1996385 by Andrew Brown:
	321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize()
Change 1996977 by Andrew Brown:
	309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint
Change 2034873 by Jaroslaw Palczynski:
	More robust VS installation detection.
Change 2039693 by Jaroslaw Palczynski:
	327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables
Change 1978978 by Jaroslaw Surowiec:
	- Removed obsolete AllowEliminatingReferences from the FArchive
Change 2020326 by Maciej Mroz:
	pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins
Change 2017608 by Maciej Mroz:
	pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo
Change 2017463 by Maciej Mroz:
	PinTypeSelector can lins unloaded UDStructs
Change 2019979 by Maciej Mroz:
	pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes
Change 2024469 by Maciej Mroz:
	MemberReference variable added to PinType. It's necessary for delegate's signature.
Change 2024049 by Maciej Mroz:
	HasExternalBlueprintDependencies added to UK2Node_DynamicCast
Change 2024586 by Maciej Mroz:
	FillSimpleMemberReference fix
Change 2024472 by Maciej Mroz:
	workaround for delegates signature in pintype removed.
Change 2023997 by Maciej Mroz:
	BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo.
Change 2021934 by Maciej Mroz:
	typo in a comment
Change 2020355 by Maciej Mroz:
	Back out changelist 2020342
Change 2022178 by Maciej Mroz:
	CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint
Change 2021958 by Maciej Mroz:
	CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint
Change 1986247 by Maciej Mroz:
	User Defined Structures: circle dependency fixed. Early version.
Change 1985107 by Maciej Mroz:
	UserDefinedStruct cannot have a field of a non-native type
Change 1986278 by Maciej Mroz:
	pretest ensureMsgf in Struct::link
Change 1986250 by Maciej Mroz:
	User Defined Struct: Non native classes are accepted types od values in structures.
Change 1980955 by Maciej Mroz:
	Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed.
Change 2041215 by Maciej Mroz:
	ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD.
Change 1984316 by Maciej Mroz:
	New User Defined Structure. WIP - there are still problems with circular dependencies.
Change 2011616 by Maciej Mroz:
	UserDefinedStructures - various problems fixed.
Change 2011609 by Maciej Mroz:
	more robust HasExternalBlueprintDependencies implementation
Change 2016697 by Maciej Mroz:
	pretest BP: UDStruct - default value propagation in cooked build
Change 2016288 by Maciej Mroz:
	pretest BP: UDStruct: Renaming variables wont break links from make/break nodes
Change 1987637 by Maciej Mroz:
	CustomStruct icons placeholders
Change 1987422 by Maciej Mroz:
	Better tooltips for variables in MyBlueprint
Change 1991387 by Maciej Mroz:
	UDStructures fixes:
Change 2029165 by Maciej Mroz:
	BP: better comment for incomatible pins
Change 2030016 by Maciej Mroz:
	8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints
Change 2030017 by Maciej Mroz:
	Unused UDStructure code removed (PPF_UseDefaultsForUDStructures)
Change 2028856 by Maciej Mroz:
	BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible).
Change 2026701 by Maciej Mroz:
	k2: odd error on an add item node within a function (see attached image in details)
Change 2028160 by Maciej Mroz:
	PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory
Change 2028165 by Maciej Mroz:
	BP: BreakHitResult function has proper icon.
Change 2033340 by Maciej Mroz:
	ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables
Change 2034255 by Maciej Mroz:
	EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620
Change 2037682 by Maciej Mroz:
	ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint
Change 2033142 by Maciej Mroz:
	CreateDelegate Node uses internally FMemberReference. Refactor.
Change 2032329 by Maciej Mroz:
	ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint
Change 2032420 by Maciej Mroz:
	ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables
Change 2033139 by Maciej Mroz:
	Functions generated from CustomEvents can be also identified by GUID
Change 2026631 by Maciej Mroz:
	BP. UDStruct: Invalid structs are handled better.
Change 2025344 by Maciej Mroz:
	UDStruct enabled by default
Change 2026672 by Maciej Mroz:
	EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes
Change 2026411 by Maciej Mroz:
	ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error.
Change 2025342 by Maciej Mroz:
	GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked.
Change 2025570 by Steve Robb:
	Moved dependency processing to its own function.
Change 2033235 by Steve Robb:
	String improvements
Change 2035830 by Steve Robb:
	Workaround for FriendsAndChat crash in Fortnite.
Change 2035115 by Steve Robb:
	UBT build time regression fixes.
Change 2034162 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2034181 by Steve Robb:
	Removal of any references to .generated.inl
Change 2020165 by Steve Robb:
	BuildPublicAndPrivateUObjectHeaders factored out into its own function.
Change 2020187 by Steve Robb:
	CreateModuleCompileEnvironment function factored out.
Change 2020055 by Steve Robb:
	Refactoring of Unity.cs to remove complex and duplicate iteration.
Change 2020083 by Steve Robb:
	Another use of dictionary utilities.
Change 2031049 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2025728 by Steve Robb:
	Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function.
Change 2020068 by Steve Robb:
	A couple of helpful utility functions for populating dictionaries.
Change 2032307 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere

[CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
Nick Darnell
a67b8adbd0 * The thumbnail range slider is now based on the vertical resolution instead of the horizontal. That way users using the unified desktop driver stuff wont have a 8K monitor causing their thumbnails to be gigantic.
[CL 2046586 by Nick Darnell in Main branch]
2014-04-23 18:51:13 -04:00
Gareth Martin
88ea7759fd #TTP 332018 - Regression: EDITOR: LANDSCAPE: CRASH: Choosing a landscape material before creation and then closing the editor will result in a crash
#proj UE4

#summary Fixed crash when closing new landscape dialog with a material selected

[CL 2044063 by Gareth Martin in Main branch]
2014-04-23 18:24:49 -04:00
Andrew Rodham
07b90d1da2 #ttp 331268 - SLATE: Replace instances of DragDrop::IsTypeMatch with FDragDropEvent::GetOperationAs()
#summary  Replaced instances of DragDrop::IsTypeMatch with FDragDropEvent::GetOperationAs()
#note Please change any instances of DragDrop::IsTypeMatch for the templated FDragDropEvent::GetOperationAs<>() or FDragDropOperation::IsOfType<>() where necessary
#proj Editor
#branch UE4
#reviewedby Nick.Atamas

[CL 2042222 by Andrew Rodham in Main branch]
2014-04-23 18:00:50 -04:00
Nick Darnell
b96d695522 * FDragDropOperation now inherits from TSharedFromThis, no need to do it on subclasses any more. I've removed it from the subclasses that were also doing it.
* FDecoratedDragDropOp's Hover text is now FText, instead of FString.

[CL 2041690 by Nick Darnell in Main branch]
2014-04-23 17:55:20 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00