@@ -151,6 +151,8 @@ destructor TSaveInfoMgr.Destroy;
151151end ;
152152
153153procedure  TSaveInfoMgr.DoExecute ;
154+ resourcestring
155+   sDlgCaption = ' Save Snippet Information for %s' 
154156var 
155157  Encoding: TEncoding;        //  encoding to use for output file
156158  FileContent: string;        //  output file content before encoding
@@ -164,6 +166,9 @@ procedure TSaveInfoMgr.DoExecute;
164166    1 
165167  );
166168  fSaveDlg.FileName := fSourceFileInfo.DefaultFileName;
169+   fSaveDlg.Title := Format(sDlgCaption, [
170+     (fView as  ISnippetView).Snippet.DisplayName]
171+   );
167172  //  Display dialog box and save file if user OKs
168173  if  fSaveDlg.Execute then 
169174  begin 
@@ -268,20 +273,13 @@ constructor TSaveInfoMgr.InternalCreate(AView: IView);
268273const 
269274  DlgHelpKeyword = ' SnippetInfoFileDlg' 
270275resourcestring
271-   sDefFileName = ' SnippetInfo' 
272-   sDlgCaption = ' Save Snippet Information' 
273-   //  descriptions of supported encodings
274-   sASCIIEncoding = ' ASCII' 
275-   sANSIDefaultEncoding = ' ANSI (Default)' 
276-   sUTF8Encoding = ' UTF-8' 
277-   sUTF16LEEncoding = ' Unicode (Little Endian)' 
278-   sUTF16BEEncoding = ' Unicode (Big Endian)' 
279276  //  descriptions of supported file filter strings
280277  sRTFDesc = ' Rich text file' 
281278  sTextDesc = ' Plain text file' 
282279  sHTML5Desc = ' HTML 5 file' 
283280  sXHTMLDesc = ' XHTML file' 
284281  sMarkdownDesc = ' Markdown file' 
282+ 
285283begin 
286284  inherited  InternalCreate;
287285  fView := AView;
@@ -290,50 +288,34 @@ constructor TSaveInfoMgr.InternalCreate(AView: IView);
290288  fSourceFileInfo.FileTypeInfo[sfRTF] := TSourceFileTypeInfo.Create(
291289    ' .rtf' 
292290    sRTFDesc,
293-     [
294-       TSourceFileEncoding.Create(etASCII, sASCIIEncoding)
295-     ]
291+     [etASCII]
296292  );
297293  fSourceFileInfo.FileTypeInfo[sfText] := TSourceFileTypeInfo.Create(
298294    ' .txt' 
299295    sTextDesc,
300-     [
301-       TSourceFileEncoding.Create(etUTF8, sUTF8Encoding),
302-       TSourceFileEncoding.Create(etUTF16LE, sUTF16LEEncoding),
303-       TSourceFileEncoding.Create(etUTF16BE, sUTF16BEEncoding),
304-       TSourceFileEncoding.Create(etSysDefault, sANSIDefaultEncoding)
305-     ]
296+     [etUTF8, etUTF16LE, etUTF16BE, etSysDefault]
306297  );
307298  fSourceFileInfo.FileTypeInfo[sfHTML5] := TSourceFileTypeInfo.Create(
308299    ' .html' 
309300    sHTML5Desc,
310-     [
311-       TSourceFileEncoding.Create(etUTF8, sUTF8Encoding)
312-     ]
301+     [etUTF8]
313302  );
314-   fSourceFileInfo.DefaultFileName := sDefFileName;
315303  fSourceFileInfo.FileTypeInfo[sfXHTML] := TSourceFileTypeInfo.Create(
316304    ' .html' 
317305    sXHTMLDesc,
318-     [
319-       TSourceFileEncoding.Create(etUTF8, sUTF8Encoding)
320-     ]
306+     [etUTF8]
321307  );
322-   fSourceFileInfo.DefaultFileName := sDefFileName;
323308  fSourceFileInfo.FileTypeInfo[sfMarkdown] := TSourceFileTypeInfo.Create(
324309    ' .md' 
325310    sMarkdownDesc,
326-     [
327-       TSourceFileEncoding.Create(etUTF8, sUTF8Encoding),
328-       TSourceFileEncoding.Create(etUTF16LE, sUTF16LEEncoding),
329-       TSourceFileEncoding.Create(etUTF16BE, sUTF16BEEncoding),
330-       TSourceFileEncoding.Create(etSysDefault, sANSIDefaultEncoding)
331-     ]
311+     [etUTF8, etUTF16LE, etUTF16BE, etSysDefault]
332312  );
333-   fSourceFileInfo.DefaultFileName := sDefFileName;
313+ 
314+   //  set default file name without converting to valid Pascal identifier
315+   fSourceFileInfo.RequirePascalDefFileName := False;
316+   fSourceFileInfo.DefaultFileName := fView.Description;
334317
335318  fSaveDlg := TSaveSourceDlg.Create(nil );
336-   fSaveDlg.Title := sDlgCaption;
337319  fSaveDlg.HelpKeyword := DlgHelpKeyword;
338320  fSaveDlg.CommentStyle := TCommentStyle.csNone;
339321  fSaveDlg.EnableCommentStyles := False;
0 commit comments