Issue #1503: fix unsaved setup of columns in lists on object editors (table + routine editors effectively are the only ones with lists)

This commit is contained in:
Ansgar Becker
2022-02-21 17:35:25 +01:00
parent 17768f419b
commit e505b54bdd
4 changed files with 22 additions and 30 deletions

View File

@ -41,7 +41,7 @@ type
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
procedure Init(Obj: TDBObject); virtual; procedure Init(Obj: TDBObject); virtual;
function DeInit: TModalResult; function DeInit: TModalResult; virtual;
property Modified: Boolean read FModified write SetModified; property Modified: Boolean read FModified write SetModified;
function ApplyModifications: TModalResult; virtual; abstract; function ApplyModifications: TModalResult; virtual; abstract;
end; end;

View File

@ -62,7 +62,6 @@ type
public public
{ Public declarations } { Public declarations }
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Init(Obj: TDBObject); override; procedure Init(Obj: TDBObject); override;
function ApplyModifications: TModalResult; override; function ApplyModifications: TModalResult; override;
end; end;
@ -84,13 +83,6 @@ begin
end; end;
destructor TfrmEventEditor.Destroy;
begin
// Store GUI setup? Nothing yet.
inherited;
end;
procedure TfrmEventEditor.Init(Obj: TDBObject); procedure TfrmEventEditor.Init(Obj: TDBObject);
var var
CreateCode, DateExpr: String; CreateCode, DateExpr: String;

View File

@ -85,8 +85,8 @@ type
{ Public declarations } { Public declarations }
Parameters: TRoutineParamList; Parameters: TRoutineParamList;
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Init(Obj: TDBObject); override; procedure Init(Obj: TDBObject); override;
function DeInit: TModalResult; override;
function ApplyModifications: TModalResult; override; function ApplyModifications: TModalResult; override;
end; end;
@ -117,14 +117,6 @@ begin
end; end;
destructor TfrmRoutineEditor.Destroy;
begin
// Store GUI setup
TExtForm.SaveListSetup(listParameters);
inherited;
end;
procedure TfrmRoutineEditor.Init(Obj: TDBObject); procedure TfrmRoutineEditor.Init(Obj: TDBObject);
var var
i: Integer; i: Integer;
@ -191,6 +183,14 @@ begin
end; end;
function TfrmRoutineEditor.DeInit: TModalResult;
begin
// Store GUI setup
TExtForm.SaveListSetup(listParameters);
Result := inherited;
end;
procedure TfrmRoutineEditor.Modification(Sender: TObject); procedure TfrmRoutineEditor.Modification(Sender: TObject);
begin begin
Modified := True; Modified := True;

View File

@ -225,8 +225,8 @@ type
public public
{ Public declarations } { Public declarations }
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Init(Obj: TDBObject); override; procedure Init(Obj: TDBObject); override;
function DeInit: TModalResult; override;
function ApplyModifications: TModalResult; override; function ApplyModifications: TModalResult; override;
end; end;
@ -255,17 +255,6 @@ begin
end; end;
destructor TfrmTableEditor.Destroy;
begin
// Store GUI setup
TExtForm.SaveListSetup(listColumns);
TExtForm.SaveListSetup(treeIndexes);
TExtForm.SaveListSetup(listForeignKeys);
TExtForm.SaveListSetup(listCheckConstraints);
inherited;
end;
procedure TfrmTableEditor.Init(Obj: TDBObject); procedure TfrmTableEditor.Init(Obj: TDBObject);
var var
AttrName, AttrValue: String; AttrName, AttrValue: String;
@ -415,6 +404,17 @@ begin
end; end;
function TfrmTableEditor.DeInit: TModalResult;
begin
// Store GUI setup
TExtForm.SaveListSetup(listColumns);
TExtForm.SaveListSetup(treeIndexes);
TExtForm.SaveListSetup(listForeignKeys);
TExtForm.SaveListSetup(listCheckConstraints);
Result := inherited;
end;
procedure TfrmTableEditor.btnDiscardClick(Sender: TObject); procedure TfrmTableEditor.btnDiscardClick(Sender: TObject);
begin begin
// Reinit GUI, discarding changes // Reinit GUI, discarding changes