File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -784,6 +784,7 @@ object fmMain: TfmMain
784784 DisableIfNoHandler = False
785785 Hint = 'Move selected task up'
786786 ImageIndex = 2
787+ OnExecute = acMoveTaskUpExecute
787788 OnUpdate = acTaskToolbarUpdate
788789 end
789790 object acMoveTaskDown: TAction
@@ -792,6 +793,7 @@ object fmMain: TfmMain
792793 DisableIfNoHandler = False
793794 Hint = 'Move selected task down'
794795 ImageIndex = 1
796+ OnExecute = acMoveTaskDownExecute
795797 OnUpdate = acTaskToolbarUpdate
796798 end
797799 object acTaskDelete: TAction
Original file line number Diff line number Diff line change @@ -73,6 +73,8 @@ TfmMain = class(TForm)
7373 procedure acChainPostExecute (Sender: TObject);
7474 procedure acChainRefreshExecute (Sender: TObject);
7575 procedure acChainToolbarUpdate (Sender: TObject);
76+ procedure acMoveTaskDownExecute (Sender: TObject);
77+ procedure acMoveTaskUpExecute (Sender: TObject);
7678 procedure acTaskAddExecute (Sender: TObject);
7779 procedure acTaskCancelExecute (Sender: TObject);
7880 procedure acTaskDeleteExecute (Sender: TObject);
@@ -235,6 +237,40 @@ procedure TfmMain.acChainToolbarUpdate(Sender: TObject);
235237 acChainRefresh.Enabled := CanModify;
236238end ;
237239
240+ procedure TfmMain.acMoveTaskDownExecute (Sender: TObject);
241+ var idx: integer;
242+ begin
243+ with dmPgEngine do
244+ begin
245+ gridTasks.BeginUpdate;
246+ try
247+ idx := qryTasks.RecNo;
248+ MoveTaskDown(qryTasks.FieldByName(' task_id' ).AsInteger);
249+ qryTasks.Refresh;
250+ qryTasks.RecNo := idx + 1 ;
251+ finally
252+ gridTasks.EndUpdate();
253+ end ;
254+ end ;
255+ end ;
256+
257+ procedure TfmMain.acMoveTaskUpExecute (Sender: TObject);
258+ var idx: integer;
259+ begin
260+ with dmPgEngine do
261+ begin
262+ gridTasks.BeginUpdate;
263+ try
264+ idx := qryTasks.RecNo;
265+ MoveTaskUp(qryTasks.FieldByName(' task_id' ).AsInteger);
266+ qryTasks.Refresh;
267+ qryTasks.RecNo := idx - 1 ;
268+ finally
269+ gridTasks.EndUpdate();
270+ end ;
271+ end ;
272+ end ;
273+
238274procedure TfmMain.acChainAddExecute (Sender: TObject);
239275begin
240276 dmPgEngine.qryChains.Append;
Original file line number Diff line number Diff line change @@ -37,6 +37,8 @@ TdmPgEngine = class(TDataModule)
3737 function IsCronValueValid (const S: string): boolean;
3838 function IsConnected : boolean;
3939 function SelectSQL (const sql: string): string;
40+ procedure MoveTaskUp (const ATaskID: integer);
41+ procedure MoveTaskDown (const ATaskID: integer);
4042 end ;
4143
4244var
@@ -205,4 +207,14 @@ function TdmPgEngine.SelectSQL(const sql: string): string;
205207 end ;
206208end ;
207209
210+ procedure TdmPgEngine.MoveTaskUp (const ATaskID: integer);
211+ begin
212+ PQConn.ExecuteDirect(Format(' SELECT timetable.move_task_up(%d)' , [ATaskID]));
213+ end ;
214+
215+ procedure TdmPgEngine.MoveTaskDown (const ATaskID: integer);
216+ begin
217+ PQConn.ExecuteDirect(Format(' SELECT timetable.move_task_down(%d)' , [ATaskID]));
218+ end ;
219+
208220end .
You can’t perform that action at this time.
0 commit comments