diff options
author | Saturneric <[email protected]> | 2021-07-06 18:39:27 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-07-06 18:39:27 +0000 |
commit | f74d788604f1a5d4579cb154d93dcb96e33a6c78 (patch) | |
tree | 3b441177b5f7d68295f4b9d7bbef09103397b0c7 | |
parent | Merge branch 'develop' into main (diff) | |
parent | Fix issues. (diff) | |
download | GpgFrontend-f74d788604f1a5d4579cb154d93dcb96e33a6c78.tar.gz GpgFrontend-f74d788604f1a5d4579cb154d93dcb96e33a6c78.zip |
Merge branch 'develop' into main
# Conflicts:
# README_CN.md
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | README.md | 32 | ||||
-rw-r--r-- | README_CN.md | 19 | ||||
-rw-r--r-- | resource/ts/gpg_frontend_fr.ts | 20 | ||||
-rw-r--r-- | resource/ts/gpg_frontend_ru.ts | 20 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_en_us.ts | 20 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_zh_chs.ts | 20 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_zh_cht.ts | 20 | ||||
-rwxr-xr-x | src/ui/FileEncryptionDialog.cpp | 37 |
9 files changed, 117 insertions, 73 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d7c0785b..e6a86c78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(GpgFrontend VERSION 1.1.1 LANGUAGES CXX) +project(GpgFrontend VERSION 1.1.2 LANGUAGES CXX) message(STATUS "GPGFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}") @@ -9,7 +9,8 @@  [](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_small) -GpgFrontend is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free [OpenPGP](https://www.openpgp.org/) +GpgFrontend is a Powerful, Easy-to-Use, Compact, Cross-Platform, and +Installation-Free [OpenPGP](https://www.openpgp.org/) Crypto Tool. By using GpgFrontend, you can quickly **encrypt and decrypt text or files**. Or at the same time as the above @@ -18,8 +19,8 @@ issued by you. It aims to allow ordinary users to quickly use gpg and make profe GpgFrontend supports new features of OpenPGP. **Notice:** GpgFrontend does not provide an embedded [gnupg](https://gnupg.org/) binary library and needs to be -installed by the user. **This is to ensure safety and avoid code or binary files involved in encryption and decryption being implanted in the backdoor during -the delivery process.** +installed by the user. **This is to ensure safety and avoid code or binary files involved in encryption and decryption +being implanted in the backdoor during the delivery process.** [>> Quick Start](#quick-start) @@ -72,18 +73,24 @@ the delivery process.** ### Quick Start -### Fast encryption +### Fast Text Encryption Encryption can be done in just a few clicks.  -### Fast Decryption +### Fast Text Decryption I want to see what you wrote right away.  +### Fast File Encryption & Sign + +What about files? + + + ### More Helpful Operation Read the animated pictures in the [Document](https://saturneric.github.io/GpgFrontend/index.html#/) to learn more @@ -149,7 +156,8 @@ The GpgFrontend project is as open source, and it also insists on using open sou ## Build -The tutorial for building the software will be released shortly. Before the relevant documents are released, you can refer to the project-related Github Action file if you know it. +The tutorial for building the software will be released shortly. Before the relevant documents are released, you can +refer to the project-related Github Action file if you know it. ## Contract @@ -174,16 +182,20 @@ GpgFrontend itself is licensed under the [GPLv3](COPYING). There are some libraries and binary included in the zip-file which (may) have different licenses, for more information check their homepages. You can also obtain the sources from there. -gpg4usb: https://www.gpg4usb.org/ +gnupg: https://gnupg.org/ -Gnupg: https://gnupg.org/ +gpg4usb: https://www.gpg4usb.org/ -QT: https://www.qt.io/ +QT 5.15.2(opensource): https://www.qt.io/ MSYS2: https://www.msys2.org/ mingw-w64: http://mingw-w64.org/doku.php -The icons of this software use materials from Alibaba vector icon library. The Alibaba vector icon library is free to +AppImage: https://appimage.org/ + +Application Bundles: [Link](!https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1) + +The icons of this software use materials from [Alibaba Iconfont](!https://www.iconfont.cn/). The Alibaba vector icon library is free to use. The icons in the free library aren't registered as trademarks. There is no copyright issue involved and can be used commercially. diff --git a/README_CN.md b/README_CN.md index eeb018be..6ce4fe6a 100644 --- a/README_CN.md +++ b/README_CN.md @@ -43,7 +43,6 @@ GpgFrontend 是一个易于使用、小巧、跨平台和免安装的 [OpenPGP]( - [Windows](#windows) - [macOS](#macos) - [Debian/Ubuntu/CentOS](#debianubuntucentos) - - [文档](#文档) - [开发宗旨](#开发宗旨) - [构建方法](#构建方法) @@ -76,6 +75,12 @@ GpgFrontend 是一个易于使用、小巧、跨平台和免安装的 [OpenPGP](  +### 快速文件加密与签名 + +对于文件,我该怎么做? + + + ### 还有那些有用的操作 阅读 [文档](https://saturneric.github.io/GpgFrontend/index.html#/) 中的动图,了解更多精彩操作。 @@ -160,14 +165,18 @@ GpgFrontend 在 [GPLv3](COPYING) 许可证下。 项目使用到了一些库和二进制文件,它们(可能)具有不同的许可证,请查看它们的主页获取更多信息。您也可以从那里获取相关信息。 -gpg4usb: https://www.gpg4usb.org/ +gnupg: https://gnupg.org/ -Gnupg: https://gnupg.org/ +gpg4usb: https://www.gpg4usb.org/ -QT: https://www.qt.io/ +QT 5.15.2(opensource): https://www.qt.io/ MSYS2: https://www.msys2.org/ mingw-w64: http://mingw-w64.org/doku.php -本软件图标使用来自阿里巴巴矢量图标库的素材。免费库中的图标未注册为商标。不涉及版权问题。 +AppImage: https://appimage.org/ + +Application Bundles: [Link](!https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1) + +本软件图标使用来自 [阿里巴巴矢量图标库](!https://www.iconfont.cn/) 的素材。免费库中的图标未注册为商标。不涉及版权问题。
\ No newline at end of file diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts index 8db386f7..26d37952 100644 --- a/resource/ts/gpg_frontend_fr.ts +++ b/resource/ts/gpg_frontend_fr.ts @@ -292,52 +292,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="144"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="146"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="148"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="156"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="158"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="160"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="205"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="211"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="206"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="212"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpg_frontend_ru.ts b/resource/ts/gpg_frontend_ru.ts index cbe79ea5..9b7bd957 100644 --- a/resource/ts/gpg_frontend_ru.ts +++ b/resource/ts/gpg_frontend_ru.ts @@ -292,52 +292,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="144"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="146"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="148"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="156"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="158"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="160"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="205"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="211"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="206"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="212"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts index 39d72fca..85668d11 100644 --- a/resource/ts/gpgfrontend_en_us.ts +++ b/resource/ts/gpgfrontend_en_us.ts @@ -292,52 +292,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="144"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="146"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="148"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="156"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="158"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="160"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="205"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="211"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="206"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="212"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_chs.ts b/resource/ts/gpgfrontend_zh_chs.ts index 0e80e99a..8e1012b7 100644 --- a/resource/ts/gpgfrontend_zh_chs.ts +++ b/resource/ts/gpgfrontend_zh_chs.ts @@ -292,52 +292,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="144"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="146"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="148"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="156"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="158"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="160"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="205"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="211"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="206"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="212"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_cht.ts b/resource/ts/gpgfrontend_zh_cht.ts index 0e80e99a..8e1012b7 100644 --- a/resource/ts/gpgfrontend_zh_cht.ts +++ b/resource/ts/gpgfrontend_zh_cht.ts @@ -292,52 +292,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="144"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="146"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="148"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="150"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="156"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="152"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="158"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="154"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="160"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="205"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="211"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="206"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="212"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> diff --git a/src/ui/FileEncryptionDialog.cpp b/src/ui/FileEncryptionDialog.cpp index 9cb7b00a..e92dfc90 100755 --- a/src/ui/FileEncryptionDialog.cpp +++ b/src/ui/FileEncryptionDialog.cpp @@ -203,27 +203,50 @@ void FileEncryptionDialog::slotExecuteAction() { QVector<GpgKey> keys; mKeyList->getCheckedKeys(keys); + qDebug() << "slotExecuteAction" << mAction; + if (mAction == Encrypt) { - if (!mCtx->encrypt(keys, inBuffer, outBuffer, nullptr)) return; + qDebug() << "Action Encrypt"; + gpgme_error_t err = mCtx->encrypt(keys, inBuffer, outBuffer, nullptr); + if (gpgme_err_code(err) != GPG_ERR_NO_ERROR) { + qDebug() << "Error" << gpgme_strerror(err); + QMessageBox::warning(this, tr("Error"), + tr("Error Occurred During Encryption")); + return; + } } if (mAction == Decrypt) { - if (!mCtx->decrypt(inBuffer, outBuffer, nullptr)) return; + qDebug() << "Action Decrypt"; + gpgme_error_t err = mCtx->decrypt(inBuffer, outBuffer, nullptr); + if (gpgme_err_code(err) != GPG_ERR_NO_ERROR) { + qDebug() << "Error" << gpgme_strerror(err); + QMessageBox::warning(this, tr("Error"), + tr("Error Occurred During Decryption")); + return; + } } if (mAction == Sign) { - if (gpgme_err_code(mCtx->sign(keys, inBuffer, outBuffer, true)) != GPG_ERR_NO_ERROR) return; + qDebug() << "Action Sign"; + gpgme_error_t err = mCtx->sign(keys, inBuffer, outBuffer, true); + if (gpgme_err_code(err) != GPG_ERR_NO_ERROR) { + qDebug() << "Error" << gpgme_strerror(err); + QMessageBox::warning(this, tr("Error"), + tr("Error Occurred During Signature")); + return; + } } if (mAction == Verify) { - QFile signfile; - signfile.setFileName(signFileEdit->text()); - if (!signfile.open(QIODevice::ReadOnly)) { + QFile sign_file; + sign_file.setFileName(signFileEdit->text()); + if (!sign_file.open(QIODevice::ReadOnly)) { statusLabel->setText(tr("Couldn't open file")); signFileEdit->setStyleSheet("QLineEdit { background: yellow }"); return; } - auto signBuffer = signfile.readAll(); + auto signBuffer = sign_file.readAll(); gpgme_verify_result_t result; auto error = mCtx->verify(&inBuffer, &signBuffer, &result); new VerifyDetailsDialog(this, mCtx, mKeyList, error, result); |