aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/ComUtils.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-08-23 08:20:19 +0000
committerSaturneric <[email protected]>2021-08-23 08:20:19 +0000
commitbe69cccea41c17214631529cd265476d31dc3406 (patch)
treed8d36c2a85b5d3ab89f2ce011b7b5ff3294bf1dc /src/server/ComUtils.cpp
parentFunctions addition and improvement; (diff)
downloadGpgFrontend-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.cpp11
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();
}