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 }