diff --git a/providers/OpenAIProvider.cpp b/providers/OpenAIProvider.cpp index f090f58..c962ae8 100644 --- a/providers/OpenAIProvider.cpp +++ b/providers/OpenAIProvider.cpp @@ -214,7 +214,7 @@ QList OpenAIProvider::validateRequest(const QJsonObject &request, LLMCo QString OpenAIProvider::apiKey() const { - return Settings::providerSettings().openAiCompatApiKey(); + return Settings::providerSettings().openAiApiKey(); } void OpenAIProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const diff --git a/settings/ProviderSettings.cpp b/settings/ProviderSettings.cpp index de2b1cd..b217787 100644 --- a/settings/ProviderSettings.cpp +++ b/settings/ProviderSettings.cpp @@ -69,6 +69,14 @@ ProviderSettings::ProviderSettings() claudeApiKey.setDefaultValue(""); claudeApiKey.setAutoApply(true); + openAiApiKey.setSettingsKey(Constants::OPEN_AI_API_KEY); + openAiApiKey.setLabelText(Tr::tr("OpenAI API Key:")); + openAiApiKey.setDisplayStyle(Utils::StringAspect::LineEditDisplay); + openAiApiKey.setPlaceHolderText(Tr::tr("Enter your API key here")); + openAiApiKey.setHistoryCompleter(Constants::OPEN_AI_API_KEY_HISTORY); + openAiApiKey.setDefaultValue(""); + openAiApiKey.setAutoApply(true); + resetToDefaults.m_buttonText = Tr::tr("Reset Page to Defaults"); readSettings(); @@ -83,6 +91,8 @@ ProviderSettings::ProviderSettings() Space{8}, Group{title(Tr::tr("OpenRouter Settings")), Column{openRouterApiKey}}, Space{8}, + Group{title(Tr::tr("OpenAI Settings")), Column{openAiApiKey}}, + Space{8}, Group{title(Tr::tr("OpenAI Compatible Settings")), Column{openAiCompatApiKey}}, Space{8}, Group{title(Tr::tr("Claude Settings")), Column{claudeApiKey}}, @@ -101,6 +111,7 @@ void ProviderSettings::setupConnections() openAiCompatApiKey.writeSettings(); }); connect(&claudeApiKey, &ButtonAspect::changed, this, [this]() { claudeApiKey.writeSettings(); }); + connect(&openAiApiKey, &ButtonAspect::changed, this, [this]() { openAiApiKey.writeSettings(); }); } void ProviderSettings::resetSettingsToDefaults() @@ -116,6 +127,7 @@ void ProviderSettings::resetSettingsToDefaults() resetAspect(openRouterApiKey); resetAspect(openAiCompatApiKey); resetAspect(claudeApiKey); + resetAspect(openAiApiKey); } } diff --git a/settings/ProviderSettings.hpp b/settings/ProviderSettings.hpp index 6635fdb..e8a0dfd 100644 --- a/settings/ProviderSettings.hpp +++ b/settings/ProviderSettings.hpp @@ -36,6 +36,7 @@ public: Utils::StringAspect openRouterApiKey{this}; Utils::StringAspect openAiCompatApiKey{this}; Utils::StringAspect claudeApiKey{this}; + Utils::StringAspect openAiApiKey{this}; private: void setupConnections(); diff --git a/settings/SettingsConstants.hpp b/settings/SettingsConstants.hpp index faa921c..71ed0c0 100644 --- a/settings/SettingsConstants.hpp +++ b/settings/SettingsConstants.hpp @@ -89,6 +89,8 @@ const char OPEN_AI_COMPAT_API_KEY[] = "QodeAssist.openAiCompatApiKey"; const char OPEN_AI_COMPAT_API_KEY_HISTORY[] = "QodeAssist.openAiCompatApiKeyHistory"; const char CLAUDE_API_KEY[] = "QodeAssist.claudeApiKey"; const char CLAUDE_API_KEY_HISTORY[] = "QodeAssist.claudeApiKeyHistory"; +const char OPEN_AI_API_KEY[] = "QodeAssist.openAiApiKey"; +const char OPEN_AI_API_KEY_HISTORY[] = "QodeAssist.openAiApiKeyHistory"; // context settings const char CC_READ_FULL_FILE[] = "QodeAssist.ccReadFullFile";