Files
UnrealEngineUWP/Engine/Source/Editor/LocalizationDashboard/Private/SLocalizationTargetEditor.cpp
Ryan Vance 7c51ff94af Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
CL 1 of 8
#rb integration

[CL 4748712 by Ryan Vance in Dev-VR branch]
2019-01-17 18:54:05 -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);
}
}