Skip to content

Commit 2339a13

Browse files
committed
feat ( #37 ) : saving settings for cleaner configs
- now cleaner configs automatically saved if any property changed
1 parent 6931a34 commit 2339a13

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

ProjectCleaner.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"FileVersion": 3,
33
"Version": 1,
4-
"VersionName": "1.6.0",
4+
"VersionName": "1.7.0",
55
"FriendlyName": "ProjectCleaner",
6-
"Description": "UE4 plugin for managing unused assets in project.",
6+
"Description": "Unreal engine plugin for managing all unused assets and empty folders in project",
77
"Category": "ProjectManagementTools",
88
"CreatedBy": "Ashot Barkhudaryan",
99
"CreatedByURL": "https://github.com/ashe23",

Source/ProjectCleaner/Private/Core/ProjectCleanerManager.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ FProjectCleanerManager::FProjectCleanerManager()
1717
CleanerConfigs = GetMutableDefault<UCleanerConfigs>();
1818

1919
ensure(CleanerConfigs);
20+
21+
CleanerConfigs->LoadConfig();
2022
}
2123

2224
FProjectCleanerManager::~FProjectCleanerManager()
@@ -40,6 +42,8 @@ void FProjectCleanerManager::Update()
4042
{
4143
OnCleanerManagerUpdated.Execute();
4244
}
45+
46+
CleanerConfigs->PostEditChange();
4347
}
4448

4549
void FProjectCleanerManager::ExcludeSelectedAssets(const TArray<FAssetData>& Assets)

Source/ProjectCleaner/Public/StructsContainer.h

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,29 @@ class ICleanerUIActions
2323
virtual int32 DeleteEmptyFolders() = 0;
2424
};
2525

26-
UCLASS(Transient)
26+
UCLASS(Transient, Config=EditorPerProjectUserSettings)
2727
class UCleanerConfigs : public UObject
2828
{
2929
GENERATED_BODY()
3030
public:
31-
UPROPERTY(DisplayName = "Scan Developer Content", EditAnywhere, Category = "CleanerConfigs", meta = (ToolTip = "Scan assets in 'Developers' folder. By Default false"))
31+
UPROPERTY(DisplayName = "Scan Developer Content", EditAnywhere, Config, Category = "CleanerConfigs", meta = (ToolTip = "Scan assets in 'Developers' folder. By Default false"))
3232
bool bScanDeveloperContents = false;
3333

34-
UPROPERTY(DisplayName = "Delete Empty Folders After Assets Deleted", EditAnywhere, Category = "CleanerConfigs")
34+
UPROPERTY(DisplayName = "Delete Empty Folders After Assets Deleted", EditAnywhere, Config, Category = "CleanerConfigs")
3535
bool bAutomaticallyDeleteEmptyFolders = true;
3636

37-
UPROPERTY(DisplayName = "Paths", EditAnywhere, Category = "CleanerConfigs|ExcludeOptions", meta = (ContentDir))
37+
UPROPERTY(DisplayName = "Paths", EditAnywhere, Config, Category = "CleanerConfigs|ExcludeOptions", meta = (ContentDir))
3838
TArray<FDirectoryPath> Paths;
3939

40-
UPROPERTY(DisplayName = "Classes", EditAnywhere, Category = "CleanerConfigs|ExcludeOptions")
40+
UPROPERTY(DisplayName = "Classes", EditAnywhere, Config, Category = "CleanerConfigs|ExcludeOptions")
4141
TArray<UClass*> Classes;
42+
43+
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override
44+
{
45+
Super::PostEditChangeProperty(PropertyChangedEvent);
46+
47+
SaveConfig();
48+
}
4249
};
4350

4451
UCLASS(Transient)

0 commit comments

Comments
 (0)