Issue #1503: replace remaining usages of TOpenTextFileDialog with new TExtFileOpenDialog

This commit is contained in:
Ansgar Becker
2022-02-06 13:49:09 +01:00
parent 919c73ef06
commit 26baa5eb0d
4 changed files with 24 additions and 15 deletions

View File

@@ -40,6 +40,7 @@ type
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure AddFileType(FileMask, DisplayName: String);
property Encodings: TStringList read FEncodings write FEncodings;
property EncodingIndex: Integer read FEncodingIndex write FEncodingIndex default 0;
end;
@@ -394,6 +395,17 @@ begin
end;
procedure TExtFileOpenDialog.AddFileType(FileMask, DisplayName: String);
var
FileType: TFileTypeItem;
begin
// Shorthand for callers
FileType := FileTypes.Add;
FileType.DisplayName := DisplayName;
FileType.FileMask := FileMask;
end;
procedure TExtFileOpenDialog.DoOnExecute;
var
iCustomize: IFileDialogCustomize;

View File

@@ -658,13 +658,15 @@ end;
procedure Tloaddataform.btnOpenFileClick(Sender: TObject);
var
Dialog: TOpenTextFileDialog;
Dialog: TExtFileOpenDialog;
TestStream: TFileStream;
begin
AppSettings.ResetPath;
Dialog := TOpenTextFileDialog.Create(Self);
Dialog.Filter := _('CSV files')+' (*.csv)|*.csv|'+_('Text files')+' (*.txt)|*.txt|'+_('All files')+' (*.*)|*.*';
Dialog.DefaultExt := 'csv';
Dialog := TExtFileOpenDialog.Create(Self);
Dialog.AddFileType('*.csv', _('CSV files'));
Dialog.AddFileType('*.txt', _('Text files'));
Dialog.AddFileType('*.*', _('All files'));
Dialog.DefaultExtension := 'csv';
Dialog.Encodings.Assign(Mainform.FileEncodings);
Dialog.EncodingIndex := AppSettings.ReadInt(asFileDialogEncoding, Self.Name);
if Dialog.Execute then begin

View File

@@ -3882,19 +3882,14 @@ procedure TMainForm.actLoadSQLExecute(Sender: TObject);
var
i, ProceedResult: Integer;
Dialog: TExtFileOpenDialog;
FileType: TFileTypeItem;
Encoding: TEncoding;
Tab: TQueryTab;
begin
AppSettings.ResetPath;
Dialog := TExtFileOpenDialog.Create(Self);
Dialog.Options := Dialog.Options + [fdoAllowMultiSelect];
FileType := Dialog.FileTypes.Add;
FileType.DisplayName := _('SQL files');
FileType.FileMask := '*.sql';
FileType := Dialog.FileTypes.Add;
FileType.DisplayName := _('All files');
FileType.FileMask := '*.*';
Dialog.AddFileType('*.sql', _('SQL files'));
Dialog.AddFileType('*.*', _('All files'));
Dialog.DefaultExtension := 'sql';
Dialog.Encodings.Assign(FileEncodings);
Dialog.EncodingIndex := AppSettings.ReadInt(asFileDialogEncoding, Self.Name);

View File

@@ -333,12 +333,12 @@ end;
procedure TfrmTextEditor.btnLoadTextClick(Sender: TObject);
var
d: TOpenTextFileDialog;
d: TExtFileOpenDialog;
begin
AppSettings.ResetPath;
d := TOpenTextFileDialog.Create(Self);
d.Filter := _('Text files')+' (*.txt)|*.txt|'+_('All files')+' (*.*)|*.*';
d.FilterIndex := 0;
d := TExtFileOpenDialog.Create(Self);
d.AddFileType('*.txt', _('Text files'));
d.AddFileType('*.*', _('All files'));
d.Encodings.Assign(MainForm.FileEncodings);
d.EncodingIndex := AppSettings.ReadInt(asFileDialogEncoding, Self.Name);
if d.Execute then try