Skip to content

Commit

Permalink
Refresh sorting controls per timer when user presses the delete butto…
Browse files Browse the repository at this point in the history
…n of one sorting. Fixes issue #520
  • Loading branch information
ansgarbecker committed Feb 3, 2024
1 parent 95151d6 commit 17f4cb2
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions source/data_sorting.pas
Expand Up @@ -26,6 +26,9 @@ TfrmDataSorting = class(TExtForm)
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);
Expand Down Expand Up @@ -57,6 +60,11 @@ procedure TfrmDataSorting.FormCreate(Sender: TObject);
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;
Expand Down Expand Up @@ -236,11 +244,16 @@ procedure TfrmDataSorting.btnOrderClick( Sender: TObject );
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
Expand Down

0 comments on commit 17f4cb2

Please sign in to comment.