File indexing completed on 2024-06-16 04:28:07

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "texttranslator_export.h"
0010 #include <QWidget>
0011 class QListView;
0012 class QLineEdit;
0013 class QLabel;
0014 class QStandardItemModel;
0015 namespace TextTranslator
0016 {
0017 /**
0018  * @brief The TranslatorConfigureLanguageListWidget class
0019  * @author Laurent Montel <montel@kde.org>
0020  */
0021 class TEXTTRANSLATOR_EXPORT TranslatorConfigureLanguageListWidget : public QWidget
0022 {
0023     Q_OBJECT
0024 public:
0025     explicit TranslatorConfigureLanguageListWidget(const QString &labelText, QWidget *parent = nullptr);
0026     ~TranslatorConfigureLanguageListWidget() override;
0027 
0028     void clear();
0029 
0030     void addItem(const QString &translatedStr, const QString &languageCode);
0031 
0032     [[nodiscard]] QStringList selectedLanguages() const;
0033     void setSelectedLanguages(const QStringList &list);
0034 
0035 private:
0036     enum LanguageData {
0037         LanguageCode = Qt::UserRole + 1,
0038     };
0039     QListView *const mLanguageListWidget;
0040     QLineEdit *const mListSearchLine;
0041     QLabel *const mLabel;
0042     QStandardItemModel *const mModel;
0043 };
0044 }