1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include "DesktopPlatformModule.h"
FString OpenDirectoryWindow(FString Title, FString DefaultPath) { FString outStr = TEXT("");
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get(); if (DesktopPlatform) { bool bOpened = DesktopPlatform->OpenDirectoryDialog( FSlateApplication::Get().FindBestParentWindowHandleForDialogs(nullptr), Title, DefaultPath, outStr); } return outStr; }
FString OpenFileWindow(FString Title, FString DefaultPath, FString DefaultFile, FString FileTypes) { TArray<FString> OpenedFiles; FString outStr = TEXT("");
IDesktopPlatform* DesktopPlatform = FDesktopPlatformModule::Get(); if (DesktopPlatform) { bool bOpened = DesktopPlatform->OpenFileDialog( FSlateApplication::Get().FindBestParentWindowHandleForDialogs(nullptr), Title, DefaultPath, DefaultFile, FileTypes, EFileDialogFlags::None, OpenedFiles);
if (bOpened && OpenedFiles.Num() > 0) { outStr = *OpenedFiles.Last(); } } return outStr; }
|