Add "check/uncheck all" button to column selector in textfile import dialog. See http://www.heidisql.com/forum.php?t=13566

This commit is contained in:
Ansgar Becker
2014-11-08 14:28:42 +00:00
parent 0725da854f
commit 2c7cf7ace0
2 changed files with 40 additions and 1 deletions

View File

@@ -355,7 +355,7 @@ object loaddataform: Tloaddataform
Left = 245
Top = 91
Width = 23
Height = 44
Height = 66
Align = alNone
Anchors = [akTop, akRight]
AutoSize = True
@@ -375,8 +375,16 @@ object loaddataform: Tloaddataform
Top = 22
Caption = 'btnColDown'
ImageIndex = 75
Wrap = True
OnClick = btnColMoveClick
end
object btnCheckAll: TToolButton
Left = 0
Top = 44
Caption = 'Select / Deselect all'
ImageIndex = 128
OnClick = btnCheckAllClick
end
end
end
end

View File

@@ -52,6 +52,7 @@ type
chkLowPriority: TCheckBox;
chkLocalNumbers: TCheckBox;
chkTruncateTable: TCheckBox;
btnCheckAll: TToolButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure editFilenameChange(Sender: TObject);
@@ -67,6 +68,7 @@ type
procedure comboEncodingSelect(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure chklistColumnsClick(Sender: TObject);
procedure btnCheckAllClick(Sender: TObject);
private
{ Private declarations }
Encoding: TEncoding;
@@ -616,11 +618,40 @@ end;
procedure Tloaddataform.chklistColumnsClick(Sender: TObject);
var
i, CheckedNum: Integer;
begin
btnColDown.Enabled := (chklistColumns.ItemIndex > -1)
and (chklistColumns.ItemIndex < chklistColumns.Count-1);
btnColUp.Enabled := (chklistColumns.ItemIndex > -1)
and (chklistColumns.ItemIndex > 0);
// Toggle icon when none is selected
CheckedNum := 0;
for i:=0 to chklistColumns.Items.Count-1 do begin
if chklistColumns.Checked[i] then
Inc(CheckedNum);
end;
if CheckedNum < chklistColumns.Items.Count then
btnCheckAll.ImageIndex := 128
else
btnCheckAll.ImageIndex := 127;
end;
procedure Tloaddataform.btnCheckAllClick(Sender: TObject);
var
i, CheckedNum: Integer;
begin
CheckedNum := 0;
for i:=0 to chklistColumns.Items.Count-1 do begin
if chklistColumns.Checked[i] then
Inc(CheckedNum);
end;
if CheckedNum < chklistColumns.Items.Count then
chklistColumns.CheckAll(cbChecked)
else
chklistColumns.CheckAll(cbUnchecked);
chklistColumns.OnClick(Sender);
end;