65 lines
1.5 KiB
C++
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
|