update
This commit is contained in:
parent
4c53895fdd
commit
cc76d87a47
BIN
lang/zh.qm
BIN
lang/zh.qm
Binary file not shown.
30
lang/zh.ts
30
lang/zh.ts
|
@ -10,16 +10,21 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingdialog.cpp" line="15"/>
|
<location filename="../settingdialog.cpp" line="15"/>
|
||||||
|
<source>Enable</source>
|
||||||
|
<translation>启用</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingdialog.cpp" line="22"/>
|
||||||
<source>EnableSel</source>
|
<source>EnableSel</source>
|
||||||
<translation>启用划词翻译</translation>
|
<translation>启用划词翻译</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingdialog.cpp" line="20"/>
|
<location filename="../settingdialog.cpp" line="28"/>
|
||||||
<source>EnableCp</source>
|
<source>EnableCp</source>
|
||||||
<translation>启用复制监控</translation>
|
<translation>启用复制监控</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingdialog.cpp" line="23"/>
|
<location filename="../settingdialog.cpp" line="31"/>
|
||||||
<source>SetEffect</source>
|
<source>SetEffect</source>
|
||||||
<translation>这些设置被更改后将立即生效!</translation>
|
<translation>这些设置被更改后将立即生效!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -33,45 +38,50 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.cpp" line="20"/>
|
<location filename="../youdaoservice.cpp" line="20"/>
|
||||||
<location filename="../youdaoservice.cpp" line="43"/>
|
<location filename="../youdaoservice.cpp" line="42"/>
|
||||||
<source>YoudaoTrans</source>
|
<source>YoudaoTrans</source>
|
||||||
<translation>有道翻译</translation>
|
<translation>有道翻译</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.cpp" line="39"/>
|
<location filename="../youdaoservice.cpp" line="38"/>
|
||||||
<source>Enable</source>
|
<source>Enable</source>
|
||||||
<translation>启用</translation>
|
<translation>启用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.cpp" line="39"/>
|
<location filename="../youdaoservice.cpp" line="38"/>
|
||||||
<source>Disalbe</source>
|
<source>Disalbe</source>
|
||||||
<translation>禁用</translation>
|
<translation>禁用</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.cpp" line="40"/>
|
<location filename="../youdaoservice.cpp" line="39"/>
|
||||||
<source>Success</source>
|
<source>Success</source>
|
||||||
<translation>有道翻译成功</translation>
|
<translation>有道翻译成功</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.h" line="26"/>
|
<location filename="../youdaoservice.h" line="25"/>
|
||||||
<source>translate</source>
|
<source>translate</source>
|
||||||
<translation>翻译</translation>
|
<translation>翻译</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaoservice.h" line="27"/>
|
<location filename="../youdaoservice.h" line="26"/>
|
||||||
<source>toggle</source>
|
<source>toggle</source>
|
||||||
<translation>开/关</translation>
|
<translation>开/关</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../youdaoservice.h" line="27"/>
|
||||||
|
<source>setEnabled</source>
|
||||||
|
<translation>设置开启状态</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>YoudaoTrans</name>
|
<name>YoudaoTrans</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaotrans.cpp" line="50"/>
|
<location filename="../youdaotrans.cpp" line="55"/>
|
||||||
<source>YoudaoTrans</source>
|
<source>YoudaoTrans</source>
|
||||||
<translation>有道翻译</translation>
|
<translation>有道翻译</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../youdaotrans.cpp" line="61"/>
|
<location filename="../youdaotrans.cpp" line="66"/>
|
||||||
<source>A useful En2Zh translate plugin for WingTool</source>
|
<source>A useful En2Zh translate plugin for WingTool</source>
|
||||||
<translation>一个用于羽云工具箱的方便易用的英到汉翻译插件</translation>
|
<translation>一个用于羽云工具箱的方便易用的英到汉翻译插件</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
|
@ -2,19 +2,27 @@
|
||||||
#include <DLabel>
|
#include <DLabel>
|
||||||
#include <QFormLayout>
|
#include <QFormLayout>
|
||||||
|
|
||||||
SettingDialog::SettingDialog(bool sel, bool cp, DDialog *parent)
|
SettingDialog::SettingDialog(bool en, bool sel, bool cp, DDialog *parent)
|
||||||
: DDialog(parent) {
|
: DDialog(parent) {
|
||||||
setWindowTitle(tr("Setting"));
|
setWindowTitle(tr("Setting"));
|
||||||
auto w = new QWidget(this);
|
auto w = new QWidget(this);
|
||||||
auto flayout = new QFormLayout(w);
|
auto flayout = new QFormLayout(w);
|
||||||
addContent(w, Qt::AlignCenter);
|
addContent(w, Qt::AlignCenter);
|
||||||
|
swen = new DSwitchButton(this);
|
||||||
|
swen->setChecked(en);
|
||||||
|
connect(swen, &DSwitchButton::checkedChanged, this,
|
||||||
|
[=](bool b) { this->setYoudaoEnabled(b); });
|
||||||
|
flayout->addRow(tr("Enable"), swen);
|
||||||
|
|
||||||
swsel = new DSwitchButton(this);
|
swsel = new DSwitchButton(this);
|
||||||
swsel->setChecked(sel);
|
swsel->setChecked(sel);
|
||||||
|
swsel->setEnabled(en);
|
||||||
connect(swsel, &DSwitchButton::checkedChanged, this,
|
connect(swsel, &DSwitchButton::checkedChanged, this,
|
||||||
[=](bool v) { emit this->sigSelEnabled(v); });
|
[=](bool v) { emit this->sigSelEnabled(v); });
|
||||||
flayout->addRow(tr("EnableSel"), swsel);
|
flayout->addRow(tr("EnableSel"), swsel);
|
||||||
swcp = new DSwitchButton(this);
|
swcp = new DSwitchButton(this);
|
||||||
swcp->setChecked(cp);
|
swcp->setChecked(cp);
|
||||||
|
swcp->setEnabled(en);
|
||||||
connect(swcp, &DSwitchButton::checkedChanged, this,
|
connect(swcp, &DSwitchButton::checkedChanged, this,
|
||||||
[=](bool v) { emit this->sigCpEnabled(v); });
|
[=](bool v) { emit this->sigCpEnabled(v); });
|
||||||
flayout->addRow(tr("EnableCp"), swcp);
|
flayout->addRow(tr("EnableCp"), swcp);
|
||||||
|
@ -26,4 +34,9 @@ SettingDialog::SettingDialog(bool sel, bool cp, DDialog *parent)
|
||||||
void SettingDialog::setYoudaoEnabled(bool v) {
|
void SettingDialog::setYoudaoEnabled(bool v) {
|
||||||
swsel->setEnabled(v);
|
swsel->setEnabled(v);
|
||||||
swcp->setEnabled(v);
|
swcp->setEnabled(v);
|
||||||
|
emit sigEnabled(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SettingDialog::setSelEnabled(bool v) { swsel->setChecked(v); }
|
||||||
|
|
||||||
|
void SettingDialog::setCpEnabled(bool v) { swcp->setChecked(v); }
|
||||||
|
|
|
@ -9,16 +9,19 @@ DWIDGET_USE_NAMESPACE
|
||||||
class SettingDialog : public DDialog {
|
class SettingDialog : public DDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
SettingDialog(bool sel, bool cp, DDialog *parent = nullptr);
|
SettingDialog(bool en, bool sel, bool cp, DDialog *parent = nullptr);
|
||||||
|
|
||||||
void setYoudaoEnabled(bool v);
|
void setYoudaoEnabled(bool v);
|
||||||
|
void setSelEnabled(bool v);
|
||||||
|
void setCpEnabled(bool v);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sigSelEnabled(bool v);
|
void sigSelEnabled(bool v);
|
||||||
void sigCpEnabled(bool v);
|
void sigCpEnabled(bool v);
|
||||||
|
void sigEnabled(bool v);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DSwitchButton *swcp, *swsel;
|
DSwitchButton *swcp, *swsel, *swen;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SETTINGDIALOG_H
|
#endif // SETTINGDIALOG_H
|
||||||
|
|
|
@ -23,10 +23,10 @@ YoudaoService::YoudaoService(QObject *parent) : QObject(parent) {
|
||||||
reply->close();
|
reply->close();
|
||||||
});
|
});
|
||||||
|
|
||||||
sm = new SettingDialog(m_sel, m_cp);
|
sm = new SettingDialog(m_enabled, m_sel, m_cp);
|
||||||
sm->setYoudaoEnabled(m_enabled);
|
|
||||||
connect(sm, &SettingDialog::sigCpEnabled, this, [=](bool v) { m_cp = v; });
|
connect(sm, &SettingDialog::sigCpEnabled, this, [=](bool v) { m_cp = v; });
|
||||||
connect(sm, &SettingDialog::sigSelEnabled, this, [=](bool v) { m_sel = v; });
|
connect(sm, &SettingDialog::sigSelEnabled, this, [=](bool v) { m_sel = v; });
|
||||||
|
connect(sm, &SettingDialog::sigEnabled, this, [=](bool v) { m_enabled = v; });
|
||||||
}
|
}
|
||||||
|
|
||||||
YoudaoService::~YoudaoService() { dialog->deleteLater(); }
|
YoudaoService::~YoudaoService() { dialog->deleteLater(); }
|
||||||
|
@ -34,7 +34,6 @@ YoudaoService::~YoudaoService() { dialog->deleteLater(); }
|
||||||
bool YoudaoService::enabled() const { return m_enabled; }
|
bool YoudaoService::enabled() const { return m_enabled; }
|
||||||
|
|
||||||
void YoudaoService::setEnabled(bool enabled) {
|
void YoudaoService::setEnabled(bool enabled) {
|
||||||
m_enabled = enabled;
|
|
||||||
sm->setYoudaoEnabled(enabled);
|
sm->setYoudaoEnabled(enabled);
|
||||||
DUtil::DNotifySender sender((enabled ? tr("Enable") : tr("Disalbe")) +
|
DUtil::DNotifySender sender((enabled ? tr("Enable") : tr("Disalbe")) +
|
||||||
tr("Success"));
|
tr("Success"));
|
||||||
|
@ -168,17 +167,17 @@ void YoudaoService::showSettings() { sm->exec(); }
|
||||||
bool YoudaoService::sel() const { return m_sel; }
|
bool YoudaoService::sel() const { return m_sel; }
|
||||||
|
|
||||||
void YoudaoService::loadSettings() {
|
void YoudaoService::loadSettings() {
|
||||||
QSettings settings(QApplication::organizationName(), "YoudaoTrans");
|
QSettings settings("WingCloud", "YoudaoTrans");
|
||||||
m_cp = settings.value("enablecp", true).toBool();
|
m_cp = settings.value("enablecp", true).toBool();
|
||||||
m_sel = settings.value("enablesel", true).toBool();
|
m_sel = settings.value("enablesel", true).toBool();
|
||||||
m_enabled = settings.value("enabled", true).toBool();
|
m_enabled = settings.value("enabled", true).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
void YoudaoService::saveSettings() {
|
void YoudaoService::saveSettings() {
|
||||||
QSettings settings(QApplication::organizationName(), "YoudaoTrans");
|
QSettings settings("WingCloud", "YoudaoTrans");
|
||||||
settings.setValue("enablecp", m_cp);
|
settings.setValue("enablecp", m_cp);
|
||||||
settings.setValue("enablesel", m_sel);
|
settings.setValue("enablesel", m_sel);
|
||||||
settings.setValue("enabled", m_sel);
|
settings.setValue("enabled", m_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool YoudaoService::cp() const { return m_cp; }
|
bool YoudaoService::cp() const { return m_cp; }
|
||||||
|
|
|
@ -16,7 +16,6 @@ public:
|
||||||
virtual ~YoudaoService();
|
virtual ~YoudaoService();
|
||||||
|
|
||||||
bool enabled() const;
|
bool enabled() const;
|
||||||
void setEnabled(bool enabled);
|
|
||||||
|
|
||||||
bool cp() const;
|
bool cp() const;
|
||||||
bool sel() const;
|
bool sel() const;
|
||||||
|
@ -25,11 +24,14 @@ public:
|
||||||
void translation() {
|
void translation() {
|
||||||
tr("translate");
|
tr("translate");
|
||||||
tr("toggle");
|
tr("toggle");
|
||||||
|
tr("setEnabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
// 如下含有 UI 交互
|
||||||
PLUGINSRV void translate(QString word);
|
PLUGINSRV void translate(QString word);
|
||||||
PLUGINSRV void toggle();
|
PLUGINSRV void toggle();
|
||||||
|
PLUGINSRV void setEnabled(bool enabled);
|
||||||
|
|
||||||
void parse(QByteArray &content);
|
void parse(QByteArray &content);
|
||||||
QString parseCustomTrans(QDomElement &ele);
|
QString parseCustomTrans(QDomElement &ele);
|
||||||
|
|
|
@ -4,19 +4,7 @@
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
YoudaoTrans::YoudaoTrans(QObject *parent) {
|
YoudaoTrans::YoudaoTrans(QObject *parent) { Q_UNUSED(parent); }
|
||||||
Q_UNUSED(parent);
|
|
||||||
|
|
||||||
auto s = GETPLUGINQM("YoudaoTrans.qm");
|
|
||||||
if (!translator.load(s) || !QApplication::installTranslator(&translator)) {
|
|
||||||
QMessageBox::critical(nullptr, "Error", "Error Loading File!",
|
|
||||||
QMessageBox::Ok);
|
|
||||||
localiztion = false; // 构造函数不具有返回值,只能先存着标识
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
trans = new YoudaoService(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
int YoudaoTrans::sdkVersion() { return SDKVERSION; }
|
int YoudaoTrans::sdkVersion() { return SDKVERSION; }
|
||||||
|
|
||||||
|
@ -34,9 +22,7 @@ bool YoudaoTrans::init(QList<WingPluginInfo> loadedplugin) {
|
||||||
auto clipboard = qApp->clipboard();
|
auto clipboard = qApp->clipboard();
|
||||||
connect(clipboard, &QClipboard::selectionChanged, this, [=] {
|
connect(clipboard, &QClipboard::selectionChanged, this, [=] {
|
||||||
if (trans->sel()) {
|
if (trans->sel()) {
|
||||||
auto word = clipboard->text(QClipboard::Selection);
|
lastword = clipboard->text(QClipboard::Selection);
|
||||||
if (trans->isVaildWord(word))
|
|
||||||
trans->translate(word);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
connect(clipboard, &QClipboard::dataChanged, this, [=] {
|
connect(clipboard, &QClipboard::dataChanged, this, [=] {
|
||||||
|
@ -66,6 +52,10 @@ QString YoudaoTrans::pluginComment() {
|
||||||
return tr("A useful En2Zh translate plugin for WingTool");
|
return tr("A useful En2Zh translate plugin for WingTool");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString YoudaoTrans::pluginWebsite() {
|
||||||
|
return "https://code.gitlink.org.cn/wingsummer/YoudaoTrans";
|
||||||
|
}
|
||||||
|
|
||||||
QIcon YoudaoTrans::pluginIcon() { return QIcon(":/youdaotr/icon.png"); }
|
QIcon YoudaoTrans::pluginIcon() { return QIcon(":/youdaotr/icon.png"); }
|
||||||
|
|
||||||
const QMetaObject *YoudaoTrans::serviceMeta() { return trans->metaObject(); }
|
const QMetaObject *YoudaoTrans::serviceMeta() { return trans->metaObject(); }
|
||||||
|
@ -74,13 +64,32 @@ const QPointer<QObject> YoudaoTrans::serviceHandler() {
|
||||||
return QPointer<QObject>(trans);
|
return QPointer<QObject>(trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HookIndex YoudaoTrans::getHookSubscribe() { return HookIndex::ButtonRelease; }
|
||||||
|
|
||||||
|
bool YoudaoTrans::preInit() {
|
||||||
|
trans = new YoudaoService(this);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString YoudaoTrans::translatorFile() { return "YoudaoTrans.qm"; }
|
||||||
|
|
||||||
QVariant YoudaoTrans::pluginServicePipe(int serviceID, QList<QVariant> params) {
|
QVariant YoudaoTrans::pluginServicePipe(int serviceID, QList<QVariant> params) {
|
||||||
Q_UNUSED(serviceID);
|
Q_UNUSED(serviceID);
|
||||||
Q_UNUSED(params);
|
Q_UNUSED(params);
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
void YoudaoTrans::onSetting() { trans->showSettings(); }
|
void YoudaoTrans::onPluginCenter() { trans->showSettings(); }
|
||||||
|
|
||||||
|
void YoudaoTrans::buttonRelease(Qt::MouseButton btn, int x, int y) {
|
||||||
|
Q_UNUSED(x);
|
||||||
|
Q_UNUSED(y);
|
||||||
|
if (trans->enabled() && trans->sel() && btn == Qt::MouseButton::LeftButton) {
|
||||||
|
if (trans->isVaildWord(lastword))
|
||||||
|
trans->translate(lastword);
|
||||||
|
}
|
||||||
|
lastword.clear();
|
||||||
|
}
|
||||||
|
|
||||||
#if QT_VERSION < 0x050000
|
#if QT_VERSION < 0x050000
|
||||||
Q_EXPORT_PLUGIN2(YoudaoTrans, GenericPlugin)
|
Q_EXPORT_PLUGIN2(YoudaoTrans, GenericPlugin)
|
||||||
|
|
|
@ -29,17 +29,24 @@ public:
|
||||||
Catagorys pluginCatagory() override;
|
Catagorys pluginCatagory() override;
|
||||||
uint pluginVersion() override;
|
uint pluginVersion() override;
|
||||||
QString pluginComment() override;
|
QString pluginComment() override;
|
||||||
|
QString pluginWebsite() override;
|
||||||
QIcon pluginIcon() override;
|
QIcon pluginIcon() override;
|
||||||
const QMetaObject *serviceMeta() override;
|
const QMetaObject *serviceMeta() override;
|
||||||
const QPointer<QObject> serviceHandler() override;
|
const QPointer<QObject> serviceHandler() override;
|
||||||
|
HookIndex getHookSubscribe() override;
|
||||||
|
|
||||||
|
bool preInit() override;
|
||||||
|
QString translatorFile() override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
QVariant pluginServicePipe(int serviceID, QList<QVariant> params) override;
|
QVariant pluginServicePipe(int serviceID, QList<QVariant> params) override;
|
||||||
virtual void onSetting() override;
|
void onPluginCenter() override;
|
||||||
|
void buttonRelease(Qt::MouseButton btn, int x, int y) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTranslator translator;
|
QTranslator translator;
|
||||||
YoudaoService *trans;
|
YoudaoService *trans;
|
||||||
|
QString lastword;
|
||||||
|
|
||||||
bool localiztion = true;
|
bool localiztion = true;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue