diff options
author | saturneric <[email protected]> | 2025-01-27 23:07:49 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-01-27 23:14:21 +0000 |
commit | 0a8a116d2dabedae09995906bef7a4a25af2fd61 (patch) | |
tree | 8c9334041a08fb244aa5686f1413915dd9a24365 /src/ui/function/GpgOperaHelper.cpp | |
parent | fix: tiny fixes (diff) | |
download | GpgFrontend-0a8a116d2dabedae09995906bef7a4a25af2fd61.tar.gz GpgFrontend-0a8a116d2dabedae09995906bef7a4a25af2fd61.zip |
refactor: code clean up
Diffstat (limited to 'src/ui/function/GpgOperaHelper.cpp')
-rw-r--r-- | src/ui/function/GpgOperaHelper.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/ui/function/GpgOperaHelper.cpp b/src/ui/function/GpgOperaHelper.cpp index f762996d..161db70e 100644 --- a/src/ui/function/GpgOperaHelper.cpp +++ b/src/ui/function/GpgOperaHelper.cpp @@ -28,10 +28,12 @@ #include "GpgOperaHelper.h" +#include "core/GpgModel.h" #include "core/function/gpg/GpgFileOpera.h" #include "core/function/result_analyse/GpgDecryptResultAnalyse.h" #include "core/function/result_analyse/GpgEncryptResultAnalyse.h" #include "core/function/result_analyse/GpgSignResultAnalyse.h" +#include "core/function/result_analyse/GpgVerifyResultAnalyse.h" #include "core/model/GpgDecryptResult.h" #include "core/model/GpgEncryptResult.h" #include "core/model/GpgSignResult.h" @@ -530,4 +532,24 @@ auto GpgOperaHelper::BuildOperasDecryptVerify( GpgBasicOperator::GetInstance(channel).DecryptVerify(buffer, callback); }); } + +void GpgOperaHelper::WaitForOpera(QWidget* parent, const QString& title, + const OperaWaitingCb& opera) { + QEventLoop looper; + QPointer<WaitingDialog> const dialog = new WaitingDialog(title, parent); + connect(dialog, &QDialog::finished, &looper, &QEventLoop::quit); + connect(dialog, &QDialog::finished, dialog, &QDialog::deleteLater); + dialog->show(); + + QTimer::singleShot(64, parent, [=]() { + opera([dialog]() { + if (dialog != nullptr) { + dialog->close(); + dialog->accept(); + } + }); + }); + + looper.exec(); +} } // namespace GpgFrontend::UI |