diff --git a/source/data_sorting.pas b/source/data_sorting.pas index 6baaea39..9ff9368a 100644 --- a/source/data_sorting.pas +++ b/source/data_sorting.pas @@ -26,6 +26,9 @@ type FColumnNames: TStringList; FSortItems: TSortItems; FOldOrderClause: String; + FDeleteTimer: TTimer; + FDeleteButtonPressed: TButton; + procedure DeleteTimerTimer(Sender: TObject); procedure comboColumnsChange(Sender: TObject); procedure btnOrderClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject); @@ -57,6 +60,11 @@ begin FSortItems.Assign(MainForm.DataGridSortItems); FOldOrderClause := FSortItems.ComposeOrderClause(MainForm.ActiveConnection); + FDeleteTimer := TTimer.Create(Self); + FDeleteTimer.Interval := 100; + FDeleteTimer.Enabled := False; + FDeleteTimer.OnTimer := DeleteTimerTimer; + // First creation of controls DisplaySortingControls(Sender); end; @@ -236,11 +244,16 @@ end; Delete order column } procedure TfrmDataSorting.btnDeleteClick(Sender: TObject); -var - btn: TButton; begin - btn := Sender as TButton; - FSortItems.Delete(btn.Tag-1); + FDeleteButtonPressed := Sender as TButton; + FDeleteTimer.Enabled := True; +end; + + +procedure TfrmDataSorting.DeleteTimerTimer(Sender: TObject); +begin + FDeleteTimer.Enabled := False; + FSortItems.Delete(FDeleteButtonPressed.Tag-1); // Refresh controls DisplaySortingControls(Self); // Enables OK button