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 | |
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 '')
-rw-r--r-- | include/gpg/GpgContext.h | 9 | ||||
-rw-r--r-- | include/server/BaseAPI.h | 2 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_en_us.ts | 221 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_es.ts | 221 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_fr.ts | 221 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_ru.ts | 221 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_zh_cn.ts | 221 | ||||
-rw-r--r-- | src/advance/UnknownSignersChecker.cpp | 18 | ||||
-rw-r--r-- | src/gpg/gpg_context/GpgContext.cpp | 30 | ||||
-rw-r--r-- | src/gpg/gpg_context/GpgContextBasicOpera.cpp | 4 | ||||
-rw-r--r-- | src/gpg/gpg_context/GpgContextKeyOpera.cpp | 25 | ||||
-rw-r--r-- | src/gpg/result_analyse/EncryptResultAnalyse.cpp | 2 | ||||
-rw-r--r-- | src/gpg/result_analyse/SignResultAnalyse.cpp | 4 | ||||
-rw-r--r-- | src/gpg/result_analyse/VerifyResultAnalyse.cpp | 20 | ||||
-rw-r--r-- | src/server/ComUtils.cpp | 11 | ||||
-rw-r--r-- | src/server/api/PubkeyUploader.cpp | 38 | ||||
-rw-r--r-- | src/ui/keypair_details/KeyUIDSignDialog.cpp | 3 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowSlotFunction.cpp | 35 | ||||
-rw-r--r-- | src/ui/settings/SettingsGeneral.cpp | 12 |
19 files changed, 737 insertions, 581 deletions
diff --git a/include/gpg/GpgContext.h b/include/gpg/GpgContext.h index fd9983bf..e6e81626 100644 --- a/include/gpg/GpgContext.h +++ b/include/gpg/GpgContext.h @@ -109,11 +109,12 @@ namespace GpgME { bool exportSecretKey(const GpgKey &key, QByteArray *outBuffer); - void getSigners(QVector<GpgKey> &signer); + void getSigners(QVector<GpgKey> &signer, gpgme_ctx_t ctx); - void setSigners(const QVector<GpgKey> &keys); + static void setSigners(const QVector<GpgKey> &keys, gpgme_ctx_t ctx); - bool signKey(const GpgKey &target, const QString &uid, const QDateTime *expires); + bool signKey(const GpgKey &target, const QVector<GpgKey> &keys, const QString &uid, + const QDateTime *expires); bool revSign(const GpgKey &key, const GpgKeySignature &signature); @@ -201,6 +202,8 @@ namespace GpgME { QMap<QString, GpgKey *> mKeyMap; + gpgme_ctx_t create_ctx(); + static gpgme_error_t readToBuffer(gpgme_data_t dataIn, QByteArray *outBuffer); void fetch_keys(); diff --git a/include/server/BaseAPI.h b/include/server/BaseAPI.h index 20d7e7e9..4843413d 100644 --- a/include/server/BaseAPI.h +++ b/include/server/BaseAPI.h @@ -36,7 +36,7 @@ public: explicit BaseAPI(ComUtils::ServiceType serviceType); - ~BaseAPI() override; + virtual ~BaseAPI(); void start(); diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts index a5f7be5a..9adfc9a4 100644 --- a/resource/ts/gpgfrontend_en_us.ts +++ b/resource/ts/gpgfrontend_en_us.ts @@ -481,100 +481,100 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="56"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="52"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="59"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="55"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="68"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="64"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="71"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="67"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="78"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="74"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="87"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="83"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="92"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="100"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> <source>Get Service Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="101"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="230"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="97"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="234"/> <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="107"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="103"/> <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="124"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="120"/> <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="248"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="252"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="249"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="253"/> <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="261"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="265"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="336"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="262"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="266"/> <source>Key Not Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="337"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="345"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="350"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="346"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="351"/> <source>Succeed in getting service token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>There is a problem with the communication with the server</source> <translation type="unfinished"></translation> </message> @@ -2041,22 +2041,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="99"/> <source>Unsuccessful Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Signature operation failed for UID </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="107"/> <source>Operation Complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>The signature operation of the UID is complete</source> <translation type="unfinished"></translation> </message> @@ -2169,8 +2169,8 @@ <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="218"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="231"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Error</source> <translation type="unfinished"></translation> </message> @@ -2205,6 +2205,7 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="150"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="226"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="409"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="375"/> <source>Warning</source> <translation type="unfinished"></translation> </message> @@ -2220,8 +2221,8 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="422"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> <source>No Key Selected</source> <translation type="unfinished"></translation> @@ -2229,15 +2230,15 @@ <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="69"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="51"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="70"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="247"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -2245,15 +2246,15 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="71"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="54"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="135"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="71"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="72"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> @@ -2269,7 +2270,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="268"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="150"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="151"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2290,7 +2291,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="258"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="259"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> @@ -2339,7 +2340,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="456"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="461"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> @@ -2402,76 +2403,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="403"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="408"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="404"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="104"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="409"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Short Crypto Text only supports Decrypt & Verify.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="200"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="410"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="376"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="415"/> <source>Service Token Empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="411"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="416"/> <source>Please go to the settings interface to set Own Key and get Service Token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Key Not Found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="560"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="572"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="561"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="573"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="575"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="582"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="579"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="568"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="580"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2999,14 +3005,14 @@ <context> <name>PubkeyGetter</name> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="79"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="66"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="90"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="80"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="104"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="67"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="91"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> @@ -3014,22 +3020,22 @@ <context> <name>PubkeyUploader</name> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="94"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="95"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="95"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="96"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="102"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="103"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="104"/> <source>Partial failure of automatic pubkey exchange</source> <translation type="unfinished"></translation> </message> @@ -3042,102 +3048,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="61"/> <source>One or More Bad Signatures.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>A </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="70"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> <source>Good </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="71"/> <source>Bad </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="76"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="77"/> <source>Missing Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="82"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="80"/> <source>Revoked Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="83"/> <source>Expired Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="88"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="86"/> <source>Missing CRL's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="90"/> <source>Signature Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="94"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> <source>Signature NOT Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="102"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>Key is NOT present with ID 0x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="109"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>A signature could NOT be verified due to a Missing Key </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="111"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="121"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="119"/> <source>A signature is valid but expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="126"/> <source>A signature is valid but the key used to verify the signature has expired. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="135"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="133"/> <source>There was some other error which prevented the signature verification. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="141"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="139"/> <source>Error for key with fingerprint </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="154"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="152"/> <source>Signed By: </source> <translation type="unfinished"></translation> </message> @@ -3379,68 +3385,68 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="45"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> <source> Sign Mode: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="53"/> <source>Detach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="57"/> <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source> Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source><unknown></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> <source> Public Key Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="62"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="64"/> <source> Hash Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="65"/> <source> Date & Time: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="75"/> <source>Invalid Signers: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="77"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> <source>[>] Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="78"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="80"/> <source> Fingerprint: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="81"/> <source> Reason: </source> <translation type="unfinished"></translation> </message> @@ -3590,6 +3596,19 @@ </message> </context> <context> + <name>UnknownSignersChecker</name> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="69"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="70"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>UpdateTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> @@ -3798,22 +3817,22 @@ <context> <name>VerifyResultAnalyse</name> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="33"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="31"/> <source>[#] Verify Operation </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="34"/> <source>[Success]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="38"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> <source>[Failed] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="166"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="158"/> <source><Unknown></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_es.ts b/resource/ts/gpgfrontend_es.ts index 2b366319..866ccad0 100644 --- a/resource/ts/gpgfrontend_es.ts +++ b/resource/ts/gpgfrontend_es.ts @@ -481,100 +481,100 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="56"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="52"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="59"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="55"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="68"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="64"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="71"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="67"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="78"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="74"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="87"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="83"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="92"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="100"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> <source>Get Service Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="101"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="230"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="97"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="234"/> <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="107"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="103"/> <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="124"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="120"/> <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="248"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="252"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="249"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="253"/> <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="261"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="265"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="336"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="262"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="266"/> <source>Key Not Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="337"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="345"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="350"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="346"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="351"/> <source>Succeed in getting service token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>There is a problem with the communication with the server</source> <translation type="unfinished"></translation> </message> @@ -2041,22 +2041,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="99"/> <source>Unsuccessful Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Signature operation failed for UID </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="107"/> <source>Operation Complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>The signature operation of the UID is complete</source> <translation type="unfinished"></translation> </message> @@ -2169,8 +2169,8 @@ <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="218"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="231"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Error</source> <translation type="unfinished"></translation> </message> @@ -2205,6 +2205,7 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="150"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="226"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="409"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="375"/> <source>Warning</source> <translation type="unfinished"></translation> </message> @@ -2220,8 +2221,8 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="422"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> <source>No Key Selected</source> <translation type="unfinished"></translation> @@ -2229,15 +2230,15 @@ <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="69"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="51"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="70"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="247"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -2245,15 +2246,15 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="71"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="54"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="135"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="71"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="72"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> @@ -2269,7 +2270,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="268"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="150"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="151"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2290,7 +2291,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="258"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="259"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> @@ -2339,7 +2340,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="456"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="461"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> @@ -2402,76 +2403,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="403"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="408"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="404"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="104"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="409"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Short Crypto Text only supports Decrypt & Verify.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="200"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="410"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="376"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="415"/> <source>Service Token Empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="411"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="416"/> <source>Please go to the settings interface to set Own Key and get Service Token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Key Not Found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="560"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="572"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="561"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="573"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="575"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="582"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="579"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="568"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="580"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2999,14 +3005,14 @@ <context> <name>PubkeyGetter</name> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="79"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="66"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="90"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="80"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="104"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="67"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="91"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> @@ -3014,22 +3020,22 @@ <context> <name>PubkeyUploader</name> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="94"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="95"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="95"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="96"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="102"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="103"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="104"/> <source>Partial failure of automatic pubkey exchange</source> <translation type="unfinished"></translation> </message> @@ -3042,102 +3048,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="61"/> <source>One or More Bad Signatures.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>A </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="70"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> <source>Good </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="71"/> <source>Bad </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="76"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="77"/> <source>Missing Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="82"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="80"/> <source>Revoked Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="83"/> <source>Expired Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="88"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="86"/> <source>Missing CRL's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="90"/> <source>Signature Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="94"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> <source>Signature NOT Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="102"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>Key is NOT present with ID 0x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="109"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>A signature could NOT be verified due to a Missing Key </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="111"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="121"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="119"/> <source>A signature is valid but expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="126"/> <source>A signature is valid but the key used to verify the signature has expired. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="135"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="133"/> <source>There was some other error which prevented the signature verification. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="141"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="139"/> <source>Error for key with fingerprint </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="154"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="152"/> <source>Signed By: </source> <translation type="unfinished"></translation> </message> @@ -3379,68 +3385,68 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="45"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> <source> Sign Mode: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="53"/> <source>Detach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="57"/> <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source> Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source><unknown></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> <source> Public Key Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="62"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="64"/> <source> Hash Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="65"/> <source> Date & Time: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="75"/> <source>Invalid Signers: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="77"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> <source>[>] Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="78"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="80"/> <source> Fingerprint: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="81"/> <source> Reason: </source> <translation type="unfinished"></translation> </message> @@ -3590,6 +3596,19 @@ </message> </context> <context> + <name>UnknownSignersChecker</name> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="69"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="70"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>UpdateTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> @@ -3798,22 +3817,22 @@ <context> <name>VerifyResultAnalyse</name> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="33"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="31"/> <source>[#] Verify Operation </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="34"/> <source>[Success]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="38"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> <source>[Failed] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="166"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="158"/> <source><Unknown></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_fr.ts b/resource/ts/gpgfrontend_fr.ts index 81b7ab11..8522c9be 100644 --- a/resource/ts/gpgfrontend_fr.ts +++ b/resource/ts/gpgfrontend_fr.ts @@ -481,100 +481,100 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="56"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="52"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="59"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="55"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="68"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="64"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="71"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="67"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="78"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="74"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="87"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="83"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="92"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="100"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> <source>Get Service Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="101"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="230"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="97"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="234"/> <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="107"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="103"/> <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="124"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="120"/> <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="248"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="252"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="249"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="253"/> <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="261"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="265"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="336"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="262"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="266"/> <source>Key Not Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="337"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="345"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="350"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="346"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="351"/> <source>Succeed in getting service token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>There is a problem with the communication with the server</source> <translation type="unfinished"></translation> </message> @@ -2041,22 +2041,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="99"/> <source>Unsuccessful Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Signature operation failed for UID </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="107"/> <source>Operation Complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>The signature operation of the UID is complete</source> <translation type="unfinished"></translation> </message> @@ -2169,8 +2169,8 @@ <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="218"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="231"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Error</source> <translation type="unfinished"></translation> </message> @@ -2205,6 +2205,7 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="150"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="226"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="409"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="375"/> <source>Warning</source> <translation type="unfinished"></translation> </message> @@ -2220,8 +2221,8 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="422"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> <source>No Key Selected</source> <translation type="unfinished"></translation> @@ -2229,15 +2230,15 @@ <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="69"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="51"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="70"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="247"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -2245,15 +2246,15 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="71"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="54"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="135"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="71"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="72"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> @@ -2269,7 +2270,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="268"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="150"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="151"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2290,7 +2291,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="258"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="259"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> @@ -2339,7 +2340,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="456"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="461"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> @@ -2402,76 +2403,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="403"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="408"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="404"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="104"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="409"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Short Crypto Text only supports Decrypt & Verify.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="200"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="410"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="376"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="415"/> <source>Service Token Empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="411"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="416"/> <source>Please go to the settings interface to set Own Key and get Service Token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Key Not Found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="560"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="572"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="561"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="573"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="575"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="582"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="579"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="568"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="580"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2999,14 +3005,14 @@ <context> <name>PubkeyGetter</name> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="79"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="66"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="90"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="80"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="104"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="67"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="91"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> @@ -3014,22 +3020,22 @@ <context> <name>PubkeyUploader</name> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="94"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="95"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="95"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="96"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="102"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="103"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="104"/> <source>Partial failure of automatic pubkey exchange</source> <translation type="unfinished"></translation> </message> @@ -3042,102 +3048,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="61"/> <source>One or More Bad Signatures.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>A </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="70"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> <source>Good </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="71"/> <source>Bad </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="76"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="77"/> <source>Missing Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="82"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="80"/> <source>Revoked Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="83"/> <source>Expired Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="88"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="86"/> <source>Missing CRL's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="90"/> <source>Signature Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="94"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> <source>Signature NOT Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="102"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>Key is NOT present with ID 0x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="109"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>A signature could NOT be verified due to a Missing Key </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="111"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="121"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="119"/> <source>A signature is valid but expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="126"/> <source>A signature is valid but the key used to verify the signature has expired. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="135"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="133"/> <source>There was some other error which prevented the signature verification. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="141"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="139"/> <source>Error for key with fingerprint </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="154"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="152"/> <source>Signed By: </source> <translation type="unfinished"></translation> </message> @@ -3379,68 +3385,68 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="45"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> <source> Sign Mode: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="53"/> <source>Detach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="57"/> <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source> Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source><unknown></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> <source> Public Key Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="62"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="64"/> <source> Hash Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="65"/> <source> Date & Time: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="75"/> <source>Invalid Signers: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="77"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> <source>[>] Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="78"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="80"/> <source> Fingerprint: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="81"/> <source> Reason: </source> <translation type="unfinished"></translation> </message> @@ -3590,6 +3596,19 @@ </message> </context> <context> + <name>UnknownSignersChecker</name> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="69"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="70"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>UpdateTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> @@ -3798,22 +3817,22 @@ <context> <name>VerifyResultAnalyse</name> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="33"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="31"/> <source>[#] Verify Operation </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="34"/> <source>[Success]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="38"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> <source>[Failed] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="166"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="158"/> <source><Unknown></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_ru.ts b/resource/ts/gpgfrontend_ru.ts index dd2c7406..a37303ef 100644 --- a/resource/ts/gpgfrontend_ru.ts +++ b/resource/ts/gpgfrontend_ru.ts @@ -481,100 +481,100 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="56"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="52"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="59"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="55"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="68"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="64"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="71"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="67"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="78"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="74"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="87"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="83"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="92"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="100"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> <source>Get Service Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="101"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="230"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="97"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="234"/> <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="107"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="103"/> <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="124"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="120"/> <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="248"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="252"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="249"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="253"/> <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="261"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="265"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="336"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="262"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="266"/> <source>Key Not Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="337"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="345"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="350"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="346"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="351"/> <source>Succeed in getting service token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>There is a problem with the communication with the server</source> <translation type="unfinished"></translation> </message> @@ -2041,22 +2041,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="99"/> <source>Unsuccessful Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Signature operation failed for UID </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="107"/> <source>Operation Complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>The signature operation of the UID is complete</source> <translation type="unfinished"></translation> </message> @@ -2169,8 +2169,8 @@ <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="218"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="231"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Error</source> <translation type="unfinished"></translation> </message> @@ -2205,6 +2205,7 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="150"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="226"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="409"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="375"/> <source>Warning</source> <translation type="unfinished"></translation> </message> @@ -2220,8 +2221,8 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="422"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> <source>No Key Selected</source> <translation type="unfinished"></translation> @@ -2229,15 +2230,15 @@ <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="69"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="51"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="70"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="247"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -2245,15 +2246,15 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="71"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="54"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="135"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="71"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="72"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> @@ -2269,7 +2270,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="268"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="150"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="151"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2290,7 +2291,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="258"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="259"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> @@ -2339,7 +2340,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="456"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="461"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> @@ -2402,76 +2403,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="403"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="408"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="404"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="104"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="409"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Short Crypto Text only supports Decrypt & Verify.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="200"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="410"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="376"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="415"/> <source>Service Token Empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="411"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="416"/> <source>Please go to the settings interface to set Own Key and get Service Token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Key Not Found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="560"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="572"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="561"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="573"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="575"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="582"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="579"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="568"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="580"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2999,14 +3005,14 @@ <context> <name>PubkeyGetter</name> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="79"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="66"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="90"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="80"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="104"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="67"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="91"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> @@ -3014,22 +3020,22 @@ <context> <name>PubkeyUploader</name> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="94"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="95"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="95"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="96"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="102"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="103"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="104"/> <source>Partial failure of automatic pubkey exchange</source> <translation type="unfinished"></translation> </message> @@ -3042,102 +3048,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="61"/> <source>One or More Bad Signatures.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>A </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="70"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> <source>Good </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="71"/> <source>Bad </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="76"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="77"/> <source>Missing Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="82"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="80"/> <source>Revoked Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="83"/> <source>Expired Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="88"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="86"/> <source>Missing CRL's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="90"/> <source>Signature Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="94"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> <source>Signature NOT Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="102"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>Key is NOT present with ID 0x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="109"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>A signature could NOT be verified due to a Missing Key </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="111"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="121"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="119"/> <source>A signature is valid but expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="126"/> <source>A signature is valid but the key used to verify the signature has expired. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="135"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="133"/> <source>There was some other error which prevented the signature verification. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="141"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="139"/> <source>Error for key with fingerprint </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="154"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="152"/> <source>Signed By: </source> <translation type="unfinished"></translation> </message> @@ -3379,68 +3385,68 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="45"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> <source> Sign Mode: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="53"/> <source>Detach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="57"/> <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source> Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source><unknown></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> <source> Public Key Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="62"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="64"/> <source> Hash Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="65"/> <source> Date & Time: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="75"/> <source>Invalid Signers: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="77"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> <source>[>] Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="78"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="80"/> <source> Fingerprint: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="81"/> <source> Reason: </source> <translation type="unfinished"></translation> </message> @@ -3590,6 +3596,19 @@ </message> </context> <context> + <name>UnknownSignersChecker</name> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="69"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="70"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>UpdateTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> @@ -3798,22 +3817,22 @@ <context> <name>VerifyResultAnalyse</name> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="33"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="31"/> <source>[#] Verify Operation </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="34"/> <source>[Success]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="38"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> <source>[Failed] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="166"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="158"/> <source><Unknown></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_cn.ts b/resource/ts/gpgfrontend_zh_cn.ts index a81b6e2b..61728942 100644 --- a/resource/ts/gpgfrontend_zh_cn.ts +++ b/resource/ts/gpgfrontend_zh_cn.ts @@ -481,100 +481,100 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="56"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="52"/> <source>Save Checked Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="59"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="55"/> <source>Save checked private keys on exit and restore them on next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="68"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="64"/> <source>Confirm drag'n'drop key import</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="71"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="67"/> <source>Import files dropped on the keylist without confirmation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="78"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="74"/> <source>Language</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="87"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="83"/> <source><b>NOTE: </b> GpgFrontend will restart automatically if you change the language!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="92"/> <source>Own key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="100"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="96"/> <source>Get Service Token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="101"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="230"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="97"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="234"/> <source>No Service Token Found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="107"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="103"/> <source><none></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="124"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="120"/> <source>Key pair for synchronization and identity authentication</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="248"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="252"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="249"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="253"/> <source>Own Key can not be None while getting service token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="261"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="265"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="336"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="262"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="266"/> <source>Key Not Exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="332"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="337"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="345"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="350"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="346"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="351"/> <source>Succeed in getting service token</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="348"/> + <location filename="../../src/ui/settings/SettingsGeneral.cpp" line="353"/> <source>There is a problem with the communication with the server</source> <translation type="unfinished"></translation> </message> @@ -2041,22 +2041,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="99"/> <source>Unsuccessful Operation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="101"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="100"/> <source>Signature operation failed for UID </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="107"/> <source>Operation Complete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="109"/> + <location filename="../../src/ui/keypair_details/KeyUIDSignDialog.cpp" line="108"/> <source>The signature operation of the UID is complete</source> <translation type="unfinished"></translation> </message> @@ -2169,8 +2169,8 @@ <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="218"/> <location filename="../../src/ui/main_window/MainWindowServerSlotFunction.cpp" line="231"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Error</source> <translation type="unfinished"></translation> </message> @@ -2205,6 +2205,7 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="150"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="226"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="409"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="375"/> <source>Warning</source> <translation type="unfinished"></translation> </message> @@ -2220,8 +2221,8 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="62"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="239"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="422"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> <source>No Key Selected</source> <translation type="unfinished"></translation> @@ -2229,15 +2230,15 @@ <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="69"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="51"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="132"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="70"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="247"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="52"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -2245,15 +2246,15 @@ <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="71"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="248"/> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="436"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="53"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="54"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="135"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="312"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="91"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="71"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="72"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> @@ -2269,7 +2270,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="268"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="150"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="151"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2290,7 +2291,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="353"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="258"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="259"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> @@ -2339,7 +2340,7 @@ </message> <message> <location filename="../../src/ui/main_window/MainWindowFileSlotFunction.cpp" line="551"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="456"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="461"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> @@ -2402,76 +2403,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="102"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="403"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="408"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="404"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="104"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="409"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="133"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="134"/> <source>The selected key contains a key that does not actually have a signature usage.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Notice</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="185"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/> <source>Short Crypto Text only supports Decrypt & Verify.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="200"/> <source>Decrypting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="410"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="376"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="415"/> <source>Service Token Empty</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="411"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="416"/> <source>Please go to the settings interface to set Own Key and get Service Token.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="529"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> <source>Key Not Found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="560"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="572"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="561"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="573"/> <source>This version(%1) is out of date, please update the latest version in time. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="570"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="575"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="582"/> <source>You can download the latest version(%1) on Github Releases Page.<br/></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="579"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="568"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="580"/> <source>This version(%1) has not been officially released and is not recommended for use in a production environment. <br/></source> <translation type="unfinished"></translation> </message> @@ -2999,14 +3005,14 @@ <context> <name>PubkeyGetter</name> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="79"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="66"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="90"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyGetter.cpp" line="80"/> - <location filename="../../src/server/PubkeyGetter.cpp" line="104"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="67"/> + <location filename="../../src/server/api/PubkeyGetter.cpp" line="91"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> @@ -3014,22 +3020,22 @@ <context> <name>PubkeyUploader</name> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="94"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="95"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="95"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="96"/> <source>The communication content with the server does not meet the requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="102"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="103"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/server/PubkeyUploader.cpp" line="103"/> + <location filename="../../src/server/api/PubkeyUploader.cpp" line="104"/> <source>Partial failure of automatic pubkey exchange</source> <translation type="unfinished"></translation> </message> @@ -3042,102 +3048,102 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="61"/> <source>One or More Bad Signatures.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="66"/> <source>A </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="70"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="68"/> <source>Good </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="71"/> <source>Bad </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="76"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="74"/> <source>Expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="77"/> <source>Missing Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="82"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="80"/> <source>Revoked Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="85"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="83"/> <source>Expired Key's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="88"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="86"/> <source>Missing CRL's </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="90"/> <source>Signature Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="94"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="92"/> <source>Signature NOT Fully Valid.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="102"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="100"/> <source>Key is NOT present with ID 0x</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="109"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="107"/> <source>A signature could NOT be verified due to a Missing Key </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="113"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="111"/> <source>A signature is valid but the key used to verify the signature has been revoked </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="121"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="119"/> <source>A signature is valid but expired </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="128"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="126"/> <source>A signature is valid but the key used to verify the signature has expired. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="135"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="133"/> <source>There was some other error which prevented the signature verification. </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="141"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="139"/> <source>Error for key with fingerprint </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="154"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="152"/> <source>Signed By: </source> <translation type="unfinished"></translation> </message> @@ -3379,68 +3385,68 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="45"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> <source> Sign Mode: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="47"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> <source>Normal</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="49"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> <source>Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="51"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="53"/> <source>Detach</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="57"/> <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source> Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="59"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> <source><unknown></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="61"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> <source> Public Key Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="62"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="64"/> <source> Hash Algo: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="63"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="65"/> <source> Date & Time: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="73"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="75"/> <source>Invalid Signers: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="77"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> <source>[>] Signer: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="78"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="80"/> <source> Fingerprint: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="79"/> + <location filename="../../src/gpg/result_analyse/SignResultAnalyse.cpp" line="81"/> <source> Reason: </source> <translation type="unfinished"></translation> </message> @@ -3590,6 +3596,19 @@ </message> </context> <context> + <name>UnknownSignersChecker</name> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="69"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/advance/UnknownSignersChecker.cpp" line="70"/> + <source>Automatic public key exchange failed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>UpdateTab</name> <message> <location filename="../../src/ui/help/AboutDialog.cpp" line="129"/> @@ -3798,22 +3817,22 @@ <context> <name>VerifyResultAnalyse</name> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="33"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="31"/> <source>[#] Verify Operation </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="34"/> <source>[Success]</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="38"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="36"/> <source>[Failed] </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="166"/> + <location filename="../../src/gpg/result_analyse/VerifyResultAnalyse.cpp" line="158"/> <source><Unknown></source> <translation type="unfinished"></translation> </message> diff --git a/src/advance/UnknownSignersChecker.cpp b/src/advance/UnknownSignersChecker.cpp index 30f9341f..69897e31 100644 --- a/src/advance/UnknownSignersChecker.cpp +++ b/src/advance/UnknownSignersChecker.cpp @@ -23,7 +23,6 @@ */ #include "advance/UnknownSignersChecker.h" -#include "server/api/PubkeyGetter.h" UnknownSignersChecker::UnknownSignersChecker(GpgME::GpgContext *ctx, gpgme_verify_result_t result) : @@ -47,7 +46,7 @@ void UnknownSignersChecker::start() { check_signer(sign); break; case GPG_ERR_NO_PUBKEY: - break; + case GPG_ERR_CERT_REVOKED: case GPG_ERR_SIG_EXPIRED: case GPG_ERR_KEY_EXPIRED: @@ -62,20 +61,19 @@ void UnknownSignersChecker::start() { sign = sign->next; } - auto pubkeyGetter = PubkeyGetter(mCtx, unknownFprs); - pubkeyGetter.start(); - if (!pubkeyGetter.result()) { - QMessageBox::warning(nullptr, - tr("Warning"), - tr("Automatic public key exchange failed.")); + if(!unknownFprs.isEmpty()) { + auto pubkeyGetter = PubkeyGetter(mCtx, unknownFprs); + pubkeyGetter.start(); + if (!pubkeyGetter.result()) { + + } } } void UnknownSignersChecker::check_signer(gpgme_signature_t sign) { auto key = mCtx->getKeyByFpr(sign->fpr); - - if (settings.value("advanced/autoPubkeyExchange").toBool() && !key.good) { + if (!key.good) { qDebug() << "Find Unknown FingerPrint " << sign->fpr; unknownFprs.append(sign->fpr); } diff --git a/src/gpg/gpg_context/GpgContext.cpp b/src/gpg/gpg_context/GpgContext.cpp index f7bbbe37..8b12b302 100644 --- a/src/gpg/gpg_context/GpgContext.cpp +++ b/src/gpg/gpg_context/GpgContext.cpp @@ -260,11 +260,12 @@ namespace GpgME { auto *gpgProcess = new QProcess(&looper); gpgProcess->setProcessChannelMode(QProcess::MergedChannels); connect(gpgProcess, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), &looper, &QEventLoop::quit); - connect(gpgProcess, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), dialog, &WaitingDialog::deleteLater); + connect(gpgProcess, qOverload<int, QProcess::ExitStatus>(&QProcess::finished), dialog, + &WaitingDialog::deleteLater); connect(gpgProcess, &QProcess::errorOccurred, []() -> void { qDebug("Error in Process"); }); connect(gpgProcess, &QProcess::errorOccurred, &looper, &QEventLoop::quit); connect(gpgProcess, &QProcess::started, []() -> void { qDebug() << "Gpg Process Started Success"; }); - connect(gpgProcess, &QProcess::readyReadStandardOutput, [interactFunc, gpgProcess]() { + connect(gpgProcess, &QProcess::readyReadStandardOutput, [interactFunc, gpgProcess]() { qDebug() << "Function Called"; interactFunc(gpgProcess); }); @@ -330,11 +331,11 @@ namespace GpgME { return mKeyList; } - void GpgContext::getSigners(QVector<GpgKey> &signer) { - auto count = gpgme_signers_count(mCtx); + void GpgContext::getSigners(QVector<GpgKey> &signer, gpgme_ctx_t ctx) { + auto count = gpgme_signers_count(ctx); signer.clear(); for (auto i = 0; i < count; i++) { - auto key = gpgme_signers_enum(mCtx, i); + auto key = gpgme_signers_enum(ctx, i); auto it = mKeyMap.find(key->subkeys->keyid); if (it == mKeyMap.end()) { qDebug() << "Inconsistent state"; @@ -345,15 +346,15 @@ namespace GpgME { } } - void GpgContext::setSigners(const QVector<GpgKey> &keys) { - gpgme_signers_clear(mCtx); + void GpgContext::setSigners(const QVector<GpgKey> &keys, gpgme_ctx_t ctx) { + gpgme_signers_clear(ctx); for (const auto &key : keys) { if (checkIfKeyCanSign(key)) { - auto gpgmeError = gpgme_signers_add(mCtx, key.key_refer); + auto gpgmeError = gpgme_signers_add(ctx, key.key_refer); checkErr(gpgmeError); } } - if (keys.length() != gpgme_signers_count(mCtx)) { + if (keys.length() != gpgme_signers_count(ctx)) { qDebug() << "No All Keys Added"; } } @@ -397,4 +398,15 @@ namespace GpgME { } } + gpgme_ctx_t GpgME::GpgContext::create_ctx() { + gpgme_ctx_t ctx; + err = gpgme_new(&ctx); + checkErr(err); + + gpgme_set_armor(ctx, 1); + gpgme_set_passphrase_cb(ctx, passphraseCb, this); + return ctx; + } + + } diff --git a/src/gpg/gpg_context/GpgContextBasicOpera.cpp b/src/gpg/gpg_context/GpgContextBasicOpera.cpp index f368a6b4..8872acfe 100644 --- a/src/gpg/gpg_context/GpgContextBasicOpera.cpp +++ b/src/gpg/gpg_context/GpgContextBasicOpera.cpp @@ -166,7 +166,7 @@ gpg_error_t GpgME::GpgContext::sign(const QVector<GpgKey> &keys, const QByteArra } // Set Singers of this opera - setSigners(keys); + setSigners(keys, mCtx); gpgmeError = gpgme_data_new_from_mem(&dataIn, inBuffer.data(), inBuffer.size(), 1); checkErr(gpgmeError); @@ -228,7 +228,7 @@ GpgME::GpgContext::encryptSign(QVector<GpgKey> &keys, QVector<GpgKey> &signers, gpgme_data_t data_in = nullptr, data_out = nullptr; outBuffer->resize(0); - setSigners(signers); + setSigners(signers, mCtx); //gpgme_encrypt_result_t e_result; gpgme_key_t recipients[keys.count() + 1]; diff --git a/src/gpg/gpg_context/GpgContextKeyOpera.cpp b/src/gpg/gpg_context/GpgContextKeyOpera.cpp index 5ead0629..4fa2e8c5 100644 --- a/src/gpg/gpg_context/GpgContextKeyOpera.cpp +++ b/src/gpg/gpg_context/GpgContextKeyOpera.cpp @@ -115,19 +115,29 @@ bool GpgME::GpgContext::exportKeys(QStringList *uidList, QByteArray *outBuffer) return false; } + // Alleviate another crash problem caused by an unknown array out-of-bounds access + gpgme_ctx_t ctx = create_ctx(); + for (int i = 0; i < uidList->count(); i++) { err = gpgme_data_new(&dataOut); checkErr(err); - err = gpgme_op_export(mCtx, uidList->at(i).toUtf8().constData(), 0, dataOut); + err = gpgme_op_export(ctx, uidList->at(i).toUtf8().constData(), 0, dataOut); checkErr(err); read_bytes = gpgme_data_seek(dataOut, 0, SEEK_END); + qDebug() << "exportKeys read_bytes" << read_bytes; + err = readToBuffer(dataOut, outBuffer); checkErr(err); gpgme_data_release(dataOut); } + + qDebug() << "outBuffer" << *outBuffer; + + gpgme_release(ctx); + return true; } @@ -188,19 +198,13 @@ void GpgME::GpgContext::fetch_keys() { return; } - qDebug() << "Operate KeyList End"; - gpgmeError = gpgme_op_keylist_end(mCtx); if (gpg_err_code(gpgmeError) != GPG_ERR_NO_ERROR) { checkErr(gpgmeError); return; } - gpgmeError = gpgme_op_keylist_end(mCtx); - if (gpg_err_code(gpgmeError) != GPG_ERR_NO_ERROR) { - checkErr(gpgmeError); - return; - } + qDebug() << "Operate KeyList End"; mKeyList = keys; } @@ -343,7 +347,10 @@ bool GpgME::GpgContext::exportSecretKey(const GpgKey &key, QByteArray *outBuffer * @param expires expire date and time of the signature * @return if successful */ -bool GpgME::GpgContext::signKey(const GpgKey &target, const QString &uid, const QDateTime *expires) { +bool GpgME::GpgContext::signKey(const GpgKey &target, const QVector<GpgKey> &keys, const QString &uid, + const QDateTime *expires) { + + setSigners(keys, mCtx); unsigned int flags = 0; diff --git a/src/gpg/result_analyse/EncryptResultAnalyse.cpp b/src/gpg/result_analyse/EncryptResultAnalyse.cpp index 55f2cb9f..1ba685c9 100644 --- a/src/gpg/result_analyse/EncryptResultAnalyse.cpp +++ b/src/gpg/result_analyse/EncryptResultAnalyse.cpp @@ -26,6 +26,8 @@ EncryptResultAnalyse::EncryptResultAnalyse(gpgme_error_t error, gpgme_encrypt_result_t result) { + qDebug() << "Start Encrypt Result Analyse"; + stream << "[#] Encrypt Operation "; if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) diff --git a/src/gpg/result_analyse/SignResultAnalyse.cpp b/src/gpg/result_analyse/SignResultAnalyse.cpp index d50017c0..bac16021 100644 --- a/src/gpg/result_analyse/SignResultAnalyse.cpp +++ b/src/gpg/result_analyse/SignResultAnalyse.cpp @@ -26,6 +26,8 @@ SignResultAnalyse::SignResultAnalyse(GpgME::GpgContext *ctx, gpgme_error_t error, gpgme_sign_result_t result) { + qDebug() << "Start Sign Result Analyse"; + stream << tr("[#] Sign Operation "); if (gpgme_err_code(error) == GPG_ERR_NO_ERROR) @@ -42,6 +44,8 @@ SignResultAnalyse::SignResultAnalyse(GpgME::GpgContext *ctx, gpgme_error_t error while (new_sign != nullptr) { stream << tr("[>] New Signature: ") << Qt::endl; + qDebug() << "Signers Fingerprint: " << new_sign->fpr; + stream << tr(" Sign Mode: "); if (new_sign->type == GPGME_SIG_MODE_NORMAL) stream << tr("Normal"); diff --git a/src/gpg/result_analyse/VerifyResultAnalyse.cpp b/src/gpg/result_analyse/VerifyResultAnalyse.cpp index 816e889c..75e07d33 100644 --- a/src/gpg/result_analyse/VerifyResultAnalyse.cpp +++ b/src/gpg/result_analyse/VerifyResultAnalyse.cpp @@ -28,6 +28,8 @@ VerifyResultAnalyse::VerifyResultAnalyse(GpgME::GpgContext *ctx, gpgme_error_t error, gpgme_verify_result_t result) : mCtx(ctx) { + qDebug() << "Verify Result Analyse Started"; + stream << tr("[#] Verify Operation "); if (gpgme_err_code(error) == GPG_ERR_NO_ERROR) @@ -89,13 +91,11 @@ VerifyResultAnalyse::VerifyResultAnalyse(GpgME::GpgContext *ctx, gpgme_error_t e if (sign->summary & GPGME_SIGSUM_VALID) { stream << QApplication::tr("Signature Fully Valid.") << Qt::endl; } else { - stream << QApplication::tr("Signature NOT Fully Valid.") << Qt::endl; + stream << QApplication::tr("Signature Not Fully Valid.") << Qt::endl; } if (!(sign->status & GPGME_SIGSUM_KEY_MISSING)) { - if (!printSigner(stream, sign)) { - setStatus(0); - } + if (!printSigner(stream, sign)) setStatus(0); } else { stream << QApplication::tr("Key is NOT present with ID 0x") << QString(sign->fpr) << Qt::endl; } @@ -149,20 +149,20 @@ VerifyResultAnalyse::VerifyResultAnalyse(GpgME::GpgContext *ctx, gpgme_error_t e bool VerifyResultAnalyse::printSigner(QTextStream &stream, gpgme_signature_t sign) { bool keyFound = true; - stream << QApplication::tr("Signed By: "); auto key = mCtx->getKeyByFpr(sign->fpr); key = mCtx->getKeyByFpr(sign->fpr); if (!key.good) { - stream << tr("<Unknown>"); + stream << tr(" Signed By: ") << tr("<unknown>") << Qt::endl; setStatus(0); keyFound = false; + } else { + stream << tr(" Signed By: ") << key.uids.first().uid << Qt::endl; } - stream << key.name; - if (!key.email.isEmpty()) { - stream << "<" << key.email << ">"; - } + stream << tr(" Public Key Algo: ") << gpgme_pubkey_algo_name(sign->pubkey_algo) << Qt::endl; + stream << tr(" Hash Algo: ") << gpgme_hash_algo_name(sign->hash_algo) << Qt::endl; + stream << tr(" Date & Time: ") << QDateTime::fromTime_t(sign->timestamp).toString() << Qt::endl; stream << Qt::endl; return keyFound; }
\ No newline at end of file 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(); } diff --git a/src/server/api/PubkeyUploader.cpp b/src/server/api/PubkeyUploader.cpp index 8051dab7..e1c62aeb 100644 --- a/src/server/api/PubkeyUploader.cpp +++ b/src/server/api/PubkeyUploader.cpp @@ -32,37 +32,49 @@ PubkeyUploader::PubkeyUploader(GpgME::GpgContext *ctx, const QVector<GpgKey> &ke void PubkeyUploader::construct_json() { document.SetArray(); QStringList keyIds; + QCryptographicHash shaGen(QCryptographicHash::Sha256); - rapidjson::Document::AllocatorType &allocator = document.GetAllocator(); + auto &allocator = document.GetAllocator(); + QVector<QByteArray> keysData; for (const auto &key : mKeys) { - rapidjson::Value publicKeyObj, pubkey, sha, signedFpr; - QByteArray keyDataBuf; keyIds << key.id; - mCtx->exportKeys(&keyIds, &keyDataBuf); - QCryptographicHash shaGen(QCryptographicHash::Sha256); - shaGen.addData(keyDataBuf); + // The use of multi-threading brings an improvement in UI smoothness + gpgme_error_t error; + auto thread = QThread::create([&]() { + error = mCtx->exportKeys(&keyIds, &keyDataBuf); + }); + thread->start(); + while (thread->isRunning()) QApplication::processEvents(); + thread->deleteLater(); + keysData.push_back(keyDataBuf); + keyIds.clear(); + } + int index = 0; + for (const auto &keyData : keysData) { + rapidjson::Value publicKeyObj, pubkey, sha, signedFpr; + + shaGen.addData(keyData); auto shaStr = shaGen.result().toHex(); + shaGen.reset(); - auto signFprStr = ComUtils::getSignStringBase64(mCtx, key.fpr, key); + auto signFprStr = ComUtils::getSignStringBase64(mCtx, mKeys[index].fpr, mKeys[index]); qDebug() << "signFprStr" << signFprStr; - pubkey.SetString(keyDataBuf.constData(), keyDataBuf.count()); - - sha.SetString(shaStr.constData(), shaStr.count()); - signedFpr.SetString(signFprStr.constData(), signFprStr.count()); + pubkey.SetString(keyData.data(), keyData.count(), allocator); + sha.SetString(shaStr.data(), shaStr.count(), allocator); + signedFpr.SetString(signFprStr.data(), signFprStr.count(), allocator); publicKeyObj.SetObject(); - publicKeyObj.AddMember("publicKey", pubkey, allocator); publicKeyObj.AddMember("sha", sha, allocator); publicKeyObj.AddMember("signedFpr", signedFpr, allocator); document.PushBack(publicKeyObj, allocator); - keyIds.clear(); + index++; } } diff --git a/src/ui/keypair_details/KeyUIDSignDialog.cpp b/src/ui/keypair_details/KeyUIDSignDialog.cpp index f112ea25..9232cfce 100644 --- a/src/ui/keypair_details/KeyUIDSignDialog.cpp +++ b/src/ui/keypair_details/KeyUIDSignDialog.cpp @@ -89,13 +89,12 @@ void KeyUIDSignDialog::slotSignKey(bool clicked) { // Set Signers QVector<GpgKey> keys; mKeyList->getCheckedKeys(keys); - mCtx->setSigners(keys); const auto expires = expiresEdit->dateTime(); for(const auto &uid : mUids) { // Sign For mKey - if (!mCtx->signKey(mKey, uid.uid, &expires)) { + if (!mCtx->signKey(mKey, keys, uid.uid, &expires)) { QMessageBox::critical(nullptr, tr("Unsuccessful Operation"), QString(tr("Signature operation failed for UID ") + "%1") diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp index 3d1d6f77..7c740595 100644 --- a/src/ui/main_window/MainWindowSlotFunction.cpp +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -287,7 +287,6 @@ void MainWindow::slotVerify() { void MainWindow::slotEncryptSign() { - if (edit->tabCount() == 0) return; if (edit->slotCurPageTextEdit() != nullptr) { @@ -372,9 +371,7 @@ void MainWindow::slotEncryptSign() { auto pubkeyUploader = PubkeyUploader(mCtx, signerKeys); pubkeyUploader.start(); if(!pubkeyUploader.result()) { - QMessageBox::warning(nullptr, - tr("Warning"), - tr("Automatic public key exchange failed.")); + } } @@ -385,6 +382,8 @@ void MainWindow::slotEncryptSign() { edit->slotFillTextEditWithText(*tmp2); } + qDebug() << "Start Analyse Result"; + auto resultAnalyseEncr = new EncryptResultAnalyse(error, encr_result); auto resultAnalyseSign = new SignResultAnalyse(mCtx, error, sign_result); int status = std::min(resultAnalyseEncr->getStatus(), resultAnalyseSign->getStatus()); @@ -452,6 +451,21 @@ void MainWindow::slotDecryptVerify() { gpgme_decrypt_result_t d_result = nullptr; gpgme_verify_result_t v_result = nullptr; + auto *dialog = new WaitingDialog(tr("Decrypting and Verifying"), this); + + // Automatically import public keys that are not stored locally + if(settings.value("advanced/autoPubkeyExchange").toBool()) { + gpgme_verify_result_t tmp_v_result = nullptr; + auto thread = QThread::create([&]() { + mCtx->verify(&text, nullptr, &tmp_v_result); + }); + thread->start(); + while (thread->isRunning()) QApplication::processEvents(); + auto* checker = new UnknownSignersChecker(mCtx, tmp_v_result); + checker->start(); + checker->deleteLater(); + } + gpgme_error_t error; auto thread = QThread::create([&]() { error = mCtx->decryptVerify(text, decrypted, &d_result, &v_result); @@ -459,20 +473,14 @@ void MainWindow::slotDecryptVerify() { connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater())); thread->start(); - auto *dialog = new WaitingDialog(tr("Decrypting and Verifying"), this); while (thread->isRunning()) { QApplication::processEvents(); } - // Automatically import public keys that are not stored locally - if(settings.value("advanced/autoPubkeyExchange").toBool()) { - auto* checker = new UnknownSignersChecker(mCtx, v_result); - checker->start(); - checker->deleteLater(); - } - dialog->close(); + qDebug() << "Start Analyse Result"; + infoBoard->associateTextEdit(edit->curTextPage()); if (gpgme_err_code(error) == GPG_ERR_NO_ERROR) @@ -498,6 +506,9 @@ void MainWindow::slotDecryptVerify() { } delete resultAnalyseDecrypt; delete resultAnalyseVerify; + + qDebug() << "End Analyse Result"; + } else if (edit->slotCurPageFileTreeView() != nullptr) { this->slotFileDecryptVerify(); } diff --git a/src/ui/settings/SettingsGeneral.cpp b/src/ui/settings/SettingsGeneral.cpp index 0e9d9de7..b4372506 100644 --- a/src/ui/settings/SettingsGeneral.cpp +++ b/src/ui/settings/SettingsGeneral.cpp @@ -43,10 +43,6 @@ GeneralTab::GeneralTab(GpgME::GpgContext *ctx, QWidget *parent) serverBoxLayout->addWidget(serverSelectBox); serverBoxLayout->addWidget(new QLabel( tr("Server that provides short key and key exchange services"))); - connect(serverSelectBox, QOverload<const QString &>::of(&QComboBox::currentTextChanged), - this, [&](const QString ¤t) -> void { - settings.setValue("general/currentGpgfrontendServer", current); - }); serverBox->setLayout(serverBoxLayout); @@ -161,9 +157,16 @@ void GeneralTab::setSettings() { } for (const auto &s : serverList) serverSelectBox->addItem(s); + + qDebug() << "currentGpgfrontendServer" << settings.value("general/currentGpgfrontendServer").toString(); serverSelectBox->setCurrentText(settings.value("general/currentGpgfrontendServer", "service.gpgfrontend.pub").toString()); + connect(serverSelectBox, QOverload<const QString &>::of(&QComboBox::currentTextChanged), + this, [&](const QString ¤t) -> void { + settings.setValue("general/currentGpgfrontendServer", current); + }); + // Language setting QString langKey = settings.value("int/lang").toString(); QString langValue = lang.value(langKey); @@ -201,6 +204,7 @@ void GeneralTab::applySettings() { settings.setValue("keys/saveKeyChecked", saveCheckedKeysCheckBox->isChecked()); + qDebug() << "serverSelectBox currentText" << serverSelectBox->currentText(); settings.setValue("general/currentGpgfrontendServer", serverSelectBox->currentText()); |