Warning, file /libraries/ktextaddons/texttranslator/translator/translatorengineclient.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QObject> 0010 0011 #include "texttranslator_export.h" 0012 #include <QMap> 0013 #include <TextTranslator/TranslatorUtil> 0014 namespace TextTranslator 0015 { 0016 class TranslatorEnginePlugin; 0017 class TEXTTRANSLATOR_EXPORT TranslatorEngineClient : public QObject 0018 { 0019 Q_OBJECT 0020 public: 0021 enum EngineType { 0022 Locale, 0023 Network, 0024 }; 0025 explicit TranslatorEngineClient(QObject *parent = nullptr); 0026 ~TranslatorEngineClient() override; 0027 0028 /** 0029 * @returns the name of the implementing class. 0030 */ 0031 virtual QString name() const = 0; 0032 0033 virtual QString translatedName() const = 0; 0034 0035 virtual TranslatorEnginePlugin *createTranslator() = 0; 0036 0037 [[nodiscard]] virtual QMap<TranslatorUtil::Language, QString> supportedFromLanguages() = 0; 0038 [[nodiscard]] virtual QMap<TranslatorUtil::Language, QString> supportedToLanguages() = 0; 0039 virtual void updateListLanguages(); 0040 0041 [[nodiscard]] virtual bool hasConfigurationDialog() const; 0042 0043 virtual bool showConfigureDialog(QWidget *parentWidget); 0044 virtual void generateToListFromCurrentToLanguage(const QString &languageCode); 0045 0046 [[nodiscard]] virtual bool hasInvertSupport() const; 0047 0048 [[nodiscard]] virtual TextTranslator::TranslatorEngineClient::EngineType engineType() const = 0; 0049 0050 [[nodiscard]] static QString convertEngineType(TextTranslator::TranslatorEngineClient::EngineType type); 0051 0052 Q_SIGNALS: 0053 void configureChanged(); 0054 0055 protected: 0056 [[nodiscard]] QMap<TextTranslator::TranslatorUtil::Language, QString> fillLanguages(); 0057 [[nodiscard]] virtual bool isSupported(TextTranslator::TranslatorUtil::Language lang) const = 0; 0058 QMap<TranslatorUtil::Language, QString> mFromLanguages; 0059 }; 0060 } 0061 Q_DECLARE_INTERFACE(TextTranslator::TranslatorEngineClient, "org.kde.translator.Client")