@@ -60,7 +60,9 @@ TDelphiCopilotChatView = class(TDockableForm)
6060 ShapeCommands: TShape;
6161 btnSend: TButton;
6262 pMenuMoreActions: TPopupMenu;
63- CreateNewUnitWithSelectedCode1: TMenuItem;
63+ SaveContentToFile1: TMenuItem;
64+ btnCreateNewUnit: TSpeedButton;
65+ ClearContent1: TMenuItem;
6466 procedure FormShow (Sender: TObject);
6567 procedure cBoxSizeFontKeyPress (Sender: TObject; var Key: Char);
6668 procedure Cut1Click (Sender: TObject);
@@ -79,7 +81,9 @@ TDelphiCopilotChatView = class(TDockableForm)
7981 procedure Gemini1Click (Sender: TObject);
8082 procedure pMenuCurrentAIPopup (Sender: TObject);
8183 procedure btnMoreActionsClick (Sender: TObject);
82- procedure CreateNewUnitWithSelectedCode1Click (Sender: TObject);
84+ procedure SaveContentToFile1Click (Sender: TObject);
85+ procedure btnCreateNewUnitClick (Sender: TObject);
86+ procedure ClearContent1Click (Sender: TObject);
8387 private
8488 FChat: TDelphiCopilotChat;
8589 FSettings: TDelphiCopilotSettings;
@@ -92,6 +96,7 @@ TDelphiCopilotChatView = class(TDockableForm)
9296 procedure AddResponseLine (const ALineStr: string);
9397 procedure Last ;
9498 function GetSelectedTextOrAll : string;
99+ function GetSelectedTextOrAllOrAbort : string;
95100 procedure GetSelectedBlockForQuestion ;
96101 procedure WaitingFormOFF ;
97102 procedure WaitingFormON ;
@@ -466,15 +471,52 @@ function TDelphiCopilotChatView.GetSelectedTextOrAll: string;
466471 Result := mmReturn.Lines.Text;
467472end ;
468473
469- procedure TDelphiCopilotChatView.btnCopyClick (Sender: TObject) ;
474+ function TDelphiCopilotChatView.GetSelectedTextOrAllOrAbort : string ;
470475begin
471- Clipboard.AsText := Self.GetSelectedTextOrAll;
476+ Result := Self.GetSelectedTextOrAll;
477+ if Result.Trim.IsEmpty then
478+ TUtils.ShowMsgAndAbort(' There is no data to be used in this action' );
472479end ;
473480
474481procedure TDelphiCopilotChatView.btnInsertAtCursorClick (Sender: TObject);
482+ var
483+ LText: string;
475484begin
485+ LText := Self.GetSelectedTextOrAllOrAbort;
476486 TUtilsOTA.DeleteBlockTextSelectedInEditor;
477- TUtilsOTA.InsertBlockTextIntoEditor(Self.GetSelectedTextOrAll);
487+ TUtilsOTA.InsertBlockTextIntoEditor(LText);
488+ end ;
489+
490+ procedure TDelphiCopilotChatView.btnCopyClick (Sender: TObject);
491+ var
492+ LText: string;
493+ begin
494+ LText := Self.GetSelectedTextOrAllOrAbort;
495+ Clipboard.AsText := LText;
496+ end ;
497+
498+ procedure TDelphiCopilotChatView.btnCreateNewUnitClick (Sender: TObject);
499+ var
500+ LText: string;
501+ begin
502+ LText := Self.GetSelectedTextOrAllOrAbort;
503+ TDelphiCopilotModuleCreator.New.CreateNewUnit(LText);
504+ end ;
505+
506+ procedure TDelphiCopilotChatView.SaveContentToFile1Click (Sender: TObject);
507+ var
508+ LFileName: string;
509+ begin
510+ Self.GetSelectedTextOrAllOrAbort;
511+
512+ LFileName := TUtils.GetFileName(' rtf' );
513+ mmReturn.Lines.SaveToFile(LFileName);
514+ TUtils.ShowV(' File saved successfully' );
515+ end ;
516+
517+ procedure TDelphiCopilotChatView.ClearContent1Click (Sender: TObject);
518+ begin
519+ mmReturn.Lines.Clear;
478520end ;
479521
480522procedure TDelphiCopilotChatView.btnMoreActionsClick (Sender: TObject);
@@ -536,11 +578,6 @@ procedure TDelphiCopilotChatView.Gemini1Click(Sender: TObject);
536578 Self.ConfLabelCurrentAI;
537579end ;
538580
539- procedure TDelphiCopilotChatView.CreateNewUnitWithSelectedCode1Click (Sender: TObject);
540- begin
541- TDelphiCopilotModuleCreator.New.CreateNewUnit(Self.GetSelectedTextOrAll);
542- end ;
543-
544581initialization
545582
546583finalization
0 commit comments