diff options
Diffstat (limited to 'lang/qt/src')
-rw-r--r-- | lang/qt/src/protocol.h | 1 | ||||
-rw-r--r-- | lang/qt/src/protocol_p.h | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lang/qt/src/protocol.h b/lang/qt/src/protocol.h index 35789414..e3caac28 100644 --- a/lang/qt/src/protocol.h +++ b/lang/qt/src/protocol.h @@ -128,6 +128,7 @@ public: virtual ExportJob *publicKeyExportJob(bool armor = false) const = 0; // the second parameter is ignored; the passphrase in the exported file is always utf-8 encoded virtual ExportJob *secretKeyExportJob(bool armor = false, const QString & = QString()) const = 0; + virtual ExportJob *secretSubkeyExportJob(bool armor = false) const = 0; virtual DownloadJob *downloadJob(bool armor = false) const = 0; virtual DeleteJob *deleteJob() const = 0; virtual SignEncryptJob *signEncryptJob(bool armor = false, bool textMode = false) const = 0; diff --git a/lang/qt/src/protocol_p.h b/lang/qt/src/protocol_p.h index 054fec6e..08100a48 100644 --- a/lang/qt/src/protocol_p.h +++ b/lang/qt/src/protocol_p.h @@ -254,6 +254,17 @@ public: return new QGpgME::QGpgMEExportJob(context, GpgME::Context::ExportSecret); } + QGpgME::ExportJob *secretSubkeyExportJob(bool armor) const Q_DECL_OVERRIDE + { + GpgME::Context *context = GpgME::Context::createForProtocol(mProtocol); + if (!context) { + return nullptr; + } + + context->setArmor(armor); + return new QGpgME::QGpgMEExportJob(context, GpgME::Context::ExportSecretSubkey); + } + QGpgME::RefreshKeysJob *refreshKeysJob() const Q_DECL_OVERRIDE { if (mProtocol != GpgME::CMS) { // fixme: add support for gpg, too |