Files
UnrealEngineUWP/Engine/Source/Developer/DesktopPlatform/Private/Linux/DesktopPlatformLinux.h
Dmitry Rekman 187fa3c94e LinuxNativeDialogs: fix for a crash (UE-15091) and other improvements.
- LND will init/tear down backend DSOs cleanly.
- LND will attempt to detect the desktop environment and use appropriate backend class.
- Filters are fixed so GTK backend can parse them.
- LC_NUMERIC is forced to en_US to prevent comma vs. dot problems when parsing configs.
- Qt4 is tried before Qt5 as the latter can still crash on shutdown.

[CL 2546195 by Dmitry Rekman in Main branch]
2015-05-11 18:30:57 -04:00

44 lines
2.4 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "../DesktopPlatformBase.h"
class FDesktopPlatformLinux : public FDesktopPlatformBase
{
public:
// IDesktopPlatform Implementation
virtual bool OpenFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames) override;
virtual bool OpenFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames, int32& OutFilterIndex) override;
virtual bool SaveFileDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames) override;
virtual bool OpenDirectoryDialog(const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, FString& OutFolderName) override;
virtual bool OpenFontDialog(const void* ParentWindowHandle, FString& OutFontName, float& OutHeight, EFontImportFlags& OutFlags) override;
virtual bool CanOpenLauncher(bool Install) override;
virtual bool OpenLauncher(bool Install, FString CommandLineParams ) override;
virtual bool RegisterEngineInstallation(const FString &RootDir, FString &OutIdentifier) override;
virtual void EnumerateEngineInstallations(TMap<FString, FString> &OutInstallations) override;
virtual bool IsSourceDistribution(const FString &RootDir) override;
virtual bool VerifyFileAssociations() override;
virtual bool UpdateFileAssociations() override;
virtual bool OpenProject(const FString &ProjectFileName) override;
virtual bool RunUnrealBuildTool(const FText& Description, const FString& RootDir, const FString& Arguments, FFeedbackContext* Warn) override;
virtual bool IsUnrealBuildToolRunning() override;
virtual FFeedbackContext* GetNativeFeedbackContext() override;
virtual FString GetUserTempPath() override;
FDesktopPlatformLinux();
virtual ~FDesktopPlatformLinux();
private:
bool FileDialogShared(bool bSave, const void* ParentWindowHandle, const FString& DialogTitle, const FString& DefaultPath, const FString& DefaultFile, const FString& FileTypes, uint32 Flags, TArray<FString>& OutFilenames, int32& OutFilterIndex);
};
typedef FDesktopPlatformLinux FDesktopPlatform;