File indexing completed on 2024-05-12 16:16:01

0001 /*
0002    SPDX-FileCopyrightText: 2019-2023 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "textgrammarcheck_export.h"
0010 #include <QWidget>
0011 #include <TextGrammarCheck/GrammalecteGenerateConfigOptionJob>
0012 class QCheckBox;
0013 class QStackedWidget;
0014 class QScrollArea;
0015 namespace TextGrammarCheck
0016 {
0017 class GrammalecteUrlRequesterWidget;
0018 class TEXTGRAMMARCHECK_EXPORT GrammalecteConfigWidget : public QWidget
0019 {
0020     Q_OBJECT
0021 public:
0022     explicit GrammalecteConfigWidget(QWidget *parent = nullptr, bool disableMessageBox = false);
0023     ~GrammalecteConfigWidget() override;
0024     void loadSettings();
0025     void saveSettings();
0026 
0027 private:
0028     Q_DISABLE_COPY(GrammalecteConfigWidget)
0029     TEXTGRAMMARCHECK_NO_EXPORT void loadGrammarSettings();
0030     TEXTGRAMMARCHECK_NO_EXPORT void slotGetSettingsFinished(const QVector<GrammalecteGenerateConfigOptionJob::Option> &result);
0031     TEXTGRAMMARCHECK_NO_EXPORT void slotGetSettingsError();
0032     TEXTGRAMMARCHECK_NO_EXPORT QWidget *addGeneralTab();
0033     TEXTGRAMMARCHECK_NO_EXPORT QWidget *addGrammarTab();
0034 
0035     QStringList mSaveOptions;
0036     QVector<QCheckBox *> mListOptions;
0037     QStackedWidget *mStackedWidget = nullptr;
0038     QWidget *mGrammarTabWidget = nullptr;
0039     QWidget *mReloadSettingsWidget = nullptr;
0040     QScrollArea *mScrollArea = nullptr;
0041     GrammalecteUrlRequesterWidget *mPythonPath = nullptr;
0042     GrammalecteUrlRequesterWidget *mGrammalectePath = nullptr;
0043     const bool mDisableDialogBox = false;
0044 };
0045 }