@@ -1335,7 +1335,6 @@ TMainForm = class(TExtForm)
13351335 QueryTabs: TQueryTabList;
13361336 ActiveObjectEditor: TDBObjectEditor;
13371337 FileEncodings: TStringList;
1338- ImportSettingsDone: Boolean;
13391338
13401339 // Data grid related stuff
13411340 DataGridHiddenColumns: TStringList;
@@ -2234,7 +2233,6 @@ procedure TMainForm.AfterFormCreate;
22342233 StatsCall: THttpDownload;
22352234 SessionPaths: TStringlist;
22362235 DlgResult: TModalResult;
2237- SessionManager: TConnForm;
22382236begin
22392237 if AppSettings.ReadBool(asUpdatecheck) then begin
22402238 // Do an updatecheck if checked in settings
@@ -2347,11 +2345,11 @@ procedure TMainForm.AfterFormCreate;
23472345 // Display session manager
23482346 if Connections.Count = 0 then begin
23492347 // Cannot be done in OnCreate because we need ready forms here:
2350- SessionManager := TConnForm.Create(Self);
2348+ connform := TConnForm.Create(Self);
23512349 DlgResult := mrCancel;
23522350 try
2353- DlgResult := SessionManager .ShowModal;
2354- SessionManager.Free ;
2351+ DlgResult := connform .ShowModal;
2352+ FreeAndNil(connform) ;
23552353 except
23562354 // Work around VCL bug: Suppress access violation in TCustomForm.IsFormSizeStored
23572355 // when closing dialog via Alt+F4
@@ -2637,12 +2635,10 @@ procedure TMainForm.TimerStoreTabsTimer(Sender: TObject);
26372635
26382636
26392637procedure TMainForm.actSessionManagerExecute(Sender: TObject);
2640- var
2641- Dialog: TConnForm;
26422638begin
2643- Dialog := TConnForm.Create(Self);
2644- Dialog .ShowModal;
2645- Dialog.Free ;
2639+ connform := TConnForm.Create(Self);
2640+ connform .ShowModal;
2641+ FreeAndNil(connform) ;
26462642end;
26472643
26482644
@@ -2651,7 +2647,6 @@ procedure TMainForm.actDisconnectExecute(Sender: TObject);
26512647 Connection: TDBConnection;
26522648 Node: PVirtualNode;
26532649 DlgResult: Integer;
2654- Dialog: TConnForm;
26552650begin
26562651 // Disconnect active connection. If it's the last, exit application
26572652 Connection := ActiveConnection;
@@ -2662,9 +2657,9 @@ procedure TMainForm.actDisconnectExecute(Sender: TObject);
26622657 // TODO: focus last session?
26632658 SelectNode(DBtree, GetNextNode(DBtree, nil));
26642659 if FConnections.Count = 0 then begin
2665- Dialog := TConnForm.Create(Self);
2666- DlgResult := Dialog .ShowModal;
2667- Dialog.Free ;
2660+ connform := TConnForm.Create(Self);
2661+ DlgResult := connform .ShowModal;
2662+ FreeAndNil(connform) ;
26682663 if DlgResult = mrCancel then
26692664 actExitApplication.Execute;
26702665 end;
@@ -3204,15 +3199,16 @@ procedure TMainForm.actImportSettingsExecute(Sender: TObject);
32043199 Dialog := TOpenDialog.Create(Self);
32053200 Dialog.Title := f_('Import %s settings from file ...', [APPNAME]);
32063201 Dialog.Filter := _('Text files')+' (*.txt)|*.txt|'+_('Registry dump, deprecated')+' (*.reg)|*.reg|'+_('All files')+' (*.*)|*.*';
3207- ImportSettingsDone := False;
32083202 if Dialog.Execute then try
32093203 if LowerCase(ExtractFileExt(Dialog.FileName)) = 'reg' then
32103204 ShellExec('regedit.exe', '', '"'+Dialog.FileName+'"')
3211- else begin
3205+ else
32123206 AppSettings.ImportSettings(Dialog.FileName);
3213- MessageDialog(f_('Settings successfully restored from %s', [Dialog.FileName]), mtInformation, [mbOK]);
3207+ // Refresh in session manager per timer interval
3208+ if Assigned(connform) then begin
3209+ connform.timerSettingsImport.Enabled := True;
32143210 end;
3215- ImportSettingsDone := True ;
3211+ MessageDialog(f_('Settings successfully restored from %s', [Dialog.FileName]), mtInformation, [mbOK]) ;
32163212 except
32173213 on E:Exception do
32183214 ErrorDialog(E.Message);
0 commit comments