@@ -106,8 +106,9 @@ TDelphiAIDevChatView = class(TDockableForm)
106106 FbtnUseCurrentUnitCodeWidth: Integer;
107107 FbtnCodeOnlyWidth: Integer;
108108 FbtnDefaultsQuestionsWidth: Integer;
109- procedure ReadFromFile ;
110- procedure WriteToFile ;
109+ FQuestionOnShow: string;
110+ procedure FillMemoReturnWithFile ;
111+ procedure SaveMemoReturnInFile ;
111112 procedure InitializeRichEditReturn ;
112113 procedure ProcessSend ;
113114 procedure AddResponseSimple (const AString: string);
@@ -125,9 +126,11 @@ TDelphiAIDevChatView = class(TDockableForm)
125126 procedure AddItemsPopupMenuQuestion ;
126127 procedure DoProcessClickInItemDefaultQuestions (ACodeOnly: Boolean; AQuestion: string);
127128 procedure ProcessWordWrap ;
129+ procedure ConfScreenOnCreate ;
128130 public
129131 constructor Create(AOwner: TComponent); override;
130132 destructor Destroy; override;
133+ property QuestionOnShow: string write FQuestionOnShow;
131134 end ;
132135
133136var
@@ -186,15 +189,15 @@ constructor TDelphiAIDevChatView.Create(AOwner: TComponent);
186189 FChat := TDelphiAIDevChat.Create;
187190 FSettings := FChat.Settings.GetInstance;
188191 FPopupMenuQuestions := TDelphiAIDevDefaultsQuestionsPopupMenu.Create;
192+ FQuestionOnShow := ' ' ;
189193
190- pnWait.Visible := False;
191- FbtnUseCurrentUnitCodeWidth := btnUseCurrentUnitCode.Width;
192- FbtnCodeOnlyWidth := btnCodeOnly.Width;
193- FbtnDefaultsQuestionsWidth := btnDefaultsQuestions.Width;
194+ Self.ConfScreenOnCreate;
195+ Self.FillMemoReturnWithFile; // //
194196end ;
195197
196198destructor TDelphiAIDevChatView.Destroy;
197199begin
200+ Self.SaveMemoReturnInFile; // //
198201 FPopupMenuQuestions.Free;
199202 FChat.Free;
200203 inherited ;
@@ -204,49 +207,65 @@ procedure TDelphiAIDevChatView.FormShow(Sender: TObject);
204207begin
205208 Self.ConfScreenOnShow;
206209 Self.InitializeRichEditReturn;
207- Self.ReadFromFile ;
210+ // // Self.FillMemoReturnWithFile ;
208211 Self.ProcessWordWrap;
209- // Self.GetSelectedBlockForQuestion;
210212
211213 Self.AddItemsPopupMenuQuestion;
214+
212215 TUtils.MemoFocusOnTheEnd(mmQuestion);
213216end ;
214217
215- procedure TDelphiAIDevChatView.AddItemsPopupMenuQuestion ;
218+ procedure TDelphiAIDevChatView.FormActivate (Sender: TObject) ;
216219begin
217- FPopupMenuQuestions
218- .ProcessClickInItem(DoProcessClickInItemDefaultQuestions)
219- .CreateMenus(pMenuQuestions);
220+ Self.ConfLabelCurrentAI;
221+
222+ if not FQuestionOnShow.Trim.IsEmpty then
223+ begin
224+ mmQuestion.Lines.Clear;
225+ mmQuestion.Lines.Add(FQuestionOnShow);
226+ FQuestionOnShow := ' ' ;
227+ end ;
220228end ;
221229
222- procedure TDelphiAIDevChatView.DoProcessClickInItemDefaultQuestions (
223- ACodeOnly: Boolean; AQuestion: string);
230+ procedure TDelphiAIDevChatView.ConfScreenOnCreate ;
224231begin
225- if ACodeOnly then
226- btnCodeOnly.ImageIndex := CodeOnly_ImageIndex_ON
227- else
228- btnCodeOnly.ImageIndex := CodeOnly_ImageIndex_OFF;
232+ mmReturn.Lines.Clear;
229233
230- mmQuestion.Lines.Add(AQuestion);
234+ pnWait.Visible := False;
235+ FbtnUseCurrentUnitCodeWidth := btnUseCurrentUnitCode.Width;
236+ FbtnCodeOnlyWidth := btnCodeOnly.Width;
237+ FbtnDefaultsQuestionsWidth := btnDefaultsQuestions.Width;
238+
239+ ShapeCommands.Left := 0 ;
240+ ShapeCommands.Top := 0 ;
241+ ShapeCommands.Width := ShapeCommands.Parent.Width;
242+ ShapeCommands.Height := ShapeCommands.Parent.Height;
231243end ;
232244
233245procedure TDelphiAIDevChatView.ConfScreenOnShow ;
234246begin
235247 TUtilsOTA.IDEThemingAll(TDelphiAIDevChatView, Self);
236- Self.Constraints.MinWidth := 150 ;
237- Self.Constraints.MinHeight := 150 ;
238-
239248 btnMoreActions.Font.Color := TUtilsOTA.ActiveThemeColorDefault;
240249
241- ShapeCommands.Left := 0 ;
242- ShapeCommands.Top := 0 ;
243- ShapeCommands.Width := ShapeCommands.Parent.Width;
244- ShapeCommands.Height := ShapeCommands.Parent.Height;
250+ Self.Constraints.MinWidth := 200 ;
251+ Self.Constraints.MinHeight := 300 ;
245252end ;
246253
247- procedure TDelphiAIDevChatView.FormActivate (Sender: TObject) ;
254+ procedure TDelphiAIDevChatView.AddItemsPopupMenuQuestion ;
248255begin
249- Self.ConfLabelCurrentAI;
256+ FPopupMenuQuestions
257+ .ProcessClickInItem(DoProcessClickInItemDefaultQuestions)
258+ .CreateMenus(pMenuQuestions);
259+ end ;
260+
261+ procedure TDelphiAIDevChatView.DoProcessClickInItemDefaultQuestions (ACodeOnly: Boolean; AQuestion: string);
262+ begin
263+ if ACodeOnly then
264+ btnCodeOnly.ImageIndex := CodeOnly_ImageIndex_ON
265+ else
266+ btnCodeOnly.ImageIndex := CodeOnly_ImageIndex_OFF;
267+
268+ mmQuestion.Lines.Add(AQuestion);
250269end ;
251270
252271procedure TDelphiAIDevChatView.mmQuestionChange (Sender: TObject);
@@ -268,7 +287,7 @@ procedure TDelphiAIDevChatView.mmQuestionKeyDown(Sender: TObject; var Key: Word;
268287
269288procedure TDelphiAIDevChatView.mmQuestionKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState);
270289begin
271- if (ssCtrl in Shift)and (Key = 65 )then
290+ if (ssCtrl in Shift)and (Key = 65 ) then
272291 begin
273292 mmQuestion.SelectAll;
274293 Key := 0 ;
@@ -277,7 +296,7 @@ procedure TDelphiAIDevChatView.mmQuestionKeyUp(Sender: TObject; var Key: Word; S
277296
278297procedure TDelphiAIDevChatView.FormClose (Sender: TObject; var Action: TCloseAction);
279298begin
280- Self.WriteToFile ;
299+ // // Self.SaveMemoReturnInFile ;
281300 Self.WaitingFormOFF;
282301end ;
283302
@@ -323,20 +342,20 @@ procedure TDelphiAIDevChatView.FormResize(Sender: TObject);
323342 end ;
324343end ;
325344
326- procedure TDelphiAIDevChatView.ReadFromFile ;
345+ procedure TDelphiAIDevChatView.FillMemoReturnWithFile ;
327346begin
328347 if (FileExists(TUtils.GetPathFileChat))then
329348 mmReturn.Lines.LoadFromFile(TUtils.GetPathFileChat)
330349end ;
331350
332- procedure TDelphiAIDevChatView.SelectAll1Click (Sender: TObject) ;
351+ procedure TDelphiAIDevChatView.SaveMemoReturnInFile ;
333352begin
334- mmReturn.SelectAll ;
353+ mmReturn.Lines.SaveToFile(TUtils.GetPathFileChat) ;
335354end ;
336355
337- procedure TDelphiAIDevChatView.WriteToFile ;
356+ procedure TDelphiAIDevChatView.SelectAll1Click (Sender: TObject) ;
338357begin
339- mmReturn.Lines.SaveToFile(TUtils.GetPathFileChat) ;
358+ mmReturn.SelectAll ;
340359end ;
341360
342361procedure TDelphiAIDevChatView.cBoxSizeFontKeyPress (Sender: TObject; var Key: Char);
@@ -678,7 +697,7 @@ procedure TDelphiAIDevChatView.btnMoreActionsClick(Sender: TObject);
678697
679698procedure TDelphiAIDevChatView.InitializeRichEditReturn ;
680699begin
681- mmReturn.Lines.Clear;
700+ // mmReturn.Lines.Clear;
682701 mmReturn.SelAttributes.Name := ' Courier New' ;
683702 mmReturn.SelAttributes.Size := 10 ;
684703
0 commit comments