mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Disable non working column default values for given data type. Fixes issue #1519.
This commit is contained in:
@ -1117,20 +1117,29 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
function TColumnDefaultEditorLink.PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; stdcall;
|
function TColumnDefaultEditorLink.PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; stdcall;
|
||||||
|
var
|
||||||
|
DataTypeCategory: TDataTypeCategoryIndex;
|
||||||
begin
|
begin
|
||||||
inherited PrepareEdit(Tree, Node, Column);
|
inherited PrepareEdit(Tree, Node, Column);
|
||||||
|
|
||||||
case DefaultType of
|
// Check relevant radio button
|
||||||
cdtNothing: FRadioNothing.Checked := True;
|
FRadioNothing.Checked := DefaultType = cdtNothing;
|
||||||
cdtText, cdtTextUpdateTS: begin
|
FRadioText.Checked := DefaultType in [cdtText, cdtTextUpdateTS];
|
||||||
FRadioText.Checked := True;
|
FRadioNull.Checked := DefaultType in [cdtNull, cdtNullUpdateTS];
|
||||||
FMemoText.Text := DefaultText;
|
FRadioCurTS.Checked := DefaultType in [cdtCurTS, cdtCurTSUpdateTS];
|
||||||
end;
|
|
||||||
cdtNull, cdtNullUpdateTS: FRadioNull.Checked := True;
|
|
||||||
cdtCurTS, cdtCurTSUpdateTS: FRadioCurTS.Checked := True;
|
|
||||||
cdtAutoInc: FRadioAutoInc.Checked := True;
|
|
||||||
end;
|
|
||||||
FCheckCurTS.Checked := DefaultType in [cdtTextUpdateTS, cdtNullUpdateTS, cdtCurTSUpdateTS];
|
FCheckCurTS.Checked := DefaultType in [cdtTextUpdateTS, cdtNullUpdateTS, cdtCurTSUpdateTS];
|
||||||
|
FRadioAutoInc.Checked := DefaultType = cdtAutoInc;
|
||||||
|
|
||||||
|
if FRadioText.Checked then
|
||||||
|
FMemoText.Text := DefaultText;
|
||||||
|
|
||||||
|
// Disable non working default options per data type
|
||||||
|
// But leave checked option enabled, regardless of if that is a valid default option or not
|
||||||
|
DataTypeCategory := Datatypes[Integer(Datatype)].Category;
|
||||||
|
FRadioCurTS.Enabled := FRadioCurTS.Checked or (DataType = dtTimestamp);
|
||||||
|
FCheckCurTS.Enabled := FCheckCurTS.Checked or FRadioCurTS.Enabled;
|
||||||
|
FRadioAutoInc.Enabled := FRadioAutoInc.Checked or (DataTypeCategory = dtcInteger);
|
||||||
|
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -1250,6 +1250,7 @@ begin
|
|||||||
DefaultEditor := TColumnDefaultEditorLink.Create(VT);
|
DefaultEditor := TColumnDefaultEditorLink.Create(VT);
|
||||||
DefaultEditor.DefaultText := Col.DefaultText;
|
DefaultEditor.DefaultText := Col.DefaultText;
|
||||||
DefaultEditor.DefaultType := Col.DefaultType;
|
DefaultEditor.DefaultType := Col.DefaultType;
|
||||||
|
DefaultEditor.DataType := Col.DataType.Index;
|
||||||
EditLink := DefaultEditor;
|
EditLink := DefaultEditor;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user