Implement "Yes, overwrite all and don't ask me again about that" button in export to directory, see rfe #880

This commit is contained in:
Ansgar Becker
2009-02-14 13:48:53 +00:00
parent 64fbf61e5b
commit 049f709f36

View File

@ -99,6 +99,7 @@ type
private private
{ Private declarations } { Private declarations }
SelectedTables: TWideStringList; SelectedTables: TWideStringList;
DoOverwriteAll: Boolean;
function InitFileStream(TableName: String; OldStream: TFileStream = nil): TFileStream; function InitFileStream(TableName: String; OldStream: TFileStream = nil): TFileStream;
public public
{ Public declarations } { Public declarations }
@ -284,6 +285,7 @@ begin
validateControls(Sender); validateControls(Sender);
generateExampleSQL; generateExampleSQL;
DoOverwriteAll := False;
end; end;
@ -422,6 +424,7 @@ end;
function TExportSQLForm.InitFileStream(TableName: String; OldStream: TFileStream = nil): TFileStream; function TExportSQLForm.InitFileStream(TableName: String; OldStream: TFileStream = nil): TFileStream;
var var
UnparsedFileName, ParsedFileName, FileName, FilePath : String; UnparsedFileName, ParsedFileName, FileName, FilePath : String;
dlgResult: Integer;
begin begin
Result := nil; Result := nil;
@ -460,9 +463,12 @@ begin
OldStream.Free; OldStream.Free;
// Warn about overwriting target file // Warn about overwriting target file
if FileExists(ParsedFileName) then begin if FileExists(ParsedFileName) and (not DoOverwriteAll) then begin
if MessageDlg('Overwrite file "'+ParsedFileName+'" ?', mtConfirmation, [mbYes, mbCancel], 0 ) <> mrYes then dlgResult := MessageDlg('Overwrite file "'+ParsedFileName+'" ?', mtConfirmation, [mbYes, mbYesToAll, mbCancel], 0 );
Exit; if dlgResult = mrCancel then
Exit
else
DoOverwriteAll := dlgResult = mrYesToAll;
end; end;
// Create the file // Create the file