mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-26 20:50:20 +08:00
Cancel grid editors early enough on main tab changes. Fixes issue #1996.
This commit is contained in:
@ -564,6 +564,7 @@ object MainForm: TMainForm
|
|||||||
PopupMenu = popupMainTabs
|
PopupMenu = popupMainTabs
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnChange = PageControlMainChange
|
OnChange = PageControlMainChange
|
||||||
|
OnChanging = PageControlMainChanging
|
||||||
OnContextPopup = PageControlMainContextPopup
|
OnContextPopup = PageControlMainContextPopup
|
||||||
OnMouseUp = PageControlMainMouseUp
|
OnMouseUp = PageControlMainMouseUp
|
||||||
object tabHost: TTabSheet
|
object tabHost: TTabSheet
|
||||||
|
@ -560,6 +560,7 @@ type
|
|||||||
Sender: TObject; var CurrentInput: String; var x, y: Integer;
|
Sender: TObject; var CurrentInput: String; var x, y: Integer;
|
||||||
var CanExecute: Boolean);
|
var CanExecute: Boolean);
|
||||||
procedure PageControlMainChange(Sender: TObject);
|
procedure PageControlMainChange(Sender: TObject);
|
||||||
|
procedure PageControlMainChanging(Sender: TObject; var AllowChange: Boolean);
|
||||||
procedure PageControlHostChange(Sender: TObject);
|
procedure PageControlHostChange(Sender: TObject);
|
||||||
procedure ValidateControls(Sender: TObject);
|
procedure ValidateControls(Sender: TObject);
|
||||||
procedure ValidateQueryControls(Sender: TObject);
|
procedure ValidateQueryControls(Sender: TObject);
|
||||||
@ -3957,7 +3958,6 @@ end;
|
|||||||
procedure TMainForm.PageControlMainChange(Sender: TObject);
|
procedure TMainForm.PageControlMainChange(Sender: TObject);
|
||||||
var
|
var
|
||||||
tab: TTabSheet;
|
tab: TTabSheet;
|
||||||
Grid: TVirtualStringTree;
|
|
||||||
begin
|
begin
|
||||||
tab := PageControlMain.ActivePage;
|
tab := PageControlMain.ActivePage;
|
||||||
|
|
||||||
@ -3982,7 +3982,13 @@ begin
|
|||||||
// Ensure controls are in a valid state
|
// Ensure controls are in a valid state
|
||||||
ValidateControls(Sender);
|
ValidateControls(Sender);
|
||||||
FixQueryTabCloseButtons;
|
FixQueryTabCloseButtons;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TMainForm.PageControlMainChanging(Sender: TObject; var AllowChange: Boolean);
|
||||||
|
var
|
||||||
|
Grid: TVirtualStringTree;
|
||||||
|
begin
|
||||||
// Leave editing mode on tab changes so the editor does not stay somewhere
|
// Leave editing mode on tab changes so the editor does not stay somewhere
|
||||||
Grid := ActiveGrid;
|
Grid := ActiveGrid;
|
||||||
if Assigned(Grid) and Grid.IsEditing then
|
if Assigned(Grid) and Grid.IsEditing then
|
||||||
|
Reference in New Issue
Block a user