Date: Fri, 31 Jan 2025 11:44:24 -0300
Subject: [PATCH 09/16] Add missing mistral.ai related code
---
Src/Chat/DelphiAIDev.Chat.View.dfm | 24 ++++++++++++--
Src/Chat/DelphiAIDev.Chat.View.pas | 7 ++++-
Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm | 40 +++++++++++++++++++-----
Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas | 7 ++++-
4 files changed, 66 insertions(+), 12 deletions(-)
diff --git a/Src/Chat/DelphiAIDev.Chat.View.dfm b/Src/Chat/DelphiAIDev.Chat.View.dfm
index 264b2a0..064453f 100644
--- a/Src/Chat/DelphiAIDev.Chat.View.dfm
+++ b/Src/Chat/DelphiAIDev.Chat.View.dfm
@@ -22,7 +22,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
DesignSize = (
975
661)
- PixelsPerInch = 96
TextHeight = 13
object pnBack: TPanel
Left = 0
@@ -40,6 +39,8 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Top = 15
ParentBackground = False
TabOrder = 0
+ ExplicitWidth = 950
+ ExplicitHeight = 644
object Splitter1: TSplitter
Left = 18
Top = 518
@@ -80,7 +81,8 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
ScrollBars = ssVertical
ShowHint = True
TabOrder = 1
- Zoom = 100
+ ExplicitWidth = 932
+ ExplicitHeight = 483
end
object pnBackQuestion: TPanel
Left = 18
@@ -96,6 +98,8 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Top = 5
ParentBackground = False
TabOrder = 0
+ ExplicitTop = 504
+ ExplicitWidth = 932
object mmQuestion: TMemo
AlignWithMargins = True
Left = 0
@@ -117,6 +121,7 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
OnChange = mmQuestionChange
OnKeyDown = mmQuestionKeyDown
OnKeyUp = mmQuestionKeyUp
+ ExplicitWidth = 932
end
end
object pnBackButtons: TPanel
@@ -134,11 +139,13 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 2
+ ExplicitTop = 617
+ ExplicitWidth = 932
object lbCurrentAI: TLabel
Left = 0
Top = 3
Width = 56
- Height = 13
+ Height = 22
Cursor = crHandPoint
Hint = 'AI being used'
Margins.Left = 0
@@ -149,6 +156,7 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Caption = 'lbCurrentAI'
PopupMenu = pMenuCurrentAI
OnClick = lbCurrentAIClick
+ ExplicitHeight = 13
end
object btnSend: TButton
AlignWithMargins = True
@@ -164,6 +172,7 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Caption = 'Send'
TabOrder = 0
OnClick = btnSendClick
+ ExplicitLeft = 858
end
object pnBackConfigurableButtons: TPanel
Left = 395
@@ -173,6 +182,7 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Align = alRight
BevelOuter = bvNone
TabOrder = 1
+ ExplicitLeft = 389
object btnUseCurrentUnitCode: TButton
AlignWithMargins = True
Left = 261
@@ -279,6 +289,8 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
item
Width = 50
end>
+ ExplicitLeft = 950
+ ExplicitHeight = 644
end
object pnCommands: TPanel
Left = 936
@@ -293,6 +305,7 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
+ ExplicitLeft = 930
DesignSize = (
26
115)
@@ -817,6 +830,11 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Caption = 'Groq'
OnClick = Gemini1Click
end
+ object Mistral1: TMenuItem
+ Tag = 2
+ Caption = 'Mistral'
+ OnClick = Gemini1Click
+ end
object Ollama1: TMenuItem
Tag = 3
Caption = 'Ollama (offline)'
diff --git a/Src/Chat/DelphiAIDev.Chat.View.pas b/Src/Chat/DelphiAIDev.Chat.View.pas
index 1c695ba..8f06147 100644
--- a/Src/Chat/DelphiAIDev.Chat.View.pas
+++ b/Src/Chat/DelphiAIDev.Chat.View.pas
@@ -74,6 +74,7 @@ TDelphiAIDevChatView = class(TDockableForm)
pMenuQuestions: TPopupMenu;
btnCleanAll: TSpeedButton;
Groq1: TMenuItem;
+ Mistral1: TMenuItem;
Ollama1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure cBoxSizeFontKeyPress(Sender: TObject; var Key: Char);
@@ -620,6 +621,8 @@ procedure TDelphiAIDevChatView.pMenuCurrentAIPopup(Sender: TObject);
ChatGPT1.Checked := True;
TC4DAiAvailable.Groq:
Groq1.Checked := True;
+ TC4DAiAvailable.Mistral:
+ Mistral1.Checked := True;
TC4DAiAvailable.Ollama:
Ollama1.Checked := True;
end;
@@ -636,6 +639,8 @@ procedure TDelphiAIDevChatView.ConfLabelCurrentAI;
lbCurrentAI.Hint := FSettings.ModelOpenAI;
TC4DAiAvailable.Groq:
lbCurrentAI.Hint := FSettings.ModelGroq;
+ TC4DAiAvailable.Mistral:
+ lbCurrentAI.Hint := FSettings.ModelMistral;
TC4DAiAvailable.Ollama:
lbCurrentAI.Hint := FSettings.ModelOllama;
end;
@@ -650,7 +655,7 @@ procedure TDelphiAIDevChatView.Gemini1Click(Sender: TObject);
begin
//*SEVERAL
LTag := TMenuItem(Sender).Tag;
- if not(LTag in [0, 1, 2, 3])then
+ if not(LTag in [0, 1, 2, 3, 4])then
Exit;
FSettings.AIDefault := TC4DAiAvailable(LTag);
diff --git a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
index ce46b48..7c00112 100644
--- a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
+++ b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
@@ -22,7 +22,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
DesignSize = (
975
661)
- PixelsPerInch = 96
TextHeight = 13
object pnBack: TPanel
Left = 0
@@ -40,6 +39,8 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Top = 15
ParentBackground = False
TabOrder = 0
+ ExplicitWidth = 950
+ ExplicitHeight = 644
object Splitter1: TSplitter
Left = 18
Top = 153
@@ -91,7 +92,8 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
ScrollBars = ssVertical
ShowHint = True
TabOrder = 1
- Zoom = 100
+ ExplicitWidth = 932
+ ExplicitHeight = 268
end
object pnBackQuestion: TPanel
Left = 18
@@ -107,6 +109,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Top = 5
ParentBackground = False
TabOrder = 0
+ ExplicitWidth = 932
object Label2: TLabel
Left = 0
Top = 5
@@ -140,6 +143,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
OnChange = mmQuestionChange
OnKeyDown = mmQuestionKeyDown
OnKeyUp = mmQuestionKeyUp
+ ExplicitWidth = 932
end
end
object pnBackButtonsSearch: TPanel
@@ -157,11 +161,12 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 2
+ ExplicitWidth = 932
object lbCurrentAI: TLabel
Left = 0
Top = 3
Width = 56
- Height = 13
+ Height = 22
Cursor = crHandPoint
Hint = 'AI being used'
Margins.Left = 0
@@ -172,6 +177,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Caption = 'lbCurrentAI'
PopupMenu = pMenuCurrentAI
OnClick = lbCurrentAIClick
+ ExplicitHeight = 13
end
object btnSend: TButton
AlignWithMargins = True
@@ -187,6 +193,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Caption = 'Send'
TabOrder = 0
OnClick = btnSendClick
+ ExplicitLeft = 858
end
object pnBackConfigurableButtons: TPanel
Left = 395
@@ -196,6 +203,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Align = alRight
BevelOuter = bvNone
TabOrder = 1
+ ExplicitLeft = 389
object btnUseCurrentUnitCode: TButton
AlignWithMargins = True
Left = 261
@@ -262,6 +270,8 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
+ ExplicitTop = 484
+ ExplicitWidth = 932
object DBGrid1: TDBGrid
Left = 0
Top = 0
@@ -294,23 +304,26 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 3
ParentBackground = False
TabOrder = 1
+ ExplicitWidth = 932
object lbCount: TLabel
Left = 899
Top = 3
Width = 36
- Height = 13
+ Height = 21
Align = alRight
Caption = '000000'
Layout = tlCenter
+ ExplicitHeight = 13
end
object Label3: TLabel
Left = 863
Top = 3
Width = 36
- Height = 13
+ Height = 21
Align = alRight
Caption = 'Count: '
Layout = tlCenter
+ ExplicitHeight = 13
end
end
end
@@ -328,21 +341,24 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 4
+ ExplicitTop = 454
+ ExplicitWidth = 932
object Label1: TLabel
Left = 337
Top = 0
Width = 85
- Height = 13
+ Height = 25
Align = alLeft
Caption = ' Last generation: '
Layout = tlCenter
+ ExplicitHeight = 13
end
object lbLastGeneration: TLabel
AlignWithMargins = True
Left = 422
Top = 0
Width = 81
- Height = 13
+ Height = 25
Margins.Left = 0
Margins.Top = 0
Margins.Right = 5
@@ -350,6 +366,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Align = alLeft
Caption = 'lbLastGeneration'
Layout = tlCenter
+ ExplicitHeight = 13
end
object btnExecuteSQL: TButton
AlignWithMargins = True
@@ -368,6 +385,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Images = ImageList1
TabOrder = 0
OnClick = btnExecuteSQLClick
+ ExplicitLeft = 819
end
object cBoxDatabases: TComboBox
AlignWithMargins = True
@@ -445,6 +463,8 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
item
Width = 50
end>
+ ExplicitLeft = 950
+ ExplicitHeight = 644
end
object pnCommands: TPanel
Left = 947
@@ -459,6 +479,7 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
+ ExplicitLeft = 941
DesignSize = (
26
115)
@@ -983,6 +1004,11 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Caption = 'Groq'
OnClick = Gemini1Click
end
+ object Mistral1: TMenuItem
+ Tag = 2
+ Caption = 'Mistral'
+ OnClick = Gemini1Click
+ end
object Ollama1: TMenuItem
Tag = 3
Caption = 'Ollama (offline)'
diff --git a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
index e42fe37..2db29fc 100644
--- a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
+++ b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
@@ -83,6 +83,7 @@ TDelphiAIDevDBChatView = class(TDockableForm)
pMenuQuestions: TPopupMenu;
btnCleanAll: TSpeedButton;
Groq1: TMenuItem;
+ Mistral1: TMenuItem;
pnGridBack: TPanel;
DBGrid1: TDBGrid;
Splitter2: TSplitter;
@@ -619,6 +620,8 @@ procedure TDelphiAIDevDBChatView.pMenuCurrentAIPopup(Sender: TObject);
ChatGPT1.Checked := True;
TC4DAiAvailable.Groq:
Groq1.Checked := True;
+ TC4DAiAvailable.Mistral:
+ Mistral1.Checked := True;
TC4DAiAvailable.Ollama:
Ollama1.Checked := True;
end;
@@ -635,6 +638,8 @@ procedure TDelphiAIDevDBChatView.ConfLabelCurrentAI;
lbCurrentAI.Hint := FSettings.ModelOpenAI;
TC4DAiAvailable.Groq:
lbCurrentAI.Hint := FSettings.ModelGroq;
+ TC4DAiAvailable.Mistral:
+ lbCurrentAI.Hint := FSettings.ModelMistral;
TC4DAiAvailable.Ollama:
lbCurrentAI.Hint := FSettings.ModelOllama;
end;
@@ -649,7 +654,7 @@ procedure TDelphiAIDevDBChatView.Gemini1Click(Sender: TObject);
begin
//*SEVERAL
LTag := TMenuItem(Sender).Tag;
- if not(LTag in [0, 1, 2, 3])then
+ if not(LTag in [0, 1, 2, 3, 4])then
Exit;
FSettings.AIDefault := TC4DAiAvailable(LTag);
From 8689820b23ec01fa91f76c56a49516517a5f4bfd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
<33873267+Cesar4D@users.noreply.github.com>
Date: Fri, 28 Feb 2025 15:31:11 -0300
Subject: [PATCH 10/16] Update README.md
---
README.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/README.md b/README.md
index c69208e..55f3554 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,14 @@ Receive suggestions for creating and improving code directly in the IDE and take
## 📞 Contacts
+[](https://t.me/Code4Delphi)
+[](https://www.youtube.com/@code4delphi)
+[](https://www.instagram.com/code4delphi/)
+[](https://www.linkedin.com/in/cesar-cardoso-dev)
+[](https://code4delphi.com.br/blog/)
+[](https://go.hotmart.com/U81331747Y?dp=1)
+[](mailto:contato@code4delphi.com.br)
+
From 5a72bf2c66736b9d95dfe6dcd9254bc00c76799f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mois=C3=A9s=20Baddini?=
Date: Thu, 6 Mar 2025 16:53:33 -0300
Subject: [PATCH 11/16] =?UTF-8?q?Adi=C3=A7=C3=A3o=20do=20modelo=20"gpt-4-t?=
=?UTF-8?q?urbo"=20para=20OpenAI?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Src/Settings/DelphiAIDev.Settings.View.dfm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Src/Settings/DelphiAIDev.Settings.View.dfm b/Src/Settings/DelphiAIDev.Settings.View.dfm
index 14e7cc2..35e4717 100644
--- a/Src/Settings/DelphiAIDev.Settings.View.dfm
+++ b/Src/Settings/DelphiAIDev.Settings.View.dfm
@@ -699,7 +699,8 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
'gpt-3.5-turbo-16k'
'gpt-4'
'gpt-4o-2024-05-13'
- 'gpt-4o-2024-08-06')
+ 'gpt-4o-2024-08-06'
+ 'gpt-4-turbo')
end
end
end
From 7624d1381953376bad8c5d1d03f69292f8ec2a5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
<33873267+Cesar4D@users.noreply.github.com>
Date: Wed, 12 Mar 2025 08:34:27 -0300
Subject: [PATCH 12/16] Update README.md
---
README.md | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/README.md b/README.md
index 55f3554..5d59006 100644
--- a/README.md
+++ b/README.md
@@ -15,28 +15,6 @@ Receive suggestions for creating and improving code directly in the IDE and take
[](https://go.hotmart.com/U81331747Y?dp=1)
[](mailto:contato@code4delphi.com.br)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## 🚀 INSTALLATION
1 - Download Delphi AI Developer. You can download the .zip file or clone the project on your PC.
From f04238d8f36320b124672542592328b91bab3b6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
Date: Mon, 7 Apr 2025 17:26:33 -0300
Subject: [PATCH 13/16] refactor/hint-removal
---
Package/DelphiAIDeveloper.dproj | 571 +++++++++++++++++-------------
Package/DelphiAIDeveloper.res | Bin 688 -> 688 bytes
Src/Consts/DelphiAIDev.Consts.pas | 2 +-
Src/Utils/DelphiAIDev.Utils.pas | 7 -
4 files changed, 332 insertions(+), 248 deletions(-)
diff --git a/Package/DelphiAIDeveloper.dproj b/Package/DelphiAIDeveloper.dproj
index 66a3dfc..60ee4eb 100644
--- a/Package/DelphiAIDeveloper.dproj
+++ b/Package/DelphiAIDeveloper.dproj
@@ -2,13 +2,14 @@
{7EF46619-47CC-4A26-9369-BCDD8C5ECFA8}
DelphiAIDeveloper.dpk
- 18.8
+ 20.2
VCL
True
Debug
Win32
- 1
+ 1048577
Package
+ DelphiAIDeveloper
true
@@ -38,6 +39,11 @@
Base
true
+
+ true
+ Base
+ true
+
true
Base
@@ -75,11 +81,13 @@
None
android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;$(DCC_UsePackage)
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png
None
android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;$(DCC_UsePackage)
+ $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png
rtl;bindengine;bindcomp;RESTComponents;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;FireDACMySQLDriver;$(DCC_UsePackage)
@@ -95,6 +103,13 @@
rtl;bindengine;bindcomp;RESTComponents;vclFireDAC;FireDAC;FireDACCommonDriver;FireDACCommon;FireDACIBDriver;FireDACMySQLDriver;$(DCC_UsePackage)
+
+ Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)
+ Debug
+ true
+ 1033
+ true
+
DEBUG;$(DCC_Define)
true
@@ -262,10 +277,6 @@
BITMAP
c4d_database_execute
-
- Cfg_2
- Base
-
Base
@@ -273,6 +284,10 @@
Cfg_1
Base
+
+ Cfg_2
+ Base
+
Delphi.Personality.12
@@ -290,28 +305,11 @@
Microsoft Office XP Sample Automation Server Wrapper Components
-
-
-
- true
-
-
-
-
- true
-
-
-
-
- true
-
-
-
-
- DelphiAIDeveloper.bpl
- true
-
-
+
+
+
+
+
1
@@ -320,16 +318,6 @@
0
-
-
- classes
- 1
-
-
- classes
- 1
-
-
res\xml
@@ -340,12 +328,6 @@
1
-
-
- library\lib\armeabi-v7a
- 1
-
-
library\lib\armeabi
@@ -398,6 +380,16 @@
1
+
+
+ res\drawable-anydpi-v21
+ 1
+
+
+ res\drawable-anydpi-v21
+ 1
+
+
res\values
@@ -418,6 +410,66 @@
1
+
+
+ res\values-v31
+ 1
+
+
+ res\values-v31
+ 1
+
+
+
+
+ res\drawable-anydpi-v26
+ 1
+
+
+ res\drawable-anydpi-v26
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\drawable-anydpi-v33
+ 1
+
+
+ res\drawable-anydpi-v33
+ 1
+
+
res\values
@@ -428,6 +480,16 @@
1
+
+
+ res\values-night-v21
+ 1
+
+
+ res\values-night-v21
+ 1
+
+
res\drawable
@@ -448,6 +510,16 @@
1
+
+
+ res\drawable-xxxhdpi
+ 1
+
+
+ res\drawable-xxxhdpi
+ 1
+
+
res\drawable-ldpi
@@ -588,6 +660,56 @@
1
+
+
+ res\drawable-anydpi-v24
+ 1
+
+
+ res\drawable-anydpi-v24
+ 1
+
+
+
+
+ res\drawable
+ 1
+
+
+ res\drawable
+ 1
+
+
+
+
+ res\drawable-night-anydpi-v21
+ 1
+
+
+ res\drawable-night-anydpi-v21
+ 1
+
+
+
+
+ res\drawable-anydpi-v31
+ 1
+
+
+ res\drawable-anydpi-v31
+ 1
+
+
+
+
+ res\drawable-night-anydpi-v31
+ 1
+
+
+ res\drawable-night-anydpi-v31
+ 1
+
+
1
@@ -608,6 +730,10 @@
1
.framework
+
+ 1
+ .framework
+
0
@@ -621,6 +747,10 @@
1
.dylib
+
+ 1
+ .dylib
+
0
.dll;.bpl
@@ -635,7 +765,7 @@
1
.dylib
-
+
1
.dylib
@@ -647,6 +777,10 @@
1
.dylib
+
+ 1
+ .dylib
+
0
.bpl
@@ -665,7 +799,7 @@
0
-
+
0
@@ -674,394 +808,350 @@
0
+
+ 0
+
0
-
-
- 1
-
-
+
+
1
-
+
1
-
-
+
+
+
+
+
+ Contents\Resources
1
-
+
+ Contents\Resources
1
-
+
+ Contents\Resources
1
-
-
- 1
-
-
+
+
+ library\lib\armeabi-v7a
1
-
+
+ library\lib\arm64-v8a
1
-
-
1
1
-
- 1
-
-
-
-
+
1
-
+
1
-
+
1
-
-
-
+
1
-
+
1
-
- 1
+
+ 0
-
-
- 1
-
-
- 1
-
-
+
+
+ library\lib\armeabi-v7a
1
-
-
+
+
1
-
+
1
-
+
1
-
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
-
+
+ ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1
-
+
+
+
+
1
1
-
+
1
-
-
- 1
-
-
+
+
+ Assets
1
-
+
+ Assets
1
-
-
- 1
-
-
+
+
+ Assets
1
-
+
+ Assets
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
- ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
- 1
-
+
- ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
-
-
-
-
-
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
1
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
-
-
-
- Contents\Resources
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
- Contents\Resources
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- library\lib\armeabi-v7a
- 1
-
-
- library\lib\arm64-v8a
- 1
-
-
- 1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
- 1
-
-
- 1
-
-
- 1
-
-
- 1
-
-
- 0
-
-
-
-
- library\lib\armeabi-v7a
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- Assets
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
- Assets
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
- Assets
+
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
- Assets
+
+ ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
1
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
False
@@ -1069,6 +1159,7 @@
False
True
False
+ True
12
diff --git a/Package/DelphiAIDeveloper.res b/Package/DelphiAIDeveloper.res
index 9273b0906bbd637e9fa31e00b2dfb72f35131e39..4a3736958c96db4bf8b7cc4c4b21eaaaee609d94 100644
GIT binary patch
delta 16
XcmdnMx`A~=0TUz3(const AJSONObject: TJSONObject; const AKey: string; AResult: T);
class function GetExceptionMessage(const E: Exception): string;
class function StrToDefaultsQuestionsKind(Value: string): TC4DQuestionKind;
class function StrToDriverID(Value: string): TC4DDriverID;
@@ -149,12 +148,6 @@ implementation
DelphiAIDev.View.Dialog,
DelphiAIDev.WaitingScreen;
-class procedure TUtils.TryGetValueJson(const AJSONObject: TJSONObject; const AKey: string; AResult: T);
-begin
- if AJSONObject.GetValue(AKey) <> nil then
- AResult := AJSONObject.GetValue(AKey);
-end;
-
class function TUtils.GetExceptionMessage(const E: Exception): string;
begin
Result := E.Message;
From 9836ea631cc51f2ed8254f478345a6790a6af91b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
Date: Mon, 7 Apr 2025 18:01:01 -0300
Subject: [PATCH 14/16] fit/add-mistral
---
Package/DelphiAIDeveloper.dproj | 5 +++++
Src/Chat/DelphiAIDev.Chat.View.dfm | 19 ++-----------------
Src/Chat/DelphiAIDev.Chat.View.pas | 1 +
Src/Consts/DelphiAIDev.Consts.pas | 4 ++--
Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm | 23 ++---------------------
Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas | 1 +
Src/Utils/DelphiAIDev.Utils.OTA.pas | 10 +++++-----
7 files changed, 18 insertions(+), 45 deletions(-)
diff --git a/Package/DelphiAIDeveloper.dproj b/Package/DelphiAIDeveloper.dproj
index 60ee4eb..cd6848e 100644
--- a/Package/DelphiAIDeveloper.dproj
+++ b/Package/DelphiAIDeveloper.dproj
@@ -245,6 +245,7 @@
+
BITMAP
c4d_Logo
@@ -307,8 +308,12 @@
+
+
+
+
diff --git a/Src/Chat/DelphiAIDev.Chat.View.dfm b/Src/Chat/DelphiAIDev.Chat.View.dfm
index 064453f..e98bf09 100644
--- a/Src/Chat/DelphiAIDev.Chat.View.dfm
+++ b/Src/Chat/DelphiAIDev.Chat.View.dfm
@@ -12,7 +12,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Font.Name = 'Tahoma'
Font.Style = []
KeyPreview = True
- OldCreateOrder = False
Position = poScreenCenter
ShowHint = True
OnActivate = FormActivate
@@ -39,8 +38,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Top = 15
ParentBackground = False
TabOrder = 0
- ExplicitWidth = 950
- ExplicitHeight = 644
object Splitter1: TSplitter
Left = 18
Top = 518
@@ -81,8 +78,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
ScrollBars = ssVertical
ShowHint = True
TabOrder = 1
- ExplicitWidth = 932
- ExplicitHeight = 483
end
object pnBackQuestion: TPanel
Left = 18
@@ -98,8 +93,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Top = 5
ParentBackground = False
TabOrder = 0
- ExplicitTop = 504
- ExplicitWidth = 932
object mmQuestion: TMemo
AlignWithMargins = True
Left = 0
@@ -121,7 +114,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
OnChange = mmQuestionChange
OnKeyDown = mmQuestionKeyDown
OnKeyUp = mmQuestionKeyUp
- ExplicitWidth = 932
end
end
object pnBackButtons: TPanel
@@ -139,8 +131,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 2
- ExplicitTop = 617
- ExplicitWidth = 932
object lbCurrentAI: TLabel
Left = 0
Top = 3
@@ -172,7 +162,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Caption = 'Send'
TabOrder = 0
OnClick = btnSendClick
- ExplicitLeft = 858
end
object pnBackConfigurableButtons: TPanel
Left = 395
@@ -182,7 +171,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
Align = alRight
BevelOuter = bvNone
TabOrder = 1
- ExplicitLeft = 389
object btnUseCurrentUnitCode: TButton
AlignWithMargins = True
Left = 261
@@ -289,8 +277,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
item
Width = 50
end>
- ExplicitLeft = 950
- ExplicitHeight = 644
end
object pnCommands: TPanel
Left = 936
@@ -305,7 +291,6 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
- ExplicitLeft = 930
DesignSize = (
26
115)
@@ -831,12 +816,12 @@ object DelphiAIDevChatView: TDelphiAIDevChatView
OnClick = Gemini1Click
end
object Mistral1: TMenuItem
- Tag = 2
+ Tag = 3
Caption = 'Mistral'
OnClick = Gemini1Click
end
object Ollama1: TMenuItem
- Tag = 3
+ Tag = 4
Caption = 'Ollama (offline)'
OnClick = Gemini1Click
end
diff --git a/Src/Chat/DelphiAIDev.Chat.View.pas b/Src/Chat/DelphiAIDev.Chat.View.pas
index 8f06147..7896092 100644
--- a/Src/Chat/DelphiAIDev.Chat.View.pas
+++ b/Src/Chat/DelphiAIDev.Chat.View.pas
@@ -613,6 +613,7 @@ procedure TDelphiAIDevChatView.pMenuCurrentAIPopup(Sender: TObject);
Gemini1.Checked := False;
ChatGPT1.Checked := False;
Groq1.Checked := False;
+ Mistral1.Checked := False;
Ollama1.Checked := False;
case FSettings.AIDefault of
TC4DAiAvailable.Gemini:
diff --git a/Src/Consts/DelphiAIDev.Consts.pas b/Src/Consts/DelphiAIDev.Consts.pas
index ec10f86..c052748 100644
--- a/Src/Consts/DelphiAIDev.Consts.pas
+++ b/Src/Consts/DelphiAIDev.Consts.pas
@@ -5,7 +5,7 @@ interface
type
TConsts = class
public const
- SEMANTIC_VERSION = '2.3.1';
+ SEMANTIC_VERSION = '2.4.0';
SEMANTIC_VERSION_LB = 'Version: ' + SEMANTIC_VERSION;
WIN_CONTROL_FOCU_NIL = nil;
DELPHI_AI_DEVELOPER_DPROJ = 'DelphiAIDeveloper.dproj';
@@ -58,7 +58,7 @@ TConsts = class
//ABOUT AND SPLASH
ABOUT_TITLE = 'Delphi AI Developer';
- ABOUT_COPY_RIGHT = 'Copyright 2024 Code4Delphi Team.';
+ ABOUT_COPY_RIGHT = 'Copyright 2025 Code4Delphi Team.';
ABOUT_DESCRIPTION = 'Plugin designed to be used in the Delphi IDE.';
PLUGIN_LICENSE = 'MIT license';
IS_UNREGISTERED = False;
diff --git a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
index 7c00112..2fd2bc6 100644
--- a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
+++ b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.dfm
@@ -12,7 +12,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Font.Name = 'Tahoma'
Font.Style = []
KeyPreview = True
- OldCreateOrder = False
Position = poScreenCenter
ShowHint = True
OnActivate = FormActivate
@@ -39,8 +38,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Top = 15
ParentBackground = False
TabOrder = 0
- ExplicitWidth = 950
- ExplicitHeight = 644
object Splitter1: TSplitter
Left = 18
Top = 153
@@ -92,8 +89,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
ScrollBars = ssVertical
ShowHint = True
TabOrder = 1
- ExplicitWidth = 932
- ExplicitHeight = 268
end
object pnBackQuestion: TPanel
Left = 18
@@ -109,7 +104,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Top = 5
ParentBackground = False
TabOrder = 0
- ExplicitWidth = 932
object Label2: TLabel
Left = 0
Top = 5
@@ -143,7 +137,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
OnChange = mmQuestionChange
OnKeyDown = mmQuestionKeyDown
OnKeyUp = mmQuestionKeyUp
- ExplicitWidth = 932
end
end
object pnBackButtonsSearch: TPanel
@@ -161,7 +154,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 2
- ExplicitWidth = 932
object lbCurrentAI: TLabel
Left = 0
Top = 3
@@ -193,7 +185,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Caption = 'Send'
TabOrder = 0
OnClick = btnSendClick
- ExplicitLeft = 858
end
object pnBackConfigurableButtons: TPanel
Left = 395
@@ -203,7 +194,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Align = alRight
BevelOuter = bvNone
TabOrder = 1
- ExplicitLeft = 389
object btnUseCurrentUnitCode: TButton
AlignWithMargins = True
Left = 261
@@ -270,8 +260,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
- ExplicitTop = 484
- ExplicitWidth = 932
object DBGrid1: TDBGrid
Left = 0
Top = 0
@@ -304,7 +292,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 3
ParentBackground = False
TabOrder = 1
- ExplicitWidth = 932
object lbCount: TLabel
Left = 899
Top = 3
@@ -341,8 +328,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 4
- ExplicitTop = 454
- ExplicitWidth = 932
object Label1: TLabel
Left = 337
Top = 0
@@ -385,7 +370,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
Images = ImageList1
TabOrder = 0
OnClick = btnExecuteSQLClick
- ExplicitLeft = 819
end
object cBoxDatabases: TComboBox
AlignWithMargins = True
@@ -463,8 +447,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
item
Width = 50
end>
- ExplicitLeft = 950
- ExplicitHeight = 644
end
object pnCommands: TPanel
Left = 947
@@ -479,7 +461,6 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
BevelOuter = bvNone
ParentBackground = False
TabOrder = 3
- ExplicitLeft = 941
DesignSize = (
26
115)
@@ -1005,12 +986,12 @@ object DelphiAIDevDBChatView: TDelphiAIDevDBChatView
OnClick = Gemini1Click
end
object Mistral1: TMenuItem
- Tag = 2
+ Tag = 3
Caption = 'Mistral'
OnClick = Gemini1Click
end
object Ollama1: TMenuItem
- Tag = 3
+ Tag = 4
Caption = 'Ollama (offline)'
OnClick = Gemini1Click
end
diff --git a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
index 2db29fc..22f5e27 100644
--- a/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
+++ b/Src/DB/Chat/DelphiAIDev.DB.Chat.View.pas
@@ -612,6 +612,7 @@ procedure TDelphiAIDevDBChatView.pMenuCurrentAIPopup(Sender: TObject);
Gemini1.Checked := False;
ChatGPT1.Checked := False;
Groq1.Checked := False;
+ Mistral1.Checked := False;
Ollama1.Checked := False;
case FSettings.AIDefault of
TC4DAiAvailable.Gemini:
diff --git a/Src/Utils/DelphiAIDev.Utils.OTA.pas b/Src/Utils/DelphiAIDev.Utils.OTA.pas
index afa4630..68ebe78 100644
--- a/Src/Utils/DelphiAIDev.Utils.OTA.pas
+++ b/Src/Utils/DelphiAIDev.Utils.OTA.pas
@@ -42,7 +42,7 @@ TUtilsOTA = class
class function ActiveThemeForCode: TColor;
class function ActiveThemeIsDark: Boolean;
class function GetIOTAFormEditor(const AIOTAModule: IOTAModule): IOTAFormEditor;
- {$IF CompilerVersion >= 32.0} //Tokyo
+ {$IF CompilerVersion > 32.0} //Tokyo
class function GetIOTAIDEThemingServices: IOTAIDEThemingServices;
class function GetIOTAIDEThemingServices250: IOTAIDEThemingServices250;
{$ENDIF}
@@ -512,7 +512,7 @@ class function TUtilsOTA.CheckIfExistFileInCurrentsProjectGroups(const ANameFile
end;
class procedure TUtilsOTA.IDEThemingAll(AFormClass: TCustomFormClass; AForm: TForm);
-{$IF CompilerVersion >= 32.0} //Tokyo
+{$IF CompilerVersion > 32.0} //Tokyo
var
i: Integer;
LIOTAIDEThemingServices250: IOTAIDEThemingServices250;
@@ -521,7 +521,7 @@ class procedure TUtilsOTA.IDEThemingAll(AFormClass: TCustomFormClass; AForm: TFo
AForm.Constraints.MinHeight := AForm.Height;
AForm.Constraints.MinWidth := AForm.Width;
- {$IF CompilerVersion >= 32.0}
+ {$IF CompilerVersion > 32.0}
LIOTAIDEThemingServices250 := Self.GetIOTAIDEThemingServices250;
LIOTAIDEThemingServices250.RegisterFormClass(AFormClass);
LIOTAIDEThemingServices250.ApplyTheme(AForm);
@@ -555,7 +555,7 @@ class function TUtilsOTA.ActiveThemeIsDark: Boolean;
const
THEME_DARK = 'dark';
begin
- {$IF CompilerVersion >= 32.0} //Tokyo
+ {$IF CompilerVersion > 32.0} //Tokyo
Result := Self.GetIOTAIDEThemingServices.ActiveTheme.ToLower.Equals(THEME_DARK);
{$ELSE}
Result := False;
@@ -584,7 +584,7 @@ class function TUtilsOTA.GetIOTAFormEditor(const AIOTAModule: IOTAModule): IOTAF
end;
end;
-{$IF CompilerVersion >= 32.0} //Tokyo
+{$IF CompilerVersion > 32.0} //Tokyo
class function TUtilsOTA.GetIOTAIDEThemingServices: IOTAIDEThemingServices;
begin
if not Supports(BorlandIDEServices, IOTAIDEThemingServices, Result) then
From 4b4df62cdd0523e4b0ceb4b6081c765453096ab1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
Date: Mon, 7 Apr 2025 18:03:38 -0300
Subject: [PATCH 15/16] feature/add-gpt-4-turbo
---
Src/Settings/DelphiAIDev.Settings.View.dfm | 34 ++++++++--------------
1 file changed, 12 insertions(+), 22 deletions(-)
diff --git a/Src/Settings/DelphiAIDev.Settings.View.dfm b/Src/Settings/DelphiAIDev.Settings.View.dfm
index 5b62df9..b023496 100644
--- a/Src/Settings/DelphiAIDev.Settings.View.dfm
+++ b/Src/Settings/DelphiAIDev.Settings.View.dfm
@@ -25,8 +25,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Align = alClient
BevelOuter = bvNone
TabOrder = 0
- ExplicitWidth = 664
- ExplicitHeight = 659
object pnBottom: TPanel
Left = 0
Top = 641
@@ -44,8 +42,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Padding.Bottom = 2
ParentBackground = False
TabOrder = 0
- ExplicitTop = 624
- ExplicitWidth = 664
object lbRestoreDefaults: TLabel
AlignWithMargins = True
Left = 16
@@ -84,7 +80,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Caption = 'Confirm'
TabOrder = 0
OnClick = btnConfirmClick
- ExplicitLeft = 436
end
object btnClose: TButton
AlignWithMargins = True
@@ -100,7 +95,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Caption = 'Close'
TabOrder = 1
OnClick = btnCloseClick
- ExplicitLeft = 549
end
end
object pnMyControl: TPanel
@@ -111,8 +105,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Align = alClient
BevelOuter = bvNone
TabOrder = 1
- ExplicitWidth = 664
- ExplicitHeight = 624
object pnMyControlButtons: TPanel
Left = 0
Top = 0
@@ -122,7 +114,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
BevelEdges = [beBottom]
BevelOuter = bvNone
TabOrder = 0
- ExplicitWidth = 664
object Bevel5: TBevel
AlignWithMargins = True
Left = 0
@@ -206,8 +197,6 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Align = alClient
BevelOuter = bvNone
TabOrder = 1
- ExplicitWidth = 664
- ExplicitHeight = 594
end
end
end
@@ -216,7 +205,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Top = 33
Width = 667
Height = 521
- ActivePage = TabSheet1
+ ActivePage = TabSheet2
TabOrder = 1
object TabSheet1: TTabSheet
Caption = 'Preferences'
@@ -224,7 +213,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
BevelOuter = bvNone
ParentBackground = False
@@ -233,7 +222,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
Caption = ' Preferences '
ParentBackground = False
@@ -298,7 +287,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
end
object gboxData: TGroupBox
Left = 2
- Top = 504
+ Top = 433
Width = 655
Height = 58
Align = alBottom
@@ -337,7 +326,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
BevelOuter = bvNone
ParentBackground = False
@@ -345,7 +334,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
object Bevel1: TBevel
AlignWithMargins = True
Left = 0
- Top = 560
+ Top = 489
Width = 659
Height = 1
Margins.Left = 0
@@ -700,7 +689,8 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
'gpt-3.5-turbo-16k'
'gpt-4'
'gpt-4o-2024-05-13'
- 'gpt-4o-2024-08-06')
+ 'gpt-4o-2024-08-06'
+ 'gpt-4-turbo')
end
end
end
@@ -1043,7 +1033,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
BevelOuter = bvNone
ParentBackground = False
@@ -1221,7 +1211,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
BevelOuter = bvNone
ParentBackground = False
@@ -1230,7 +1220,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 0
Top = 0
Width = 659
- Height = 564
+ Height = 493
Align = alClient
Caption = ' Code Completion (BETA) '
ParentBackground = False
@@ -1240,7 +1230,7 @@ object DelphiAIDevSettingsView: TDelphiAIDevSettingsView
Left = 5
Top = 18
Width = 649
- Height = 541
+ Height = 470
Align = alClient
BevelOuter = bvNone
ParentBackground = False
From 44697fefd8c2eeaebf22df746b12c2b4b9be59de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Cardoso?=
<33873267+Cesar4D@users.noreply.github.com>
Date: Sun, 18 May 2025 15:14:14 -0300
Subject: [PATCH 16/16] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 5d59006..9b37e71 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# Delphi AI Developer (Copilot)
-Inspired by GitHub Copilot, Delphi AI Developer is a plugin that adds Artificial intelligence (AI) interaction capabilities to the Delphi IDE, using both the OpenAI API, Gemini API and Groq API, as well as offering offline AI support.
+Inspired by GitHub Copilot, Delphi AI Developer is a plugin that adds Artificial intelligence (AI) interaction capabilities to the Delphi IDE, using both the OpenAI API, Gemini API, Mistral API and Groq API, as well as offering offline AI support.
With Delphi AI Developer, you will have assistance in generating and refactoring code, facilitating and accelerating development.