@@ -1128,6 +1128,11 @@ begin
if DefaultExtension <> '' then
FFilename += DefaultExtension;
end;
+ if not FileManager.IsValidFileName(FFilename) and IsSaveDialog then
+ begin
+ ShowMessage(rsInvalidName);
+ exit;
+ end;
if FileManager.FileExists(FFilename) and IsSaveDialog and OverwritePrompt then
begin
if QuestionDlg(rsSave, rsOverwriteFile, mtConfirmation, [mrOk, rsOkay, mrCancel, rsCancel],0) <> mrOk then exit;
@@ -88,6 +88,7 @@ type
AResult: TFileInfoList; AFileSortType: TFileSortType = fstNone);
function IsDirectory(APathUTF8: string): boolean;
function IsDirectoryEmpty(APathUTF8: string): boolean;
+ function IsValidFileName(AName: string): boolean;
procedure CreateDirectory(APathUTF8: string);
function DeleteDirectory(APathUTF8: string): boolean;
function FileExists(AFilenameUTF8: string): boolean;
@@ -1137,6 +1138,11 @@ begin
result := true;
+function TFileManager.IsValidFileName(AName: string): boolean;
+begin
+ result := AName = GetValidFilename(AName);
+end;
+
procedure TFileManager.CreateDirectory(APathUTF8: string);
var
str: TStream;