Files
UnrealEngineUWP/Engine/Source/Editor/LocalizationDashboard/Private/SLocalizationTargetEditor.cpp
Chris Gagnon 8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00

36 lines
1.6 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "SLocalizationTargetEditor.h"
#include "Modules/ModuleManager.h"
#include "IDetailsView.h"
#include "LocalizationTargetTypes.h"
#include "LocalizationConfigurationScript.h"
#include "PropertyEditorModule.h"
void SLocalizationTargetEditor::Construct(const FArguments& InArgs, ULocalizationTargetSet* const InProjectSettings, ULocalizationTarget* const InLocalizationTarget, const FIsPropertyEditingEnabled& IsPropertyEditingEnabled)
{
check(InProjectSettings->TargetObjects.Contains(InLocalizationTarget));
LocalizationTarget = InLocalizationTarget;
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
FDetailsViewArgs DetailsViewArgs(false, false, false, FDetailsViewArgs::ENameAreaSettings::HideNameArea, false, nullptr, false, NAME_None);
TSharedRef<IDetailsView> DetailsView = PropertyModule.CreateDetailView(DetailsViewArgs);
DetailsView->SetObject(InLocalizationTarget, true);
DetailsView->SetIsPropertyEditingEnabledDelegate(IsPropertyEditingEnabled);
DetailsView->OnFinishedChangingProperties().AddSP(this, &SLocalizationTargetEditor::OnFinishedChangingProperties);
ChildSlot
[
DetailsView
];
}
void SLocalizationTargetEditor::OnFinishedChangingProperties(const FPropertyChangedEvent& InEvent)
{
if (ULocalizationTarget* LocalizationTargetPtr = LocalizationTarget.Get())
{
// Update the exported gather INIs for this target to reflect the new settings
LocalizationConfigurationScript::GenerateAllConfigFiles(LocalizationTargetPtr);
}
}