From e505b54bdd2c694b3bb1f253db19c4ff085c1667 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Mon, 21 Feb 2022 17:35:25 +0100 Subject: [PATCH] Issue #1503: fix unsaved setup of columns in lists on object editors (table + routine editors effectively are the only ones with lists) --- source/apphelpers.pas | 2 +- source/event_editor.pas | 8 -------- source/routine_editor.pas | 18 +++++++++--------- source/table_editor.pas | 24 ++++++++++++------------ 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/source/apphelpers.pas b/source/apphelpers.pas index 336cbc66..2aa93a82 100644 --- a/source/apphelpers.pas +++ b/source/apphelpers.pas @@ -41,7 +41,7 @@ type constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Init(Obj: TDBObject); virtual; - function DeInit: TModalResult; + function DeInit: TModalResult; virtual; property Modified: Boolean read FModified write SetModified; function ApplyModifications: TModalResult; virtual; abstract; end; diff --git a/source/event_editor.pas b/source/event_editor.pas index fdec2c85..c55faece 100644 --- a/source/event_editor.pas +++ b/source/event_editor.pas @@ -62,7 +62,6 @@ type public { Public declarations } constructor Create(AOwner: TComponent); override; - destructor Destroy; override; procedure Init(Obj: TDBObject); override; function ApplyModifications: TModalResult; override; end; @@ -84,13 +83,6 @@ begin end; -destructor TfrmEventEditor.Destroy; -begin - // Store GUI setup? Nothing yet. - inherited; -end; - - procedure TfrmEventEditor.Init(Obj: TDBObject); var CreateCode, DateExpr: String; diff --git a/source/routine_editor.pas b/source/routine_editor.pas index 134b4780..8dd92325 100644 --- a/source/routine_editor.pas +++ b/source/routine_editor.pas @@ -85,8 +85,8 @@ type { Public declarations } Parameters: TRoutineParamList; constructor Create(AOwner: TComponent); override; - destructor Destroy; override; procedure Init(Obj: TDBObject); override; + function DeInit: TModalResult; override; function ApplyModifications: TModalResult; override; end; @@ -117,14 +117,6 @@ begin end; -destructor TfrmRoutineEditor.Destroy; -begin - // Store GUI setup - TExtForm.SaveListSetup(listParameters); - inherited; -end; - - procedure TfrmRoutineEditor.Init(Obj: TDBObject); var i: Integer; @@ -191,6 +183,14 @@ begin end; +function TfrmRoutineEditor.DeInit: TModalResult; +begin + // Store GUI setup + TExtForm.SaveListSetup(listParameters); + Result := inherited; +end; + + procedure TfrmRoutineEditor.Modification(Sender: TObject); begin Modified := True; diff --git a/source/table_editor.pas b/source/table_editor.pas index 4aea2dcc..4c5f15d0 100644 --- a/source/table_editor.pas +++ b/source/table_editor.pas @@ -225,8 +225,8 @@ type public { Public declarations } constructor Create(AOwner: TComponent); override; - destructor Destroy; override; procedure Init(Obj: TDBObject); override; + function DeInit: TModalResult; override; function ApplyModifications: TModalResult; override; end; @@ -255,17 +255,6 @@ begin 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); var AttrName, AttrValue: String; @@ -415,6 +404,17 @@ begin 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); begin // Reinit GUI, discarding changes