From b943032b2d02970aa4a881804933f2075673bdbf Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle Date: Wed, 15 May 2024 22:03:22 +0200 Subject: [PATCH] #3026 ui: implement AI enable checkbox --- src/mainwindow.cpp | 8 ++++++++ src/mainwindow.h | 2 ++ src/services/openaiservice.cpp | 12 ++++++++++++ src/services/openaiservice.h | 2 ++ 4 files changed, 24 insertions(+) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3c120b6e83..a4f411ee06 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -11892,6 +11892,9 @@ void MainWindow::on_actionMove_down_in_tag_list_triggered() { void MainWindow::buildAiToolbarAndActions() { _aiToolbar->clear(); _aiToolbar->addAction(ui->actionEnable_AI); + ui->actionEnable_AI->blockSignals(true); + ui->actionEnable_AI->setChecked(OpenAiService::getEnabled()); + ui->actionEnable_AI->blockSignals(false); _aiBackendComboBox = new QComboBox(this); connect(_aiBackendComboBox, @@ -11923,3 +11926,8 @@ void MainWindow::buildAiToolbarAndActions() { aiModelWidgetAction->setText(tr("AI model selector")); _aiToolbar->addAction(aiModelWidgetAction); } + +void MainWindow::on_actionEnable_AI_toggled(bool arg1) { + OpenAiService::setEnabled(arg1); + qDebug() << __func__ << " - 'checked': " << arg1; +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 001fc8674c..6074607c4e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -706,6 +706,8 @@ class MainWindow : public QMainWindow { void on_actionMove_down_in_tag_list_triggered(); + void on_actionEnable_AI_toggled(bool arg1); + public: /** Settings access **/ static bool isInDistractionFreeMode(); diff --git a/src/services/openaiservice.cpp b/src/services/openaiservice.cpp index 09dd1f19fb..5f1f95f1ed 100644 --- a/src/services/openaiservice.cpp +++ b/src/services/openaiservice.cpp @@ -154,6 +154,18 @@ QString OpenAiService::getCurrentModelSettingsKey() { return QStringLiteral("ai/") + getBackendId() + QStringLiteral("/") + QStringLiteral("currentModel"); } +bool OpenAiService::setEnabled(bool enabled) { + QSettings settings; + settings.setValue(QStringLiteral("ai/enabled"), enabled); + + return true; + } + +bool OpenAiService::getEnabled() { + QSettings settings; + return settings.value(QStringLiteral("ai/enabled")).toBool(); +} + OpenAiCompleter::OpenAiCompleter(QString apiKey, QString modelId, QString apiBaseUrl, QObject* parent) : QObject(parent), diff --git a/src/services/openaiservice.h b/src/services/openaiservice.h index 3f3b2d4666..c02c9c6045 100644 --- a/src/services/openaiservice.h +++ b/src/services/openaiservice.h @@ -30,6 +30,8 @@ class OpenAiService : public QObject { QString getBackendId(); bool setModelId(const QString& id); QString getModelId(); + static bool setEnabled(bool enabled); + static bool getEnabled(); private: QMap backendModels;