Skip to content

Commit 4f3cebc

Browse files
committed
bk/2024-06-15-0058
1 parent e5cf3e5 commit 4f3cebc

11 files changed

+52
-130
lines changed

Src/Chat/DelphiCopilot.Chat.View.pas

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,10 @@ procedure TDelphiCopilotChatView.pMenuCurrentAIPopup(Sender: TObject);
547547
Gemini1.Checked := False;
548548
ChatGPT1.Checked := False;
549549
case FSettings.AIDefault of
550-
TAIsAvailable.Gemini: Gemini1.Checked := True;
551-
TAIsAvailable.OpenAI: ChatGPT1.Checked := True;
550+
TC4DAIsAvailable.Gemini:
551+
Gemini1.Checked := True;
552+
TC4DAIsAvailable.OpenAI:
553+
ChatGPT1.Checked := True;
552554
end;
553555
end;
554556

@@ -557,9 +559,9 @@ procedure TDelphiCopilotChatView.ConfLabelCurrentAI;
557559
lbCurrentAI.Caption := FSettings.AIDefault.ToString;
558560

559561
case FSettings.AIDefault of
560-
TAIsAvailable.Gemini:
562+
TC4DAIsAvailable.Gemini:
561563
lbCurrentAI.Hint := FSettings.ModelGemini;
562-
TAIsAvailable.OpenAI:
564+
TC4DAIsAvailable.OpenAI:
563565
lbCurrentAI.Hint := FSettings.ModelOpenAI;
564566
end;
565567
end;
@@ -573,7 +575,7 @@ procedure TDelphiCopilotChatView.Gemini1Click(Sender: TObject);
573575
if not(LTag in [0, 1])then
574576
Exit;
575577

576-
FSettings.AIDefault := TAIsAvailable(LTag);
578+
FSettings.AIDefault := TC4DAIsAvailable(LTag);
577579
FSettings.SaveData;
578580
Self.ConfLabelCurrentAI;
579581
end;

Src/Chat/DelphiCopilot.Chat.pas

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ procedure TDelphiCopilotChat.ProcessSend(const AQuestion: string);
4848
FResponse.Clear;
4949

5050
case FSettings.AIDefault of
51-
TAIsAvailable.Gemini:
51+
TC4DAIsAvailable.Gemini:
5252
FResponse.Text := TDelphiCopilotAIGemini.New(FSettings).GetResponse(AQuestion);
53-
TAIsAvailable.OpenAI:
53+
TC4DAIsAvailable.OpenAI:
5454
FResponse.Text := TDelphiCopilotAIChatGPT.New(FSettings).GetResponse(AQuestion);
5555
else
5656
FResponse.Add('Default AI not reported in Copilot settings');

Src/Settings/DelphiCopilot.Settings.View.dfm

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ object DelphiCopilotSettingsView: TDelphiCopilotSettingsView
3737
Left = 18
3838
Top = 12
3939
Width = 80
40-
Height = 18
40+
Height = 13
4141
Cursor = crHandPoint
4242
Margins.Left = 16
4343
Margins.Top = 10
@@ -53,7 +53,6 @@ object DelphiCopilotSettingsView: TDelphiCopilotSettingsView
5353
ShowHint = True
5454
Layout = tlCenter
5555
OnClick = lbRestoreDefaultsClick
56-
ExplicitHeight = 13
5756
end
5857
object btnConfirm: TButton
5958
AlignWithMargins = True

Src/Settings/DelphiCopilot.Settings.View.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ procedure TDelphiCopilotSettingsView.LoadSettings;
199199

200200
procedure TDelphiCopilotSettingsView.SaveSettings;
201201
begin
202-
FSettings.AIDefault := TAIsAvailable(cBoxAIDefault.ItemIndex);
202+
FSettings.AIDefault := TC4DAIsAvailable(cBoxAIDefault.ItemIndex);
203203

204204
FSettings.ColorHighlightCodeDelphiUse := ckColorHighlightCodeDelphiUse.Checked;
205205
FSettings.ColorHighlightCodeDelphi := ColorBoxColorHighlightCodeDelphi.Selected;

Src/Settings/DelphiCopilot.Settings.pas

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ interface
1515
type
1616
TDelphiCopilotSettings = class
1717
private
18-
FAIDefault: TAIsAvailable;
18+
FAIDefault: TC4DAIsAvailable;
1919
FColorHighlightCodeDelphiUse: Boolean;
2020
FColorHighlightCodeDelphi: TColor;
2121

@@ -45,7 +45,7 @@ TDelphiCopilotSettings = class
4545
procedure SaveData;
4646
procedure LoadData;
4747

48-
property AIDefault: TAIsAvailable read FAIDefault write FAIDefault;
48+
property AIDefault: TC4DAIsAvailable read FAIDefault write FAIDefault;
4949
property ColorHighlightCodeDelphiUse: Boolean read FColorHighlightCodeDelphiUse write FColorHighlightCodeDelphiUse;
5050
property ColorHighlightCodeDelphi: TColor read FColorHighlightCodeDelphi write FColorHighlightCodeDelphi;
5151

@@ -78,7 +78,7 @@ constructor TDelphiCopilotSettings.Create;
7878

7979
procedure TDelphiCopilotSettings.LoadDefaults;
8080
begin
81-
FAIDefault := TAIsAvailable.Gemini;
81+
FAIDefault := TC4DAIsAvailable.Gemini;
8282

8383
FColorHighlightCodeDelphiUse := False;
8484
FColorHighlightCodeDelphi := clNone;
@@ -135,7 +135,7 @@ procedure TDelphiCopilotSettings.LoadData;
135135
Exit;
136136

137137
if LReg.ValueExists(FIELD_AIDefault) then
138-
FAIDefault := TAIsAvailable(LReg.ReadInteger(FIELD_AIDefault));
138+
FAIDefault := TC4DAIsAvailable(LReg.ReadInteger(FIELD_AIDefault));
139139

140140
//COLOR FOR HIGHLIGHT CODE DELPHI/PASCAL
141141
if LReg.ValueExists(FIELD_ColorHighlightCodeDelphiUse) then

Src/Test/Test.pas

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,4 @@ interface
44

55
implementation
66

7-
8-
97
end.

Src/Types/DelphiCopilot.Types.pas

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,26 @@ interface
88
System.TypInfo;
99

1010
type
11-
TDelphiCopilotMenuContextList = procedure(const MenuContextList: IInterfaceList) of object;
12-
TProcReplaceLine = reference to procedure(const ANumLine: Integer; const AStrLineOld, AStrLineNew: string);
13-
1411
{$SCOPEDENUMS ON}
15-
TAIsAvailable = (Gemini, OpenAI);
16-
TDelphiCopilotEscope = (FileCurrent = 0, FilesInGroup = 1, FilesInProject = 2, FilesOpened = 3, FilesInDirectories = 4);
12+
TC4DAIsAvailable = (Gemini, OpenAI);
1713
TC4DExtensionsFiles = (None, PAS, DFM, FMX, DPR, DPK, DPROJ, ZIP, BMP, INI, ALL);
1814
TC4DExtensionsOfFiles = set of TC4DExtensionsFiles;
19-
TC4DExtensionsCommons = (rtf);
20-
TDelphiCopilotListUsesKind = (Normal, Directiva);
21-
TDelphiCopilotFavorite = (None, Yes, No);
22-
TDelphiCopilotFileNotification = (None, FileOpened, FileClosing);
23-
TDelphiCopilotOpenExternalKind = (None, Files, Folders, Links, Separators, CMD, MenuMasterOnly);
24-
TDelphiCopilotIcon = (Information, Question, Warning, Error, Success);
15+
TC4DExtensionsCommon = (rtf);
16+
TC4DIcon = (Information, Question, Warning, Error, Success);
2517
TC4DButtons = (OK, OK_Cancel);
2618
TC4DBtnFocu = (OK, Cancel);
27-
TC4DMsgClear = (ALL, Compiler, Search, Tool);
28-
TC4DMsgsClear = set of TC4DMsgClear;
29-
TC4DTextIgnoreEscope = (None = 0, Line = 1, Word = 2);
3019
{$SCOPEDENUMS OFF}
3120

32-
TAIsAvailableHelper = record helper for TAIsAvailable
21+
TC4DAIsAvailableHelper = record helper for TC4DAIsAvailable
3322
function ToString: string;
3423
end;
3524

36-
TDelphiCopilotOpenExternalKindHelper = record helper for TDelphiCopilotOpenExternalKind
25+
TC4DExtensionsFilesHelper = record helper for TC4DExtensionsFiles
3726
function ToString: string;
27+
function ToStringWithPoint: string;
3828
end;
3929

40-
TC4DExtensionsFilesHelper = record helper for TC4DExtensionsFiles
30+
TC4DExtensionsCommonHelper = record helper for TC4DExtensionsCommon
4131
function ToString: string;
4232
function ToStringWithPoint: string;
4333
end;
@@ -52,25 +42,14 @@ implementation
5242
DelphiCopilot.Consts;
5343

5444
{ TAIsAvailableHelper }
55-
function TAIsAvailableHelper.ToString: string;
45+
function TC4DAIsAvailableHelper.ToString: string;
5646
begin
5747
case Self of
58-
TAIsAvailable.Gemini: Result := 'Gemini';
59-
TAIsAvailable.OpenAI: Result := 'ChatGPT';
48+
TC4DAIsAvailable.Gemini: Result := 'Gemini';
49+
TC4DAIsAvailable.OpenAI: Result := 'ChatGPT';
6050
end;
6151
end;
6252

63-
{TDelphiCopilotOpenExternalKindHelper}
64-
function TDelphiCopilotOpenExternalKindHelper.ToString: string;
65-
begin
66-
if(Self = TDelphiCopilotOpenExternalKind.CMD)then
67-
Exit(TC4DConsts.STR_CMD_COMMANDS)
68-
else if(Self = TDelphiCopilotOpenExternalKind.MenuMasterOnly)then
69-
Exit(TC4DConsts.STR_MENU_MASTER_ONLY);
70-
71-
Result := GetEnumName(TypeInfo(TDelphiCopilotOpenExternalKind), Integer(Self));
72-
end;
73-
7453
{ TC4DExtensionsFilesHelper }
7554
function TC4DExtensionsFilesHelper.ToString: string;
7655
begin
@@ -109,4 +88,15 @@ function TC4DExtensionsOfFilesHelper.ContainsStr(const AExtension: string): Bool
10988
Result := TC4DExtensionsFiles.INI in Self;
11089
end;
11190

91+
{ TC4DExtensionsCommonHelper }
92+
function TC4DExtensionsCommonHelper.ToString: string;
93+
begin
94+
Result := GetEnumName(TypeInfo(TC4DExtensionsFiles), Integer(Self)).ToLower;
95+
end;
96+
97+
function TC4DExtensionsCommonHelper.ToStringWithPoint: string;
98+
begin
99+
Result := '.' + Self.ToString;
100+
end;
101+
112102
end.

Src/Utils/DelphiCopilot.Utils.OTA.pas

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ TUtilsOTA = class
2727
class function EditorAsStringList(AIOTAModule: IOTAModule): TStringList;
2828
class procedure DeleteBlockTextSelectedInEditor;
2929
class procedure InsertBlockTextIntoEditor(const AText: string);
30-
class function OTAFileNotificationToC4DWizardFileNotification(AOTAFileNotification: TOTAFileNotification): TDelphiCopilotFileNotification;
3130
class procedure OpenFilePathInIDE(AFilePath: string);
3231
class procedure ShowFormProjectOptions;
3332
class function RefreshProject: Boolean;
@@ -290,17 +289,6 @@ class function TUtilsOTA.GetBlockTextSelect: string;
290289
Result := LIOTAEditorServices.TopView.GetBlock.Text;
291290
end;
292291

293-
class function TUtilsOTA.OTAFileNotificationToC4DWizardFileNotification(AOTAFileNotification: TOTAFileNotification): TDelphiCopilotFileNotification;
294-
begin
295-
Result := TDelphiCopilotFileNotification.None;
296-
case(AOTAFileNotification)of
297-
ofnFileOpened:
298-
Result := TDelphiCopilotFileNotification.FileOpened;
299-
ofnFileClosing:
300-
Result := TDelphiCopilotFileNotification.FileClosing;
301-
end;
302-
end;
303-
304292
class procedure TUtilsOTA.OpenFilePathInIDE(AFilePath: string);
305293
begin
306294
if(not FileExists(AFilePath))then

Src/Utils/DelphiCopilot.Utils.pas

Lines changed: 9 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ interface
2323
type
2424
TUtils = class
2525
private
26-
class function ShowMsgInternal(const AMsg, ADetails: string; const AIcon: TDelphiCopilotIcon;
26+
class function ShowMsgInternal(const AMsg, ADetails: string; const AIcon: TC4DIcon;
2727
const AButtons: TC4DButtons; const ABtnFocu: TC4DBtnFocu; const AWinControlFocu: TWinControl): Boolean;
2828
public
2929
class function GetFileName(const AExtension: string): string;
@@ -45,9 +45,6 @@ TUtils = class
4545
class procedure ExplodeList(const AText, ASeparator: string; AStrings: TStrings);
4646
class procedure MemoVerticalCenter(AMemo: TMemo; ANumLines: Integer; AText: string);
4747
class function StatusBarNumPanelDblClick(AStatusBar: TStatusBar): Integer; static;
48-
class function StrToOpenExternalKind(Value: string): TDelphiCopilotOpenExternalKind;
49-
class procedure OpenExternalKindFillItemsTStrings(Astrings: TStrings);
50-
class procedure ExtensionFillTStringsWithValid(Astrings: TStrings);
5148
class function BoolToStrC4D(Value: Boolean): string;
5249
class function StrToBoolC4D(Value: string): Boolean;
5350
class function RemoveCommentAfterTwoBars(Value: string): string;
@@ -413,54 +410,6 @@ class function TUtils.StatusBarNumPanelDblClick(AStatusBar: TStatusBar): Integer
413410
Result := LNumPanel;
414411
end;
415412

416-
class function TUtils.StrToOpenExternalKind(Value: string): TDelphiCopilotOpenExternalKind;
417-
begin
418-
Result := TDelphiCopilotOpenExternalKind.None;
419-
if(Value = 'Files')then
420-
Result := TDelphiCopilotOpenExternalKind.Files
421-
else if(Value = 'Folders')then
422-
Result := TDelphiCopilotOpenExternalKind.Folders
423-
else if(Value = 'Links')then
424-
Result := TDelphiCopilotOpenExternalKind.Links
425-
else if(Value = 'Separators')then
426-
Result := TDelphiCopilotOpenExternalKind.Separators
427-
else if(Value = TC4DConsts.STR_CMD_COMMANDS)then
428-
Result := TDelphiCopilotOpenExternalKind.CMD
429-
else if(Value = TC4DConsts.STR_MENU_MASTER_ONLY)then
430-
Result := TDelphiCopilotOpenExternalKind.MenuMasterOnly;
431-
end;
432-
433-
class procedure TUtils.OpenExternalKindFillItemsTStrings(Astrings: TStrings);
434-
var
435-
LItem: TDelphiCopilotOpenExternalKind;
436-
begin
437-
if(Astrings = nil)then
438-
Exit;
439-
440-
for LItem := Low(TDelphiCopilotOpenExternalKind) to High(TDelphiCopilotOpenExternalKind) do
441-
begin
442-
if(LItem = TDelphiCopilotOpenExternalKind.CMD)then
443-
Astrings.Add(TC4DConsts.STR_CMD_COMMANDS)
444-
else if(LItem = TDelphiCopilotOpenExternalKind.MenuMasterOnly)then
445-
Astrings.Add(TC4DConsts.STR_MENU_MASTER_ONLY)
446-
else
447-
Astrings.Add(GetEnumName(TypeInfo(TDelphiCopilotOpenExternalKind), Integer(LItem)));
448-
end;
449-
end;
450-
451-
class procedure TUtils.ExtensionFillTStringsWithValid(Astrings: TStrings);
452-
begin
453-
if(Astrings = nil)then
454-
Exit;
455-
456-
Astrings.Clear;
457-
Astrings.Add('Current Unit');
458-
Astrings.Add('Files in Project Group');
459-
Astrings.Add('Files in Project');
460-
Astrings.Add('All Opened Files');
461-
Astrings.Add('Files in Directories');
462-
end;
463-
464413
class function TUtils.BoolToStrC4D(Value: Boolean): string;
465414
begin
466415
Result := IfThen(Value, 'True', 'False');
@@ -965,7 +914,7 @@ class function TUtils.IsBpr(const AFilePath: string): Boolean;
965914
end;
966915

967916
{$REGION 'MessagesImplementation'}
968-
class function TUtils.ShowMsgInternal(const AMsg, ADetails: string; const AIcon: TDelphiCopilotIcon;
917+
class function TUtils.ShowMsgInternal(const AMsg, ADetails: string; const AIcon: TC4DIcon;
969918
const AButtons: TC4DButtons; const ABtnFocu: TC4DBtnFocu; const AWinControlFocu: TWinControl): Boolean;
970919
begin
971920
Application.CreateForm(TDelphiCopilotViewDialog, DelphiCopilotViewDialog);
@@ -987,7 +936,7 @@ class function TUtils.ShowMsgInternal(const AMsg, ADetails: string; const AIcon:
987936

988937
class procedure TUtils.ShowMsg(const AMsg: string; const ADetails: string = '');
989938
begin
990-
Self.ShowMsgInternal(AMsg, ADetails, TDelphiCopilotIcon.Information, TC4DButtons.OK, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
939+
Self.ShowMsgInternal(AMsg, ADetails, TC4DIcon.Information, TC4DButtons.OK, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
991940
end;
992941

993942
class procedure TUtils.ShowMsgSynchronize(const AMsg: string; const ADetails: string = '');
@@ -1001,7 +950,7 @@ class procedure TUtils.ShowMsgSynchronize(const AMsg: string; const ADetails: st
1001950

1002951
class procedure TUtils.ShowV(const AMsg: string; const ADetails: string = '');
1003952
begin
1004-
Self.ShowMsgInternal(AMsg, ADetails, TDelphiCopilotIcon.Success, TC4DButtons.OK, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
953+
Self.ShowMsgInternal(AMsg, ADetails, TC4DIcon.Success, TC4DButtons.OK, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
1005954
end;
1006955

1007956
class procedure TUtils.ShowError(const AMsg: string; const ADetails: string = '');
@@ -1016,17 +965,17 @@ class procedure TUtils.ShowError(const AMsg: string; const AWinControlFocu: TWin
1016965

1017966
class procedure TUtils.ShowError(const AMsg: string; const ADetails: string; const AWinControlFocu: TWinControl);
1018967
begin
1019-
Self.ShowMsgInternal(AMsg, ADetails, TDelphiCopilotIcon.Error, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
968+
Self.ShowMsgInternal(AMsg, ADetails, TC4DIcon.Error, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
1020969
end;
1021970

1022971
class function TUtils.ShowQuestion(const APerg: string; const ADetails: string = ''): Boolean;
1023972
begin
1024-
Result := Self.ShowMsgInternal(APerg, ADetails, TDelphiCopilotIcon.Question, TC4DButtons.OK_Cancel, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
973+
Result := Self.ShowMsgInternal(APerg, ADetails, TC4DIcon.Question, TC4DButtons.OK_Cancel, TC4DBtnFocu.OK, TC4DConsts.WIN_CONTROL_FOCU_NIL);
1025974
end;
1026975

1027976
class function TUtils.ShowQuestion2(const APerg: string; const ADetails: string = ''): Boolean;
1028977
begin
1029-
Result := Self.ShowMsgInternal(APerg, ADetails, TDelphiCopilotIcon.Question, TC4DButtons.OK_Cancel, TC4DBtnFocu.Cancel, TC4DConsts.WIN_CONTROL_FOCU_NIL);
978+
Result := Self.ShowMsgInternal(APerg, ADetails, TC4DIcon.Question, TC4DButtons.OK_Cancel, TC4DBtnFocu.Cancel, TC4DConsts.WIN_CONTROL_FOCU_NIL);
1030979
end;
1031980

1032981
class procedure TUtils.ShowMsgErrorAndAbort(const AMsg: string; const ADetails: string = '');
@@ -1041,7 +990,7 @@ class procedure TUtils.ShowMsgErrorAndAbort(const AMsg: string; const AWinContro
1041990

1042991
class procedure TUtils.ShowMsgErrorAndAbort(const AMsg: string; const ADetails: string; const AWinControlFocu: TWinControl);
1043992
begin
1044-
Self.ShowMsgInternal(AMsg, ADetails, TDelphiCopilotIcon.Error, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
993+
Self.ShowMsgInternal(AMsg, ADetails, TC4DIcon.Error, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
1045994
Abort;
1046995
end;
1047996

@@ -1057,7 +1006,7 @@ class procedure TUtils.ShowMsgAndAbort(const AMsg: string; const AWinControlFocu
10571006

10581007
class procedure TUtils.ShowMsgAndAbort(const AMsg: string; const ADetails: string; const AWinControlFocu: TWinControl);
10591008
begin
1060-
Self.ShowMsgInternal(AMsg, ADetails, TDelphiCopilotIcon.Information, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
1009+
Self.ShowMsgInternal(AMsg, ADetails, TC4DIcon.Information, TC4DButtons.OK, TC4DBtnFocu.OK, AWinControlFocu);
10611010
Abort;
10621011
end;
10631012

0 commit comments

Comments
 (0)