@@ -55,6 +55,11 @@ TMenuActionsContainer = class(TDataModule)
55
55
odFMXModule: TOpenDialog;
56
56
actNewBlankProject: TAction;
57
57
actNewProject: TAction;
58
+ actSmartDeployProject: TAction;
59
+ actSmartRunCurrentProject: TAction;
60
+ actSmartDeployCurrentProjectAsync: TAction;
61
+ actSmartRunCurrentProjectAsync: TAction;
62
+ actSmartDebugCurrentProjectAsync: TAction;
58
63
procedure actUpdateEnvironmentExecute (Sender: TObject);
59
64
procedure actUpdateCurrentProjectExecute (Sender: TObject);
60
65
procedure actBuildCurrentProjectExecute (Sender: TObject);
@@ -77,6 +82,11 @@ TMenuActionsContainer = class(TDataModule)
77
82
procedure actSaveAllStateExecute (Sender: TObject);
78
83
procedure actNewBlankProjectExecute (Sender: TObject);
79
84
procedure actNewProjectExecute (Sender: TObject);
85
+ procedure actSmartDeployProjectExecute (Sender: TObject);
86
+ procedure actSmartRunCurrentProjectExecute (Sender: TObject);
87
+ procedure actSmartDeployCurrentProjectAsyncExecute (Sender: TObject);
88
+ procedure actSmartRunCurrentProjectAsyncExecute (Sender: TObject);
89
+ procedure actSmartDebugCurrentProjectAsyncExecute (Sender: TObject);
80
90
private
81
91
// Async control
82
92
FLoadingProject: integer;
@@ -317,6 +327,63 @@ procedure TMenuActionsContainer.actSaveStateExecute(Sender: TObject);
317
327
TSaveStateEvent.Create(TSaveState.Save));
318
328
end ;
319
329
330
+ procedure TMenuActionsContainer.actSmartDebugCurrentProjectAsyncExecute (
331
+ Sender: TObject);
332
+ begin
333
+ TMessagery.BroadcastEventAsync(TMessageEvent.Create(true));
334
+ FBuilderServices.RunAsync(procedure(AProxy: IBuilderTasks) begin
335
+ FProjectServices.GetActiveProject().Debugger := TDebugger.DebugPy;
336
+ AProxy.SmartBuildActiveProject();
337
+ AProxy.SmartDeployActiveProject();
338
+ AProxy.DebugActiveProject(FDebuggerServices);
339
+ end );
340
+ end ;
341
+
342
+ procedure TMenuActionsContainer.actSmartDeployCurrentProjectAsyncExecute (
343
+ Sender: TObject);
344
+ begin
345
+ TMessagery.BroadcastEventAsync(TMessageEvent.Create(true));
346
+ FBuilderServices.RunAsync(procedure(AProxy: IBuilderTasks) begin
347
+ FProjectServices.GetActiveProject().Debugger := TDebugger.None;
348
+ AProxy.SmartBuildActiveProject();
349
+ AProxy.SmartDeployActiveProject();
350
+ end );
351
+ end ;
352
+
353
+ procedure TMenuActionsContainer.actSmartDeployProjectExecute (Sender: TObject);
354
+ begin
355
+ TMessagery.BroadcastEventAsync(TMessageEvent.Create(true));
356
+ FBuilderServices.Run(procedure(AProxy: IBuilderTasks) begin
357
+ FProjectServices.GetActiveProject().Debugger := TDebugger.None;
358
+ AProxy.SmartBuildActiveProject();
359
+ AProxy.SmartDeployActiveProject();
360
+ end );
361
+ end ;
362
+
363
+ procedure TMenuActionsContainer.actSmartRunCurrentProjectAsyncExecute (
364
+ Sender: TObject);
365
+ begin
366
+ TMessagery.BroadcastEventAsync(TMessageEvent.Create(true));
367
+ FBuilderServices.RunAsync(procedure(AProxy: IBuilderTasks) begin
368
+ FProjectServices.GetActiveProject().Debugger := TDebugger.DebugPy;
369
+ AProxy.SmartBuildActiveProject();
370
+ AProxy.SmartDeployActiveProject();
371
+ AProxy.RunActiveProject();
372
+ end );
373
+ end ;
374
+
375
+ procedure TMenuActionsContainer.actSmartRunCurrentProjectExecute (
376
+ Sender: TObject);
377
+ begin
378
+ TMessagery.BroadcastEventAsync(TMessageEvent.Create(true));
379
+ FBuilderServices.Run(procedure(AProxy: IBuilderTasks) begin
380
+ FProjectServices.GetActiveProject().Debugger := TDebugger.None;
381
+ AProxy.SmartBuildActiveProject();
382
+ AProxy.SmartDeployActiveProject();
383
+ AProxy.RunActiveProject();
384
+ end );
385
+ end ;
386
+
320
387
procedure TMenuActionsContainer.actStepInExecute (Sender: TObject);
321
388
begin
322
389
FDebuggerServices.StepIn();
0 commit comments