@@ -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