1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
/*
SPDX-FileCopyrightText: 2022-2026 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include <TextTranslator/TranslatorEngineClient>
namespace QKeychain
{
class Job;
}
class DeeplEngineClient : public TextTranslator::TranslatorEngineClient
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.kde.Translator.deepl")
Q_INTERFACES(TextTranslator::TranslatorEngineClient)
public:
explicit DeeplEngineClient(QObject *parent = nullptr);
~DeeplEngineClient() override;
[[nodiscard]] QString name() const override;
[[nodiscard]] QString translatedName() const override;
[[nodiscard]] TextTranslator::TranslatorEnginePlugin *createTranslator() override;
[[nodiscard]] QMap<TextTranslator::TranslatorUtil::Language, QString> supportedFromLanguages() override;
[[nodiscard]] QMap<TextTranslator::TranslatorUtil::Language, QString> supportedToLanguages() override;
[[nodiscard]] bool hasConfigurationDialog() const override;
[[nodiscard]] bool showConfigureDialog(QWidget *parentWidget) override;
[[nodiscard]] TextTranslator::TranslatorEngineClient::EngineType engineType() const override;
protected:
[[nodiscard]] bool isSupported(TextTranslator::TranslatorUtil::Language lang) const override;
private:
void slotPasswordWritten(QKeychain::Job *baseJob);
};
|