Guitar
SettingAiForm.h
Go to the documentation of this file.
1 #ifndef SETTINGAIFORM_H
2 #define SETTINGAIFORM_H
3 
4 #include "AbstractSettingForm.h"
5 #include <QWidget>
6 
7 namespace Ui {
8 class SettingAiForm;
9 }
10 
12  Q_OBJECT
13 private:
14  Ui::SettingAiForm *ui;
15 
16  struct Private;
18 
19  struct ProviderFormData;
20 
21  void reflectSettingsToUI();
23  void setRadioButtons(bool enabled, AiApiKeys::KeyFrom from);
24  void configureModelByString(const std::string &model_uri);
25  void configureModel(const GenerativeAI::Model &model);
26  void guessProviderFromModelName(const std::string &s);
30  SettingAiForm::ProviderFormData *formdata_by_env_name(const std::string &env_name);
34 public:
35  explicit SettingAiForm(QWidget *parent = nullptr);
37  void exchange(bool save) override;
38 private slots:
40  void on_lineEdit_api_key_textChanged(const QString &arg1);
44  void on_comboBox_ai_model_currentTextChanged(const QString &arg1);
45 };
46 
47 #endif // SETTINGAIFORM_H
Definition: AbstractSettingForm.h:10
KeyFrom
Definition: ApplicationSettings.h:27
Definition: GenerativeAI.h:85
Definition: SettingAiForm.h:11
void guessProviderFromModelName(const std::string &s)
モデル名文字列からプロバイダを推定し、プロバイダのコンボボックスを更新する。 推定できない場合(index < 1)はインデックス0(Unknown)にフォールバックする。
Definition: SettingAiForm.cpp:490
GenerativeAI::ModelURI currentModelURI() const
Definition: SettingAiForm.cpp:193
void on_lineEdit_api_key_textChanged(const QString &arg1)
APIキー入力欄のテキスト変更時に呼ばれる。 環境変数モードのときは何もしない。ユーザー入力モードのときのみフォームバッファに書き込む。
Definition: SettingAiForm.cpp:404
AiApiKeys::KeyFrom keyFrom(GenerativeAI::ProviderID id) const
指定されたAIプロバイダのAPIキーの取得元を返す。
Definition: SettingAiForm.cpp:230
AiApiKeys::Item * currentKeyItem()
Definition: SettingAiForm.cpp:198
SettingAiForm::ProviderFormData * formdata(GenerativeAI::ProviderID id)
AIプロバイダIDに対応するフォームデータを返す。
Definition: SettingAiForm.cpp:119
void changeProvider(GenerativeAI::ProviderID id)
選択中プロバイダを切り替え、UIを更新する。
Definition: SettingAiForm.cpp:389
Private * m
Definition: SettingAiForm.h:16
SettingAiForm(QWidget *parent=nullptr)
コンストラクタ。UIを初期化し、プロバイダ一覧とAIモデルプリセット一覧をコンボボックスに追加する。
Definition: SettingAiForm.cpp:64
void on_radioButton_use_environment_value_clicked()
「環境変数を使用する」ラジオボタンが押されたとき、APIキー取得元を Environment に切り替える。
Definition: SettingAiForm.cpp:417
void on_comboBox_ai_model_currentTextChanged(const QString &arg1)
AIモデルのコンボボックスのテキストが変更されたとき、プロバイダを自動推定する。
Definition: SettingAiForm.cpp:546
void reflectSettingsToUI()
現在選択中のプロバイダの状態をウィジェットに反映する。
Definition: SettingAiForm.cpp:341
Ui::SettingAiForm * ui
Definition: SettingAiForm.h:14
SettingAiForm::ProviderFormData * unknown_provider()
Unknown プロバイダのフォームデータを返す。
Definition: SettingAiForm.cpp:149
~SettingAiForm()
デストラクタ。
Definition: SettingAiForm.cpp:108
void configureModelByString(const std::string &model_uri)
モデル名文字列でUIを設定し、プロバイダを自動推定する。 シグナルをブロックしないため、guessProviderFromModelName が連鎖的に呼ばれる。
Definition: SettingAiForm.cpp:507
void configureModel(const GenerativeAI::Model &model)
AIモデル情報をUIに反映する。 プロバイダが既知の場合はシグナルをブロックして直接設定し、 不明な場合はシグナル経由でプロバイダを自動推定させる。
Definition: SettingAiForm.cpp:519
void setRadioButtons(bool enabled, AiApiKeys::KeyFrom from)
APIキーの取得元を選択するラジオボタンの状態を設定する。
Definition: SettingAiForm.cpp:302
SettingAiForm::ProviderFormData * formdata_by_env_name(const std::string &env_name)
環境変数名に対応するフォームデータを返す。
Definition: SettingAiForm.cpp:133
void exchange(bool save) override
設定ファイルとフォームバッファの間でデータを同期する。
Definition: SettingAiForm.cpp:244
void on_radioButton_use_custom_api_key_clicked()
「カスタムAPIキーを使用する」ラジオボタンが押されたとき、APIキー取得元を LocalSecret に切り替える。
Definition: SettingAiForm.cpp:429
void on_comboBox_provider_currentIndexChanged(int index)
AIプロバイダのコンボボックスの選択が変更されたとき、選択されたプロバイダに切り替える。 切り替え後、APIキーの取得元を示すラジオボタンの状態を更新する。
Definition: SettingAiForm.cpp:463
void on_groupBox_generate_commit_message_by_ai_clicked(bool checked)
AIによるコミットメッセージ生成のグループボックスがクリックされたとき。 有効化しようとした場合、クラウドへのデータ送信を警告するダイアログを表示する。 ユーザーがキャンセルすると有効化を取り消す。
Definition: SettingAiForm.cpp:443
ProviderID
Definition: GenerativeAI.h:9
Definition: AboutDialog.h:6
Definition: ApplicationSettings.h:35
Definition: GenerativeAI.h:95
Definition: SettingAiForm.cpp:31
Definition: SettingAiForm.cpp:13