diff options
author | Saturneric <[email protected]> | 2021-08-23 08:20:19 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-08-23 08:20:19 +0000 |
commit | be69cccea41c17214631529cd265476d31dc3406 (patch) | |
tree | d8d36c2a85b5d3ab89f2ce011b7b5ff3294bf1dc /src/server/ComUtils.cpp | |
parent | Functions addition and improvement; (diff) | |
download | GpgFrontend-be69cccea41c17214631529cd265476d31dc3406.tar.gz GpgFrontend-be69cccea41c17214631529cd265476d31dc3406.zip |
Improve the automatic key exchange function; fix some known problems;
Diffstat (limited to 'src/server/ComUtils.cpp')
-rw-r--r-- | src/server/ComUtils.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server/ComUtils.cpp b/src/server/ComUtils.cpp index bd4072f1..6fce493f 100644 --- a/src/server/ComUtils.cpp +++ b/src/server/ComUtils.cpp @@ -160,7 +160,16 @@ QByteArray ComUtils::getSignStringBase64(GpgME::GpgContext *ctx, const QString & QVector<GpgKey> keys{key}; QByteArray outSignText; auto signData = str.toUtf8(); - ctx->sign(keys, signData, &outSignText, GPGME_SIG_MODE_NORMAL); + + // The use of multi-threading brings an improvement in UI smoothness + gpgme_error_t error; + auto thread = QThread::create([&]() { + error = ctx->sign(keys, signData, &outSignText, GPGME_SIG_MODE_NORMAL); + }); + thread->start(); + while (thread->isRunning()) QApplication::processEvents(); + thread->deleteLater(); + return outSignText.toBase64(); } |