diff options
Diffstat (limited to 'src/ui')
-rwxr-xr-x | src/ui/FileEncryptionDialog.cpp | 18 | ||||
-rw-r--r-- | src/ui/VerifyDetailsDialog.cpp | 8 |
2 files changed, 15 insertions, 11 deletions
diff --git a/src/ui/FileEncryptionDialog.cpp b/src/ui/FileEncryptionDialog.cpp index 813b9278..9cb7b00a 100755 --- a/src/ui/FileEncryptionDialog.cpp +++ b/src/ui/FileEncryptionDialog.cpp @@ -199,19 +199,20 @@ void FileEncryptionDialog::slotExecuteAction() { QByteArray inBuffer = infile.readAll(); auto *outBuffer = new QByteArray(); infile.close(); + + QVector<GpgKey> keys; + mKeyList->getCheckedKeys(keys); + if (mAction == Encrypt) { - if (!mCtx->encrypt(mKeyList->getChecked(), inBuffer, outBuffer)) return; + if (!mCtx->encrypt(keys, inBuffer, outBuffer, nullptr)) return; } if (mAction == Decrypt) { - if (!mCtx->decrypt(inBuffer, outBuffer)) return; + if (!mCtx->decrypt(inBuffer, outBuffer, nullptr)) return; } if (mAction == Sign) { - QVector<GpgKey> keys; - mKeyList->getCheckedKeys(keys); - if (!mCtx->sign(keys, inBuffer, outBuffer, true)) return; - + if (gpgme_err_code(mCtx->sign(keys, inBuffer, outBuffer, true)) != GPG_ERR_NO_ERROR) return; } if (mAction == Verify) { @@ -223,8 +224,9 @@ void FileEncryptionDialog::slotExecuteAction() { return; } auto signBuffer = signfile.readAll(); - gpgme_signature_t sign = mCtx->verify(&inBuffer, &signBuffer); - new VerifyDetailsDialog(this, mCtx, mKeyList, sign); + gpgme_verify_result_t result; + auto error = mCtx->verify(&inBuffer, &signBuffer, &result); + new VerifyDetailsDialog(this, mCtx, mKeyList, error, result); return; } diff --git a/src/ui/VerifyDetailsDialog.cpp b/src/ui/VerifyDetailsDialog.cpp index fe193aa0..9c6ad014 100644 --- a/src/ui/VerifyDetailsDialog.cpp +++ b/src/ui/VerifyDetailsDialog.cpp @@ -24,9 +24,9 @@ #include "ui/VerifyDetailsDialog.h" -VerifyDetailsDialog::VerifyDetailsDialog(QWidget *parent, GpgME::GpgContext *ctx, KeyList *keyList, - gpgme_signature_t signature) : - QDialog(parent), mCtx(ctx), mKeyList(keyList), sign(signature) { +VerifyDetailsDialog::VerifyDetailsDialog(QWidget *parent, GpgME::GpgContext *ctx, KeyList *keyList, gpg_error_t error, + gpgme_verify_result_t result) : + QDialog(parent), mCtx(ctx), mKeyList(keyList), sign(result->signatures), error(error) { this->setWindowTitle(tr("Signature Details")); @@ -50,6 +50,8 @@ void VerifyDetailsDialog::slotRefresh() { buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); connect(buttonBox, SIGNAL(rejected()), this, SLOT(close())); + mVboxLayout->addWidget(new QLabel(tr("Status: ") + gpgme_strerror(error))); + if (sign == nullptr) { mVboxLayout->addWidget(new QLabel(tr("No valid input found"))); mVboxLayout->addWidget(buttonBox); |