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 #include <TextTranslator/TranslatorUtil>
0012 namespace TextTranslator
0013 {
0014 /**
0015  * @brief The TranslatorConfigureListsWidget class
0016  * @author Laurent Montel <montel@kde.org>
0017  */
0018 class TEXTTRANSLATOR_EXPORT TranslatorConfigureListsWidget : public QWidget
0019 {
0020     Q_OBJECT
0021 public:
0022     explicit TranslatorConfigureListsWidget(QWidget *parent = nullptr);
0023     ~TranslatorConfigureListsWidget() override;
0024 
0025     void save();
0026     void load();
0027 
0028 private:
0029     TEXTTRANSLATOR_NO_EXPORT void slotEngineSettingsChanged(const QString &engineName);
0030     TEXTTRANSLATOR_NO_EXPORT void loadLanguagesList();
0031     TEXTTRANSLATOR_NO_EXPORT void fillLanguages(const QMap<TextTranslator::TranslatorUtil::Language, QString> &listLanguage);
0032     TEXTTRANSLATOR_NO_EXPORT void fillFromToLanguages(const QMap<TextTranslator::TranslatorUtil::Language, QString> &listFromLanguage,
0033                                                       const QMap<TextTranslator::TranslatorUtil::Language, QString> &listToLanguage);
0034     TEXTTRANSLATOR_NO_EXPORT void slotEngineChanged(const QString &engine);
0035     class TranslatorConfigureListsWidgetPrivate;
0036     std::unique_ptr<TranslatorConfigureListsWidgetPrivate> const d;
0037 };
0038 }