diff options
author | Saturneric <[email protected]> | 2021-07-19 10:03:21 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-07-19 10:03:21 +0000 |
commit | 3d8c8f3c4550d88d1bb16bda003c88fc69e6acc5 (patch) | |
tree | 84a2ccc18a1d1b6e536b6090841b5aeae617298f | |
parent | Improve the function of sending mail; (diff) | |
download | GpgFrontend-3d8c8f3c4550d88d1bb16bda003c88fc69e6acc5.tar.gz GpgFrontend-3d8c8f3c4550d88d1bb16bda003c88fc69e6acc5.zip |
Improved and Modified.
Diffstat (limited to '')
-rw-r--r-- | include/gpg/GpgContext.h | 19 | ||||
-rw-r--r-- | include/ui/keypair_details/KeyPairDetailTab.h | 2 | ||||
-rw-r--r-- | include/ui/widgets/FilePage.h | 5 | ||||
-rw-r--r-- | resource/ts/gpg_frontend_fr.ts | 268 | ||||
-rw-r--r-- | resource/ts/gpg_frontend_ru.ts | 268 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_en_us.ts | 268 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_zh_chs.ts | 268 | ||||
-rw-r--r-- | resource/ts/gpgfrontend_zh_cht.ts | 268 | ||||
-rw-r--r-- | src/gpg/GpgContext.cpp | 73 | ||||
-rw-r--r-- | src/ui/help/AboutDialog.cpp | 7 | ||||
-rw-r--r-- | src/ui/help/VersionCheckThread.cpp | 5 | ||||
-rw-r--r-- | src/ui/keypair_details/KeyPairDetailTab.cpp | 30 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowSlotFunction.cpp | 2 | ||||
-rw-r--r-- | src/ui/widgets/FilePage.cpp | 33 | ||||
-rw-r--r-- | src/ui/widgets/TextEdit.cpp | 2 |
15 files changed, 860 insertions, 658 deletions
diff --git a/include/gpg/GpgContext.h b/include/gpg/GpgContext.h index a2812b4e..fc4d8692 100644 --- a/include/gpg/GpgContext.h +++ b/include/gpg/GpgContext.h @@ -71,7 +71,7 @@ namespace GpgME { ~GpgContext() override; - bool isGood() const; + [[nodiscard]] bool isGood() const; GpgImportInformation importKey(QByteArray inBuffer); @@ -115,7 +115,7 @@ namespace GpgME { gpg_error_t sign(const QVector<GpgKey> &keys, const QByteArray &inBuffer, QByteArray *outBuffer, bool detached = false, - gpgme_sign_result_t* result = nullptr); + gpgme_sign_result_t *result = nullptr); bool addUID(const GpgKey &key, const GpgUID &uid); @@ -125,6 +125,8 @@ namespace GpgME { bool setExpire(const GpgKey &key, const GpgSubKey *subkey, QDateTime *expires); + QProcess * generateRevokeCert(const GpgKey &key, const QString &outputFileName); + static bool checkIfKeyCanSign(const GpgKey &key); static bool checkIfKeyCanCert(const GpgKey &key); @@ -133,6 +135,7 @@ namespace GpgME { static bool checkIfKeyCanEncr(const GpgKey &key); + /** * @details If text contains PGP-message, put a linebreak before the message, * so that gpgme can decrypt correctly @@ -143,7 +146,7 @@ namespace GpgME { GpgKey getKeyByFpr(const QString &fpr); - const GpgKey & getKeyById(const QString &id); + const GpgKey &getKeyById(const QString &id); static QString gpgErrString(gpgme_error_t err); @@ -173,7 +176,7 @@ namespace GpgME { void slotRefreshKeyList(); - void slotUpdateKeyList(const QString& key_id); + void slotUpdateKeyList(const QString &key_id); private: gpgme_ctx_t mCtx{}; @@ -204,11 +207,11 @@ namespace GpgME { const char *passphrase_info, int last_was_bad, int fd); - void executeGpgCommand(const QStringList &arguments, - QByteArray *stdOut, - QByteArray *stdErr); + QProcess * executeGpgCommand(const QStringList &arguments, + QByteArray *stdOut, + QByteArray *stdErr, const std::function<void(QProcess *)> &interactFunc); - QString gpgBin; + QString gpgExec; QString gpgKeys; }; } // namespace GpgME diff --git a/include/ui/keypair_details/KeyPairDetailTab.h b/include/ui/keypair_details/KeyPairDetailTab.h index 6d041f97..068849bf 100644 --- a/include/ui/keypair_details/KeyPairDetailTab.h +++ b/include/ui/keypair_details/KeyPairDetailTab.h @@ -64,6 +64,8 @@ private slots: void slotUpdateKeyToServer(); + void slotGenRevokeCert(); + private: QString *keyid; /** The id of the key the details should be shown for */ diff --git a/include/ui/widgets/FilePage.h b/include/ui/widgets/FilePage.h index 3d2c8e72..45d638fa 100644 --- a/include/ui/widgets/FilePage.h +++ b/include/ui/widgets/FilePage.h @@ -57,6 +57,10 @@ private slots: void onCustomContextMenu(const QPoint &point); +protected: + + void keyPressEvent(QKeyEvent *event) override; + private: @@ -64,6 +68,7 @@ private: QTreeView *dirTreeView; QLineEdit *pathEdit; QString mPath; + QString selectedPath; QPushButton *upLevelButton; QPushButton *goPathButton; diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts index 66a85393..7c6f4a85 100644 --- a/resource/ts/gpg_frontend_fr.ts +++ b/resource/ts/gpg_frontend_fr.ts @@ -294,52 +294,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="155"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="157"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="159"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="227"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="228"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> @@ -413,32 +413,32 @@ <context> <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="525"/> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="533"/> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="537"/> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="732"/> + <location filename="../../src/gpg/GpgContext.cpp" line="740"/> <source>Error in signing:</source> <translation type="unfinished"></translation> </message> @@ -1364,66 +1364,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="144"/> <source>Key Server Operation (Pubkey)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="164"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="147"/> + <source>Generate Revoke Certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="172"/> <source>Warning: The Master Key has expired.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="167"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has been revoked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="199"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/> <source><h3>You are about to export your <font color="red">PRIVATE KEY</font>!</h3> This is NOT your Public Key, so DON'T give it away.<br />Do you REALLY want to export your PRIVATE KEY?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="209"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="217"/> <source>Export Key To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="210"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="218"/> <source>Key Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="283"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="291"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="303"/> - <source>Upload Key Pair</source> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="311"/> + <source>Upload Key Pair to Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="305"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="313"/> <source>Update Key Pair</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="336"/> + <source>Generate revocation certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="338"/> + <source>Revocation Certificates</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1960,24 +1975,24 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -1985,25 +2000,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> @@ -2014,7 +2031,7 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2025,177 +2042,177 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> <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="1072"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> <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="1076"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> <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> @@ -2864,58 +2881,58 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="83"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="85"/> - <source> Recipient's Email Address is invalid + <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> + <source> One or more Recipient's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="88"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="90"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> <source> Sender's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> @@ -3204,7 +3221,8 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/help/AboutDialog.cpp" line="202"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpg_frontend_ru.ts b/resource/ts/gpg_frontend_ru.ts index 5a803e6f..5e454214 100644 --- a/resource/ts/gpg_frontend_ru.ts +++ b/resource/ts/gpg_frontend_ru.ts @@ -294,52 +294,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="155"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="157"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="159"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="227"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="228"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> @@ -413,32 +413,32 @@ <context> <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="525"/> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="533"/> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="537"/> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="732"/> + <location filename="../../src/gpg/GpgContext.cpp" line="740"/> <source>Error in signing:</source> <translation type="unfinished"></translation> </message> @@ -1364,66 +1364,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="144"/> <source>Key Server Operation (Pubkey)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="164"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="147"/> + <source>Generate Revoke Certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="172"/> <source>Warning: The Master Key has expired.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="167"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has been revoked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="199"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/> <source><h3>You are about to export your <font color="red">PRIVATE KEY</font>!</h3> This is NOT your Public Key, so DON'T give it away.<br />Do you REALLY want to export your PRIVATE KEY?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="209"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="217"/> <source>Export Key To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="210"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="218"/> <source>Key Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="283"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="291"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="303"/> - <source>Upload Key Pair</source> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="311"/> + <source>Upload Key Pair to Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="305"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="313"/> <source>Update Key Pair</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="336"/> + <source>Generate revocation certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="338"/> + <source>Revocation Certificates</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1960,24 +1975,24 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -1985,25 +2000,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> @@ -2014,7 +2031,7 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2025,177 +2042,177 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> <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="1072"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> <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="1076"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> <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> @@ -2864,58 +2881,58 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="83"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="85"/> - <source> Recipient's Email Address is invalid + <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> + <source> One or more Recipient's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="88"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="90"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> <source> Sender's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> @@ -3204,7 +3221,8 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/help/AboutDialog.cpp" line="202"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts index a23519e4..093406f9 100644 --- a/resource/ts/gpgfrontend_en_us.ts +++ b/resource/ts/gpgfrontend_en_us.ts @@ -294,52 +294,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="155"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="157"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="159"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="227"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="228"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> @@ -413,32 +413,32 @@ <context> <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="525"/> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="533"/> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="537"/> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="732"/> + <location filename="../../src/gpg/GpgContext.cpp" line="740"/> <source>Error in signing:</source> <translation type="unfinished"></translation> </message> @@ -1364,66 +1364,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="144"/> <source>Key Server Operation (Pubkey)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="164"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="147"/> + <source>Generate Revoke Certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="172"/> <source>Warning: The Master Key has expired.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="167"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has been revoked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="199"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/> <source><h3>You are about to export your <font color="red">PRIVATE KEY</font>!</h3> This is NOT your Public Key, so DON'T give it away.<br />Do you REALLY want to export your PRIVATE KEY?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="209"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="217"/> <source>Export Key To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="210"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="218"/> <source>Key Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="283"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="291"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="303"/> - <source>Upload Key Pair</source> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="311"/> + <source>Upload Key Pair to Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="305"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="313"/> <source>Update Key Pair</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="336"/> + <source>Generate revocation certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="338"/> + <source>Revocation Certificates</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1960,24 +1975,24 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -1985,25 +2000,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> @@ -2014,7 +2031,7 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2025,177 +2042,177 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> <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="1072"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> <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="1076"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> <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> @@ -2864,58 +2881,58 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="83"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="85"/> - <source> Recipient's Email Address is invalid + <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> + <source> One or more Recipient's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="88"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="90"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> <source> Sender's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> @@ -3204,7 +3221,8 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/help/AboutDialog.cpp" line="202"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_chs.ts b/resource/ts/gpgfrontend_zh_chs.ts index 671c8217..bb113ef3 100644 --- a/resource/ts/gpgfrontend_zh_chs.ts +++ b/resource/ts/gpgfrontend_zh_chs.ts @@ -294,52 +294,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="155"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="157"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="159"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="227"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="228"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> @@ -413,32 +413,32 @@ <context> <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="525"/> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="533"/> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="537"/> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="732"/> + <location filename="../../src/gpg/GpgContext.cpp" line="740"/> <source>Error in signing:</source> <translation type="unfinished"></translation> </message> @@ -1364,66 +1364,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="144"/> <source>Key Server Operation (Pubkey)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="164"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="147"/> + <source>Generate Revoke Certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="172"/> <source>Warning: The Master Key has expired.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="167"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has been revoked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="199"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/> <source><h3>You are about to export your <font color="red">PRIVATE KEY</font>!</h3> This is NOT your Public Key, so DON'T give it away.<br />Do you REALLY want to export your PRIVATE KEY?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="209"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="217"/> <source>Export Key To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="210"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="218"/> <source>Key Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="283"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="291"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="303"/> - <source>Upload Key Pair</source> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="311"/> + <source>Upload Key Pair to Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="305"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="313"/> <source>Update Key Pair</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="336"/> + <source>Generate revocation certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="338"/> + <source>Revocation Certificates</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1960,24 +1975,24 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -1985,25 +2000,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> @@ -2014,7 +2031,7 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2025,177 +2042,177 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> <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="1072"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> <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="1076"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> <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> @@ -2864,58 +2881,58 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="83"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="85"/> - <source> Recipient's Email Address is invalid + <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> + <source> One or more Recipient's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="88"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="90"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> <source> Sender's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> @@ -3204,7 +3221,8 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/help/AboutDialog.cpp" line="202"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_cht.ts b/resource/ts/gpgfrontend_zh_cht.ts index 671c8217..bb113ef3 100644 --- a/resource/ts/gpgfrontend_zh_cht.ts +++ b/resource/ts/gpgfrontend_zh_cht.ts @@ -294,52 +294,52 @@ <context> <name>FilePage</name> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="155"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> <source>Open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="157"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> <source>Delete</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="159"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> <source>Encrypt and Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="161"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="167"/> <source>Decrypt and Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="163"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="169"/> <source>Only Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="165"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="171"/> <source>Only Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="216"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="222"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="217"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="223"/> <source>Are you sure you want to delete it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="227"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="233"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/widgets/FilePage.cpp" line="228"/> + <location filename="../../src/ui/widgets/FilePage.cpp" line="234"/> <source>Unable to delete the file or folder.</source> <translation type="unfinished"></translation> </message> @@ -413,32 +413,32 @@ <context> <name>GpgME::GpgContext</name> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="525"/> + <location filename="../../src/gpg/GpgContext.cpp" line="528"/> <source>Wrong password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="533"/> + <location filename="../../src/gpg/GpgContext.cpp" line="536"/> <source>Enter Password for</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="537"/> + <location filename="../../src/gpg/GpgContext.cpp" line="540"/> <source>Enter Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>Key Selection</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="692"/> + <location filename="../../src/gpg/GpgContext.cpp" line="700"/> <source>No Private Key Selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/gpg/GpgContext.cpp" line="732"/> + <location filename="../../src/gpg/GpgContext.cpp" line="740"/> <source>Error in signing:</source> <translation type="unfinished"></translation> </message> @@ -1364,66 +1364,81 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="144"/> <source>Key Server Operation (Pubkey)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="164"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="147"/> + <source>Generate Revoke Certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="172"/> <source>Warning: The Master Key has expired.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="167"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="175"/> <source>Warning: The Master Key has been revoked</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="199"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/> <source><h3>You are about to export your <font color="red">PRIVATE KEY</font>!</h3> This is NOT your Public Key, so DON'T give it away.<br />Do you REALLY want to export your PRIVATE KEY?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="209"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="217"/> <source>Export Key To File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="210"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="218"/> <source>Key Files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="213"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="221"/> <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="283"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="291"/> <source>Never Expire</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="303"/> - <source>Upload Key Pair</source> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="311"/> + <source>Upload Key Pair to Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="305"/> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="313"/> <source>Update Key Pair</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="336"/> + <source>Generate revocation certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="338"/> + <source>Revocation Certificates</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1960,24 +1975,24 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="525"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="702"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> <source>No Key Selected</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="532"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="709"/> <source>Invalid Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="533"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="710"/> <source>The selected key contains a key that does not actually have a encrypt usage.<br/></source> <translation type="unfinished"></translation> </message> @@ -1985,25 +2000,27 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="534"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="711"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="899"/> <source><br/>For example the Following Key: <br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="554"/> <source>Encrypting</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="368"/> <source>Function Disabled</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="369"/> <source>Please go to the settings interface to enable and configure this function.</source> <translation type="unfinished"></translation> </message> @@ -2014,7 +2031,7 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="731"/> <source>Signing</source> <translation type="unfinished"></translation> </message> @@ -2025,177 +2042,177 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="816"/> <source>Verifying</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> <source>Invalid KeyPair</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="898"/> <source>The selected keypair cannot be used for signing and encryption at the same time.<br/></source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="916"/> <source>Incomplete Operation</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="910"/> <source>None of the selected key pairs can provide the encryption function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="917"/> <source>None of the selected key pairs can provide the signature function.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="936"/> <source>Encrypting and Signing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="401"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1014"/> <source>Decrypting and Verifying</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="590"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> <source>Select a file before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="594"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="679"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="863"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="980"/> <source>No permission to read this file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="598"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="867"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="984"/> <source>No permission to create file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="613"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/> <source>Warning</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="513"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="614"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="690"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="873"/> <source>The target file already exists, do you need to overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="659"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="757"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="964"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1046"/> <source>An error occurred during operation.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="790"/> <source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="794"/> <source>No permission to read target file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="798"/> <source>No permission to read signature file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="976"/> <source>Select a file(.gpg/.asc) before doing it.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1082"/> <source>Outdated Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1083"/> <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="1072"/> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1085"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1092"/> <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="1076"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1089"/> <source>Unreleased Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1090"/> <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> @@ -2864,58 +2881,58 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="83"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="86"/> <source> Recipient cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="85"/> - <source> Recipient's Email Address is invalid + <location filename="../../src/ui/SendMailDialog.cpp" line="91"/> + <source> One or more Recipient's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="88"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="97"/> <source> Sender cannot be empty </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="90"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="99"/> <source> Sender's Email Address is invalid </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="143"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="155"/> <source>Fail to Connect SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="148"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="160"/> <source>Fail to Login into SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="153"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="165"/> <source>Fail to Send Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Success</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/SendMailDialog.cpp" line="159"/> + <location filename="../../src/ui/SendMailDialog.cpp" line="171"/> <source>Succeed in Sending Mail to SMTP Server</source> <translation type="unfinished"></translation> </message> @@ -3204,7 +3221,8 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/help/AboutDialog.cpp" line="202"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="187"/> + <location filename="../../src/ui/help/AboutDialog.cpp" line="209"/> <source>Latest Version From Github: </source> <translation type="unfinished"></translation> </message> diff --git a/src/gpg/GpgContext.cpp b/src/gpg/GpgContext.cpp index 7ec521a7..0462433d 100644 --- a/src/gpg/GpgContext.cpp +++ b/src/gpg/GpgContext.cpp @@ -24,6 +24,7 @@ #include "gpg/GpgContext.h" +#include <functional> #include <unistd.h> /* contains read/write */ #ifdef _WIN32 @@ -72,8 +73,10 @@ namespace GpgME { << engineInfo->home_dir << engineInfo->version; if (engineInfo->protocol == GPGME_PROTOCOL_GPGCONF && strcmp(engineInfo->version, "1.0.0") != 0) find_gpgconf = true; - if (engineInfo->protocol == GPGME_PROTOCOL_OpenPGP && strcmp(engineInfo->version, "1.0.0") != 0) + if (engineInfo->protocol == GPGME_PROTOCOL_OpenPGP && strcmp(engineInfo->version, "1.0.0") != 0) { + gpgExec = engineInfo->file_name; find_openpgp = true; + } if (engineInfo->protocol == GPGME_PROTOCOL_CMS && strcmp(engineInfo->version, "1.0.0") != 0) find_cms = true; if (engineInfo->protocol == GPGME_PROTOCOL_ASSUAN) @@ -625,20 +628,31 @@ namespace GpgME { } /** return type should be gpgme_error_t*/ - void GpgContext::executeGpgCommand(const QStringList &arguments, QByteArray *stdOut, QByteArray *stdErr) { + QProcess * GpgContext::executeGpgCommand(const QStringList &arguments, QByteArray *stdOut, QByteArray *stdErr, + const std::function<void(QProcess *)> &interactFunc) { QStringList args; - args << "--homedir" << gpgKeys << "--batch" << arguments; + args << arguments; + + auto *gpgProcess = new QProcess(this); + qDebug() << "gpgExec" << gpgExec << args; - qDebug() << args; - QProcess gpg; - // qDebug() << "engine->file_name" << engine->file_name; + gpgProcess->setReadChannel(QProcess::StandardOutput); + connect(gpgProcess, SIGNAL(finished(int,QProcess::ExitStatus)), + gpgProcess, SLOT(deleteLater())); + connect(gpgProcess, &QProcess::readyReadStandardOutput, this, [gpgProcess, interactFunc]() { + qDebug() << "Function Called" << &gpgProcess; + // interactFunc(gpgProcess); + }); - gpg.start(gpgBin, args); - gpg.waitForFinished(); + gpgProcess->start(gpgExec, args); - *stdOut = gpg.readAllStandardOutput(); - *stdErr = gpg.readAllStandardError(); - qDebug() << *stdOut; + if (gpgProcess->waitForStarted()){ + qDebug() << "Gpg Process Started Success"; + } else { + qDebug() << "Gpg Process Started Failed"; + } + + return gpgProcess; } /*** @@ -1180,4 +1194,41 @@ namespace GpgME { } return true; } + + QProcess * GpgContext::generateRevokeCert(const GpgKey &key, const QString &outputFileName) { + QByteArray out, stdErr; + auto process = executeGpgCommand({ + "--command-fd", + "0", + "--status-fd", "1", + "-o", + outputFileName, + "--gen-revoke", + key.fpr + }, &out, &stdErr, + [](QProcess *proc) { + qDebug() << "Function Called" << proc; + while (proc->canReadLine()) { + const QString line = QString::fromUtf8(proc->readLine()).trimmed(); + // Command-fd is a stable interface, while this is all kind of hacky we + // are on a deadline :-/ + if (line == QLatin1String("[GNUPG:] GET_BOOL gen_revoke.okay")) { + proc->write("y\n"); + } else if (line == QLatin1String("[GNUPG:] GET_LINE ask_revocation_reason.code")) { + proc->write("0\n"); + } else if (line == QLatin1String("[GNUPG:] GET_LINE ask_revocation_reason.text")) { + proc->write("\n"); + } else if (line == QLatin1String("[GNUPG:] GET_BOOL openfile.overwrite.okay")) { + // We asked before + proc->write("y\n"); + } else if (line == QLatin1String("[GNUPG:] GET_BOOL ask_revocation_reason.okay")) { + proc->write("y\n"); + } + } + }); + + qDebug() << "GenerateRevokeCert Process" << process; + + return process; + } } diff --git a/src/ui/help/AboutDialog.cpp b/src/ui/help/AboutDialog.cpp index 4c9b54c9..807c509d 100644 --- a/src/ui/help/AboutDialog.cpp +++ b/src/ui/help/AboutDialog.cpp @@ -181,6 +181,13 @@ void UpdateTab::getLatestVersion() { this->pb->setHidden(true); + if(replay->error() != QNetworkReply::NoError) { + qDebug() << "VersionCheckThread Found Network Error"; + auto latestVersion = "Unknown"; + latestVersionLabel->setText("<center><b>" + tr("Latest Version From Github: ") + latestVersion + "</b></center>"); + return; + } + QByteArray bytes = replay->readAll(); Document d; diff --git a/src/ui/help/VersionCheckThread.cpp b/src/ui/help/VersionCheckThread.cpp index 7bd0eb8f..c7c77d1c 100644 --- a/src/ui/help/VersionCheckThread.cpp +++ b/src/ui/help/VersionCheckThread.cpp @@ -20,6 +20,11 @@ void VersionCheckThread::run() { QApplication::processEvents(); } + if(mNetworkReply->error() != QNetworkReply::NoError) { + qDebug() << "VersionCheckThread Found Network Error"; + return; + } + QByteArray bytes = mNetworkReply->readAll(); Document d; diff --git a/src/ui/keypair_details/KeyPairDetailTab.cpp b/src/ui/keypair_details/KeyPairDetailTab.cpp index f2a3e613..0363ae30 100644 --- a/src/ui/keypair_details/KeyPairDetailTab.cpp +++ b/src/ui/keypair_details/KeyPairDetailTab.cpp @@ -23,6 +23,7 @@ */ #include "ui/keypair_details/KeyPairDetailTab.h" +#include "ui/WaitingDialog.h" KeyPairDetailTab::KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, QWidget *parent) : mKey(mKey), QWidget(parent) { @@ -140,9 +141,17 @@ KeyPairDetailTab::KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, Q vboxPK->addWidget(editExpiresButton); connect(editExpiresButton, SIGNAL(clicked()), this, SLOT(slotModifyEditDatetime())); + auto hBoxLayout = new QHBoxLayout(); auto *keyServerOperaButton = new QPushButton(tr("Key Server Operation (Pubkey)")); keyServerOperaButton->setStyleSheet("text-align:center;"); - vboxPK->addWidget(keyServerOperaButton); + + auto *revokeCertGenButton = new QPushButton(tr("Generate Revoke Certificate")); + connect(revokeCertGenButton, SIGNAL(clicked()), this, SLOT(slotGenRevokeCert())); + + hBoxLayout->addWidget(keyServerOperaButton); + hBoxLayout->addWidget(revokeCertGenButton); + + vboxPK->addLayout(hBoxLayout); connect(keyServerOperaButton, SIGNAL(clicked()), this, SLOT(slotModifyEditDatetime())); // Set Menu @@ -300,7 +309,7 @@ void KeyPairDetailTab::slotRefreshKeyInfo() { void KeyPairDetailTab::createKeyServerOperaMenu() { keyServerOperaMenu = new QMenu(this); - auto *uploadKeyPair = new QAction(tr("Upload Key Pair"), this); + auto *uploadKeyPair = new QAction(tr("Upload Key Pair to Key Server"), this); connect(uploadKeyPair, SIGNAL(triggered()), this, SLOT(slotUploadKeyToServer())); auto *updateKeyPair = new QAction(tr("Update Key Pair"), this); connect(updateKeyPair, SIGNAL(triggered()), this, SLOT(slotUpdateKeyToServer())); @@ -324,3 +333,20 @@ void KeyPairDetailTab::slotUpdateKeyToServer() { dialog->slotImportKey(keys); } +void KeyPairDetailTab::slotGenRevokeCert() { + auto mOutputFileName = QFileDialog::getSaveFileName(this, tr("Generate revocation certificate"), + QString(), + QStringLiteral("%1 (*.rev)").arg(tr("Revocation Certificates"))); + + auto process = mCtx->generateRevokeCert(mKey, mOutputFileName); + + auto *dialog = new WaitingDialog("Generating", this); + + while(process->state() == QProcess::Running) { + QApplication::processEvents(); + } + + dialog->close(); + +} + diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp index 8a4b786e..4bcee080 100644 --- a/src/ui/main_window/MainWindowSlotFunction.cpp +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -398,7 +398,7 @@ void MainWindow::slotDecryptVerify() { connect(thread, SIGNAL(finished(QPrivateSignal)), thread, SLOT(deleteLater())); thread->start(); - WaitingDialog *dialog = new WaitingDialog(tr("Decrypting and Verifying"), this); + auto *dialog = new WaitingDialog(tr("Decrypting and Verifying"), this); while (thread->isRunning()) { QApplication::processEvents(); } diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp index 65755509..b9602d58 100644 --- a/src/ui/widgets/FilePage.cpp +++ b/src/ui/widgets/FilePage.cpp @@ -105,17 +105,22 @@ FilePage::FilePage(QWidget *parent) : QWidget(parent) { } void FilePage::fileTreeViewItemClicked(const QModelIndex &index) { - mPath = dirModel->fileInfo(index).absoluteFilePath(); - qDebug() << "mPath" << mPath; + selectedPath = dirModel->fileInfo(index).absoluteFilePath(); + qDebug() << "selectedPath" << selectedPath; } void FilePage::slotUpLevel() { QModelIndex currentRoot = dirTreeView->rootIndex(); - mPath = dirModel->fileInfo(currentRoot.parent()).absoluteFilePath(); - auto fileInfo = QFileInfo(mPath); + + mPath = dirModel->fileInfo(currentRoot).absoluteFilePath(); + QDir dir(mPath); + dir.makeAbsolute(); + dir.setPath(QDir::cleanPath(dir.filePath(QStringLiteral("..")))); + mPath = dir.absolutePath(); + auto fileInfo = QFileInfo(dir.absolutePath()); if(fileInfo.isDir() && fileInfo.isReadable() && fileInfo.isExecutable()) { - dirTreeView->setRootIndex(currentRoot.parent()); pathEdit->setText(mPath); + slotGoPath(); } qDebug() << "Current Root mPath" << mPath; emit pathChanged(mPath); @@ -124,8 +129,9 @@ void FilePage::slotUpLevel() { void FilePage::fileTreeViewItemDoubleClicked(const QModelIndex &index) { mPath = dirModel->fileInfo(index).absoluteFilePath(); auto fileInfo = QFileInfo(mPath); + auto targetModelIndex = dirTreeView->model()->index(index.row(), 0, index.parent()); if(fileInfo.isDir() && fileInfo.isReadable() && fileInfo.isExecutable()) { - dirTreeView->setRootIndex(index); + dirTreeView->setRootIndex(targetModelIndex); pathEdit->setText(mPath); } qDebug() << "Index mPath" << mPath; @@ -133,7 +139,7 @@ void FilePage::fileTreeViewItemDoubleClicked(const QModelIndex &index) { } QString FilePage::getSelected() const { - return mPath; + return selectedPath; } void FilePage::slotGoPath() { @@ -177,10 +183,10 @@ void FilePage::createPopupMenu() { void FilePage::onCustomContextMenu(const QPoint &point) { QModelIndex index = dirTreeView->indexAt(point); - mPath = dirModel->fileInfo(index).absoluteFilePath(); - qDebug() << "Right Click" << mPath; + selectedPath = dirModel->fileInfo(index).absoluteFilePath(); + qDebug() << "Right Click" << selectedPath; if (index.isValid()) { - QFileInfo info(mPath); + QFileInfo info(selectedPath); encryptItemAct->setEnabled(info.isFile() && (info.suffix() != "gpg" && info.suffix() != "sig")); decryptItemAct->setEnabled(info.isFile() && info.suffix() == "gpg"); signItemAct->setEnabled(info.isFile() && (info.suffix() != "gpg" && info.suffix() != "sig")); @@ -252,3 +258,10 @@ void FilePage::slotVerifyItem() { if(mainWindow != nullptr) mainWindow->slotFileVerify(); } + +void FilePage::keyPressEvent(QKeyEvent *event) { + qDebug() << "Key Press" << event->key(); + if(event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) { + slotGoPath(); + } +} diff --git a/src/ui/widgets/TextEdit.cpp b/src/ui/widgets/TextEdit.cpp index c9968565..eab0f799 100644 --- a/src/ui/widgets/TextEdit.cpp +++ b/src/ui/widgets/TextEdit.cpp @@ -637,7 +637,7 @@ void TextEdit::slotFilePagePathChanged(const QString &path) { int index = tabWidget->currentIndex(); QString mPath; QFileInfo fileInfo(path); - QString tPath = fileInfo.path(); + QString tPath = fileInfo.absoluteFilePath(); if (path.size() > 18) { mPath = tPath.mid(tPath.size() - 18, 18).prepend("..."); } else { |