Index: lang/qt/src/exportjob.h =================================================================== --- lang/qt/src/exportjob.h +++ lang/qt/src/exportjob.h @@ -80,6 +80,12 @@ virtual void setExportFlags (unsigned int flags); + /** + * Starts the export operation synchronously, otherwise behaves identical to + * ExportJob::start + */ + virtual GpgME::Error exec(const QStringList &patterns, QByteArray &data); + Q_SIGNALS: void result(const GpgME::Error &result, const QByteArray &keyData, const QString &auditLogAsHtml = QString(), const GpgME::Error &auditLogError = GpgME::Error()); }; Index: lang/qt/src/qgpgmeexportjob.h =================================================================== --- lang/qt/src/qgpgmeexportjob.h +++ lang/qt/src/qgpgmeexportjob.h @@ -69,6 +69,7 @@ /* from ExportJob */ GpgME::Error start(const QStringList &patterns) override; + GpgME::Error exec(const QStringList &patterns, QByteArray &data) override; private: unsigned int m_exportMode; Index: lang/qt/src/qgpgmeexportjob.cpp =================================================================== --- lang/qt/src/qgpgmeexportjob.cpp +++ lang/qt/src/qgpgmeexportjob.cpp @@ -88,6 +88,14 @@ return Error(); } +Error QGpgMEExportJob::exec(const QStringList &patterns, QByteArray &data) +{ + auto mode = m_exportMode | m_additionalExportModeFlags; + const result_type r = export_qba(context(), patterns, mode); + data = std::get<1>(r); + return std::get<0>(r); +} + void QGpgMEExportJob::setExportFlags(unsigned int flags) { m_additionalExportModeFlags = flags; @@ -97,4 +105,10 @@ void ExportJob::setExportFlags(unsigned int) { } + +/* For ABI compat not pure virtual. */ +GpgME::Error ExportJob::exec(const QStringList &patterns, QByteArray &data) +{ +} + #include "qgpgmeexportjob.moc"