File indexing completed on 2024-04-21 04:00:57

0001 /*
0002  *
0003  * SPDX-FileCopyrightText: 2004 Zack Rusin <zack@kde.org>
0004  * SPDX-FileCopyrightText: 2020 Benjamin Port <benjamin.port@kde.org>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-or-later
0007  */
0008 #ifndef SONNET_CONFIGVIEW_H
0009 #define SONNET_CONFIGVIEW_H
0010 
0011 #include <QWidget>
0012 
0013 #include "sonnetui_export.h"
0014 
0015 #include <memory>
0016 
0017 namespace Sonnet
0018 {
0019 class ConfigViewPrivate;
0020 
0021 class SONNETUI_EXPORT ConfigView : public QWidget
0022 {
0023     Q_OBJECT
0024     Q_PROPERTY(QString language READ language WRITE setLanguage)
0025     Q_PROPERTY(QStringList ignoreList READ ignoreList WRITE setIgnoreList)
0026     Q_PROPERTY(QStringList preferredLanguages READ preferredLanguages WRITE setPreferredLanguages)
0027     Q_PROPERTY(bool backgroundCheckingButtonShown READ backgroundCheckingButtonShown WRITE setBackgroundCheckingButtonShown)
0028     Q_PROPERTY(bool showNoBackendFound READ noBackendFoundVisible WRITE setNoBackendFoundVisible)
0029 public:
0030     explicit ConfigView(QWidget *parent = nullptr);
0031     ~ConfigView() override;
0032 
0033     bool backgroundCheckingButtonShown() const;
0034     bool noBackendFoundVisible() const;
0035     QStringList preferredLanguages() const;
0036     QString language() const;
0037     QStringList ignoreList() const;
0038 
0039 public Q_SLOTS:
0040     void setNoBackendFoundVisible(bool show);
0041     void setBackgroundCheckingButtonShown(bool);
0042     void setPreferredLanguages(const QStringList &ignoreList);
0043     void setLanguage(const QString &language);
0044     void setIgnoreList(const QStringList &ignoreList);
0045 
0046 Q_SIGNALS:
0047     void configChanged();
0048 
0049 private:
0050     std::unique_ptr<ConfigViewPrivate> const d;
0051 };
0052 }
0053 
0054 #endif