YoudaoTrans/youdaotrans.h

65 lines
1.5 KiB
C++

#ifndef GENERICPLUGIN_H
#define GENERICPLUGIN_H
#include "../WingTool/plugin/iwingtoolplg.h"
#include "settingdialog.h"
#include "transdialog.h"
#include <QDomDocument>
#include <QObject>
#include <QTranslator>
#include <QtNetwork/QNetworkAccessManager>
class YoudaoTrans : public IWingToolPlg {
Q_OBJECT
#if QT_VERSION >= 0x050000
Q_PLUGIN_METADATA(IID IWINGPLUGIN_INTERFACE_IID FILE "YoudaoTrans.json")
#endif // QT_VERSION >= 0x050000
Q_INTERFACES(IWingToolPlg)
public:
YoudaoTrans(QObject *parent = nullptr);
int sdkVersion() override;
QString signature() override;
~YoudaoTrans() override;
bool init(QList<WingPluginInfo> loadedplugin) override;
void unload() override;
QString pluginName() override;
QString provider() override;
QString pluginAuthor() override;
Catagorys pluginCatagory() override;
uint pluginVersion() override;
QString pluginComment() override;
QIcon pluginIcon() override;
QStringList pluginServices() override;
QStringList pluginServiceNames() override;
public slots:
QVariant pluginServicePipe(int serviceID, QList<QVariant> params) override;
virtual void onSetting() override;
private:
void translate(QString word);
void parse(QByteArray &content);
QString parseCustomTrans(QDomElement &ele);
QString parseYoudaoTrans(QDomElement &ele);
bool isVaildWord(QString &word);
void loadSettings();
void saveSettings();
private:
TransDialog *dialog;
SettingDialog *sm;
QTranslator translator;
QNetworkAccessManager *net;
bool m_cp, m_sel;
bool m_enabled;
};
#endif // GENERICPLUGIN_H