aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-06-23 08:14:31 +0000
committerSaturneric <[email protected]>2021-06-23 08:14:31 +0000
commitf96179e926ee8733ed3bd8c8b950cb24f57e46d5 (patch)
treeaae77ffa5d4a1636d0778c67c9d573a74bde220f
parentFix Problem in Project Configuration. (diff)
downloadGpgFrontend-f96179e926ee8733ed3bd8c8b950cb24f57e46d5.tar.gz
GpgFrontend-f96179e926ee8733ed3bd8c8b950cb24f57e46d5.zip
UI Improved.
Bugs Fixed.
-rw-r--r--CMakeLists.txt2
-rw-r--r--README.md2
-rw-r--r--gpgfrontend.qrc1
-rw-r--r--include/MainWindow.h5
-rw-r--r--include/gpg/GpgContext.h2
-rw-r--r--include/ui/KeyServerImportDialog.h24
-rw-r--r--include/ui/KeyUploadDialog.h51
-rw-r--r--include/ui/keypair_details/KeyPairDetailTab.h15
-rw-r--r--include/ui/widgets/KeyList.h8
-rw-r--r--resource/help/css/style.css127
-rw-r--r--resource/help/docu.es.html42
-rw-r--r--resource/help/docu.html42
-rw-r--r--resource/help/docu_concepts.es.html122
-rw-r--r--resource/help/docu_concepts.html129
-rw-r--r--resource/help/docu_decrypt.es.html96
-rw-r--r--resource/help/docu_decrypt.html78
-rw-r--r--resource/help/docu_decrypt_file.es.html99
-rw-r--r--resource/help/docu_decrypt_file.html81
-rw-r--r--resource/help/docu_encrypt.es.html69
-rw-r--r--resource/help/docu_encrypt.html53
-rw-r--r--resource/help/docu_encrypt_file.es.html100
-rw-r--r--resource/help/docu_encrypt_file.html78
-rw-r--r--resource/help/docu_export_key.es.html81
-rw-r--r--resource/help/docu_export_key.html62
-rw-r--r--resource/help/docu_export_key_private.es.html78
-rw-r--r--resource/help/docu_export_key_private.html65
-rw-r--r--resource/help/docu_import_key.es.html71
-rw-r--r--resource/help/docu_import_key.html54
-rw-r--r--resource/help/docu_keygen.es.html92
-rw-r--r--resource/help/docu_keygen.html67
-rw-r--r--resource/help/docu_sign.es.html83
-rw-r--r--resource/help/docu_sign.html64
-rw-r--r--resource/help/docu_verify.es.html85
-rw-r--r--resource/help/docu_verify.html69
-rw-r--r--resource/help/img/docu/cryptfile_menu.jpgbin29757 -> 0 bytes
-rw-r--r--resource/help/img/docu/cryptfile_menu2.jpgbin28842 -> 0 bytes
-rw-r--r--resource/help/img/docu/decrypt_step1.jpgbin53098 -> 0 bytes
-rw-r--r--resource/help/img/docu/decrypt_step2.jpgbin52930 -> 0 bytes
-rw-r--r--resource/help/img/docu/decrypt_step3.jpgbin52754 -> 0 bytes
-rw-r--r--resource/help/img/docu/decrypt_step4.jpgbin54889 -> 0 bytes
-rw-r--r--resource/help/img/docu/decrypt_step5.jpgbin28731 -> 0 bytes
-rw-r--r--resource/help/img/docu/decryptfile_choose_decrypt.jpgbin16266 -> 0 bytes
-rw-r--r--resource/help/img/docu/decryptfile_hit_ok.jpgbin17864 -> 0 bytes
-rw-r--r--resource/help/img/docu/decryptfile_input_outputfile.jpgbin17711 -> 0 bytes
-rw-r--r--resource/help/img/docu/decryptfile_okmessage.jpgbin7150 -> 0 bytes
-rw-r--r--resource/help/img/docu/decryptfile_password.jpgbin7844 -> 0 bytes
-rw-r--r--resource/help/img/docu/encrypt_step1.jpgbin27836 -> 0 bytes
-rw-r--r--resource/help/img/docu/encrypt_step2.jpgbin28347 -> 0 bytes
-rw-r--r--resource/help/img/docu/encrypt_step3.jpgbin53795 -> 0 bytes
-rw-r--r--resource/help/img/docu/encryptfile_choose_encrypt.jpgbin19642 -> 0 bytes
-rw-r--r--resource/help/img/docu/encryptfile_choose_input_outputfile.jpgbin21227 -> 0 bytes
-rw-r--r--resource/help/img/docu/encryptfile_choose_keys.jpgbin25195 -> 0 bytes
-rw-r--r--resource/help/img/docu/encryptfile_hit_ok.jpgbin24470 -> 0 bytes
-rw-r--r--resource/help/img/docu/encryptfile_okmessage.jpgbin7898 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_choose_keys.jpgbin25622 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_file_selection.jpgbin21839 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_hit_export_private_key.jpgbin27186 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_menu_selection.jpgbin29493 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_open_keymgmt.jpgbin28268 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_show_keydetails.jpgbin30459 -> 0 bytes
-rw-r--r--resource/help/img/docu/exportkey_warn_message.jpgbin12805 -> 0 bytes
-rw-r--r--resource/help/img/docu/genkey_step1.jpgbin27937 -> 0 bytes
-rw-r--r--resource/help/img/docu/genkey_step2.jpgbin26491 -> 0 bytes
-rw-r--r--resource/help/img/docu/genkey_step3.jpgbin22931 -> 0 bytes
-rw-r--r--resource/help/img/docu/genkey_step4.jpgbin10649 -> 0 bytes
-rw-r--r--resource/help/img/docu/importkey_dialog.jpgbin8591 -> 0 bytes
-rw-r--r--resource/help/img/docu/importkey_keylist.jpgbin4951 -> 0 bytes
-rw-r--r--resource/help/img/docu/importkey_menu.jpgbin27411 -> 0 bytes
-rw-r--r--resource/help/img/docu/private_key_note.jpgbin7088 -> 0 bytes
-rw-r--r--resource/help/img/docu/sign_choose_key.jpgbin30129 -> 0 bytes
-rw-r--r--resource/help/img/docu/sign_click_verify.jpgbin30312 -> 0 bytes
-rw-r--r--resource/help/img/docu/sign_enter_passphrase.jpgbin35177 -> 0 bytes
-rw-r--r--resource/help/img/docu/sign_show_message.jpgbin41357 -> 0 bytes
-rw-r--r--resource/help/img/docu/translate_context.jpgbin11652 -> 0 bytes
-rw-r--r--resource/help/img/docu/translate_src_transl.jpgbin9570 -> 0 bytes
-rw-r--r--resource/help/img/docu/verify_click_verify.jpgbin41005 -> 0 bytes
-rw-r--r--resource/help/img/docu/verify_import_from_keyserver.jpgbin11027 -> 0 bytes
-rw-r--r--resource/help/img/docu/verify_key_not_present.jpgbin6587 -> 0 bytes
-rw-r--r--resource/help/img/docu/verify_message_shown.jpgbin44105 -> 0 bytes
-rw-r--r--resource/help/img/docu/verify_paste_message.jpgbin41170 -> 0 bytes
-rw-r--r--resource/help/img/weblogo.pngbin27496 -> 0 bytes
-rw-r--r--resource/icons/warning.pngbin0 -> 7506 bytes
-rw-r--r--resource/ts/gpg_frontend_fr.ts264
-rw-r--r--resource/ts/gpg_frontend_ru.ts264
-rw-r--r--resource/ts/gpgfrontend_en_us.ts264
-rw-r--r--resource/ts/gpgfrontend_zh_chs.ts264
-rw-r--r--resource/ts/gpgfrontend_zh_cht.ts264
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/MainWindow.cpp43
-rw-r--r--src/gpg/GpgContext.cpp26
-rw-r--r--src/main.cpp2
-rw-r--r--src/ui/AboutDialog.cpp30
-rw-r--r--src/ui/KeyServerImportDialog.cpp88
-rw-r--r--src/ui/KeyUploadDialog.cpp125
-rw-r--r--src/ui/keypair_details/KeyPairDetailTab.cpp63
-rw-r--r--src/ui/keypair_details/KeySetExpireDateDialog.cpp6
-rw-r--r--src/ui/widgets/KeyList.cpp103
97 files changed, 1151 insertions, 2753 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c986ac3d..5cb9ebf8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16)
-project(GpgFrontend VERSION 1.0.3 LANGUAGES CXX)
+project(GpgFrontend VERSION 1.0.4 LANGUAGES CXX)
message(STATUS "GPGFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}")
diff --git a/README.md b/README.md
index 082ca10b..d8462018 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
![GitHub release (latest by date)](https://img.shields.io/github/v/release/saturneric/gpgfrontend)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend.svg?type=small)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_small)
-GpgFrontend is a Modern, Easy-to-Use, Compact, Cross-Platform, and Installation-Free [OpenPGP](https://www.openpgp.org/)
+GpgFrontend is an Easy-to-Use, Compact, Cross-Platform, and Installation-Free [OpenPGP](https://www.openpgp.org/)
Frontend Tool.
By using GpgFrontend, you can quickly **encrypt and decrypt text or files**. Or at the same time as the above
diff --git a/gpgfrontend.qrc b/gpgfrontend.qrc
index 75f08a84..fce9f6bc 100644
--- a/gpgfrontend.qrc
+++ b/gpgfrontend.qrc
@@ -11,6 +11,7 @@
<file alias="keys3.jpg">resource/icons/keys13.jpg</file>
<file alias="error.png">resource/icons/error.png</file>
<file alias="info.png">resource/icons/info.png</file>
+ <file alias="warning.png">resource/icons/warning.png</file>
<file alias="button_cancel.png">resource/icons/button_cancel.png</file>
<file alias="button_cut.png">resource/icons/button_cut.png</file>
<file alias="button_ok.png">resource/icons/button_ok.png</file>
diff --git a/include/MainWindow.h b/include/MainWindow.h
index 48d77d25..95a10210 100644
--- a/include/MainWindow.h
+++ b/include/MainWindow.h
@@ -35,6 +35,7 @@
#include "ui/widgets/InfoBoardWidget.h"
#include "ui/FindWidget.h"
#include "ui/Wizard.h"
+#include "ui/KeyUploadDialog.h"
#include "gpg/result_analyse/SignResultAnalyse.h"
#include "gpg/result_analyse/EncryptResultAnalyse.h"
@@ -279,7 +280,7 @@ private:
QToolBar *keyToolBar; /** Toolbar holding key operations */
QToolButton *importButton; /** Toolbutton for import dropdown menu in toolbar */
QToolButton *fileEncButton; /** Toolbutton for file cryption dropdown menu in toolbar */
- QDockWidget *keylistDock; /** Encrypt Dock*/
+ QDockWidget *keyListDock; /** Encrypt Dock*/
QDockWidget *attachmentDock; /** Attachment Dock */
QDockWidget *infoBoardDock;
@@ -308,7 +309,7 @@ private:
QAction *quoteAct; /** Action to quote text */
QAction *cutAct; /** Action to cut text */
QAction *pasteAct; /** Action to paste text */
- QAction *selectallAct; /** Action to select whole text */
+ QAction *selectAllAct; /** Action to select whole text */
QAction *findAct; /** Action to find text */
QAction *undoAct; /** Action to undo last action */
QAction *redoAct; /** Action to redo last action */
diff --git a/include/gpg/GpgContext.h b/include/gpg/GpgContext.h
index eed7afe2..1e5334d1 100644
--- a/include/gpg/GpgContext.h
+++ b/include/gpg/GpgContext.h
@@ -77,6 +77,8 @@ namespace GpgME {
bool exportKeys(QStringList *uidList, QByteArray *outBuffer);
+ bool exportKeys(const QVector<GpgKey> &keys, QByteArray &outBuffer);
+
bool generateKey(GenKeyInfo *params);
bool generateSubkey(const GpgKey &key, GenKeyInfo *params);
diff --git a/include/ui/KeyServerImportDialog.h b/include/ui/KeyServerImportDialog.h
index 0a77aece..6fd45fc5 100644
--- a/include/ui/KeyServerImportDialog.h
+++ b/include/ui/KeyServerImportDialog.h
@@ -37,10 +37,14 @@ public:
KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, bool automatic,
QWidget *parent);
+ KeyServerImportDialog(GpgME::GpgContext *ctx, QWidget *parent);
+
void slotImport(const QStringList& keyIds);
void slotImport(const QStringList& keyIds, const QUrl& keyserverUrl);
+ void slotImportKey(const QVector<GpgKey>& keys);
+
private slots:
void slotImport();
@@ -70,17 +74,17 @@ private:
QSettings settings;
GpgME::GpgContext *mCtx;
- KeyList *mKeyList;
- QLineEdit *searchLineEdit;
- QComboBox *keyServerComboBox;
+ KeyList *mKeyList{};
+ QLineEdit *searchLineEdit{};
+ QComboBox *keyServerComboBox{};
QProgressBar *waitingBar;
- QLabel *searchLabel;
- QLabel *keyServerLabel;
- QLabel *message;
- QLabel *icon;
- QPushButton *closeButton;
- QPushButton *importButton;
- QPushButton *searchButton;
+ QLabel *searchLabel{};
+ QLabel *keyServerLabel{};
+ QLabel *message{};
+ QLabel *icon{};
+ QPushButton *closeButton{};
+ QPushButton *importButton{};
+ QPushButton *searchButton{};
QTableWidget *keysTable{};
QNetworkAccessManager *qnam{};
diff --git a/include/ui/KeyUploadDialog.h b/include/ui/KeyUploadDialog.h
new file mode 100644
index 00000000..013c0b72
--- /dev/null
+++ b/include/ui/KeyUploadDialog.h
@@ -0,0 +1,51 @@
+/**
+ * This file is part of GPGFrontend.
+ *
+ * GPGFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#ifndef GPGFRONTEND_KEYUPLOADWIDGET_H
+#define GPGFRONTEND_KEYUPLOADWIDGET_H
+
+#include "GpgFrontend.h"
+#include "gpg/GpgContext.h"
+
+class KeyUploadDialog : public QDialog {
+Q_OBJECT
+public:
+ KeyUploadDialog(GpgME::GpgContext *ctx, const QVector<GpgKey> &keys, QWidget *parent = nullptr);
+
+private slots:
+
+ void uploadKeyToServer(QByteArray &keys);
+
+ void slotUploadFinished();
+
+private:
+
+ QString appPath;
+ QSettings settings;
+ QByteArray mKeyData;
+
+};
+
+
+#endif //GPGFRONTEND_KEYUPLOADWIDGET_H
diff --git a/include/ui/keypair_details/KeyPairDetailTab.h b/include/ui/keypair_details/KeyPairDetailTab.h
index ad0b13f6..6d041f97 100644
--- a/include/ui/keypair_details/KeyPairDetailTab.h
+++ b/include/ui/keypair_details/KeyPairDetailTab.h
@@ -27,10 +27,13 @@
#include "GpgFrontend.h"
#include "gpg/GpgContext.h"
+
+#include "ui/KeyUploadDialog.h"
+#include "ui/KeyServerImportDialog.h"
#include "KeySetExpireDateDialog.h"
class KeyPairDetailTab : public QWidget {
- Q_OBJECT
+Q_OBJECT
/**
* @details Return QString with a space inserted at every fourth character
@@ -39,6 +42,8 @@ class KeyPairDetailTab : public QWidget {
*/
static QString beautifyFingerprint(QString fingerprint);
+ void createKeyServerOperaMenu();
+
private slots:
/**
@@ -55,6 +60,10 @@ private slots:
void slotRefreshKeyInfo();
+ void slotUploadKeyToServer();
+
+ void slotUpdateKeyToServer();
+
private:
QString *keyid; /** The id of the key the details should be shown for */
@@ -80,8 +89,10 @@ private:
QLabel *actualUsageVarLabel;
QLabel *masterKeyExistVarLabel;
+ QMenu *keyServerOperaMenu;
+
public:
- explicit KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey& mKey, QWidget *parent = nullptr);
+ explicit KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, QWidget *parent = nullptr);
};
diff --git a/include/ui/widgets/KeyList.h b/include/ui/widgets/KeyList.h
index fe554495..413d0969 100644
--- a/include/ui/widgets/KeyList.h
+++ b/include/ui/widgets/KeyList.h
@@ -85,9 +85,10 @@ public:
void setChecked(QStringList *keyIds);
- //QStringList *getPrivateChecked();
QStringList *getSelected();
+ GpgKey getSelectedKey();
+
[[maybe_unused]] static void markKeys(QStringList *keyIds);
[[maybe_unused]] bool containsPrivateKeys();
@@ -96,8 +97,6 @@ public slots:
void slotRefresh();
- void uploadKeyToServer(QByteArray *keys);
-
private:
void importKeys(QByteArray inBuffer);
@@ -120,11 +119,8 @@ private:
private slots:
- void uploadFinished();
-
void slotDoubleClicked(const QModelIndex &index);
-
protected:
void contextMenuEvent(QContextMenuEvent *event) override;
diff --git a/resource/help/css/style.css b/resource/help/css/style.css
deleted file mode 100644
index 2f120f03..00000000
--- a/resource/help/css/style.css
+++ /dev/null
@@ -1,127 +0,0 @@
-#menu {
- list-style-type: none;
- float: left;
- border-right: 1px dotted #aaa;
- background-color: #fff;
- padding: 1.2em 0.5em;
- width: 10em;
- margin-left: 0.2em;
- text-align:center;
- height: 30em;
-}
-
-#menu li {
- margin: 0.3em 0.2em;
- padding: 0.2em;
- /*border-top: 1px dotted;
- border-bottom: 1px dotted;*/
- background-color: #d9dfe8;
- cursor: pointer;
-}
-
-#menu li:hover {
- background-color: #b9c4d5;
-}
-
-#menu a {
- font-family: arial, helvetica, sans-serif;
- text-decoration: none;
- color: #000;
- width: 9em;
-}
-
-#menu li.active {
- background-color: #7b90af;
-}
-
-#menu li.submenu {
- margin: 0.2em 0.2em 0.2em 1.5em;
- padding: 0.1em 0.4em;
- text-align:right;
- font-size: 0.9em;
-}
-
-#content {
- font-family: arial, helvetica, sans-serif;
- font-size: 1em;
- margin-left: 0em;
-}
-
-#content li {
- text-align:left;
-}
-
-#logo {
- margin-left: 0.7em;
-}
-
-p {
- text-align:justify;
-}
-
-h1 {
- font-size:1.2em;
-}
-
-h2 {
- font-size:1.0em;
-}
-
-h3 {
- font-size:0.8em;
- font-weight:normal;
-}
-
-h4 {
- font-size:0.95em;
-}
-
-a {color:#214478; text-decoration:none;}
-a:hover {text-decoration:underline;}
-
-#lightbox{
- background-color:#eee;
- padding: 10px;
- border-bottom: 2px solid #666;
- border-right: 2px solid #666;
- }
-#lightboxDetails{
- font-size: 0.8em;
- padding-top: 0.4em;
- }
-#lightboxCaption{ float: left; }
-#keyboardMsg{ float: right; }
-
-#lightbox img{ border: none; }
-#overlay img{ border: none; }
-
-#overlay{ background-image: url(overlay.png); }
-
-.downloadTable { font-size: 0.95em; }
-.downloadTable th {
- border-bottom: 1px solid #000;
- border-left: 2em solid #fff;
- border-right: 2em solid #fff;}
-.downloadTable td { padding: 0.1em 0.5em; text-align: left;}
-.downloadTable tr:hover td { background-color: #eef; }
-
-.code {
- font-family: monospace;
-}
-
-p.code {
- border: 1px dashed;
- margin: 0.5em;
- padding: 0.5em;
- background-color: #d9dfe8;
- }
-
-.newsentry {
- /* background: #f2f4f7; */
- /*padding: 0.2em;*/
- margin: 0.5em 0em;
- padding: 0 0.5em;
- border: 1px dotted #aaa;
- background-color: #d9dfe8;
-}
-
diff --git a/resource/help/docu.es.html b/resource/help/docu.es.html
deleted file mode 100644
index 7772f38f..00000000
--- a/resource/help/docu.es.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpgusb-team - documentación</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="author" content="gpgusb-team">
-<meta name="keywords" content="gpgusb, gnupg, gpg, encryption, decryption, portable, usb, documentation">
-<meta name="description" content="gpg4usb is a very easy to use and small portable editor to encrypt and decrypt any text-message or -file you want.">
-<meta name="robots" content="follow">
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-
-<div id="content">
-<h1>Documentación</h1>
-
-<p>Aqui usten encontrará algunas guías de principiantes para el gpg4usb.</p>
-<h4>Usando gpg4usb</h4>
-<ul>
- <li><a href="docu_concepts.html">Conceptos de GPG</a></li>
- <li><a href="docu_keygen.html">Generando una Llave</a></li>
- <li><a href="docu_encrypt.html">Cifrando Texto</a></li>
- <li><a href="docu_decrypt.html">Descifrando Texto</a></li>
- <li><a href="docu_sign.html">Firmando Texto</a></li>
- <li><a href="docu_verify.html">Verificando Texto</a></li>
- <li><a href="docu_encrypt_file.html">Cifrando un Archivo</a></li>
- <li><a href="docu_decrypt_file.html">Descifrando un Archivo</a></li>
- <li><a href="docu_import_key.html">Importando LLaves</a></li>
- <li><a href="docu_export_key.html">Exportando LLaves Públicas</a></li>
- <li><a href="docu_export_key_private.html">Exportando Llaves Privadas</a></li>
-</ul>
-
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu.html b/resource/help/docu.html
deleted file mode 100644
index ceef1de4..00000000
--- a/resource/help/docu.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpgusb-team - documentation</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="author" content="gpgusb-team">
-<meta name="keywords" content="gpgusb, gnupg, gpg, encryption, decryption, portable, usb, documentation">
-<meta name="description" content="gpg4usb is a very easy to use and small portable editor to encrypt and decrypt any text-message or -file you want.">
-<meta name="robots" content="follow">
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-
-<div id="content">
-<h1>Documentation</h1>
-
-<p>Here you find some beginner guides to gpg4usb.</p>
-<h4>Using gpg4usb</h4>
-<ul>
- <li><a href="docu_concepts.html">Concepts of GPG</a></li>
- <li><a href="docu_keygen.html">Generating A Key</a></li>
- <li><a href="docu_encrypt.html">Encrypting Text</a></li>
- <li><a href="docu_decrypt.html">Decrypting Text</a></li>
- <li><a href="docu_sign.html">Sign Text</a></li>
- <li><a href="docu_verify.html">Verify Text</a></li>
- <li><a href="docu_encrypt_file.html">Encrypting A File</a></li>
- <li><a href="docu_decrypt_file.html">Decrypting A File</a></li>
- <li><a href="docu_import_key.html">Importing Keys</a></li>
- <li><a href="docu_export_key.html">Exporting Public Keys</a></li>
- <li><a href="docu_export_key_private.html">Exporting Private Keys</a></li>
-</ul>
-
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_concepts.es.html b/resource/help/docu_concepts.es.html
deleted file mode 100644
index 5657e90c..00000000
--- a/resource/help/docu_concepts.es.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentacion</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-<a href="docu.html">Principal</a> | Siguiente: <a href="docu_keygen.html">Generando una Llave</a>
-<hr/>
-
-<div id="content">
-
-<H2><A NAME="GPG-Minihowto-Concept"></A> <A NAME="s1">1.</A>Conceptos</H2>
-<H2><A NAME="ss1.1">1.1</A> Cifrado con LLave Publica
-</H2>
-<P>Los metodos clasicos de cifrado solo usan una llave para el cifrado. El
-remitente cifra el mensaje con esa llave. Para poder descifrarlo, el destinatario
-necesita tener esa misma llave. Esta llave se le debe dar al destinatario de forma
-que otras personas no puedan conseguirla. Si alguien consigue la llave, este metodo
-de cifrado es inutil.</P>
-<P>El uso de las llamadas LLaves Publicas puede resolver este problema. La LLave Publica
-es un concepto que utiliza dos llaves. Una llave es una LLave Publica que se puede
-difundir a traves de cualquier medio y que puede ser conseguida por cualquiera. La
-otra llave es la LLave Privada. Esta llave es secreta y no puede ser difundida. Esta
-llave solo esta disponible para el propietario que la ha creado. Cuando el sistema esta
-bien implementado, la llave secreta no puede averiguar desde la llave publica. Ahora,
-el remitente cifrara el mensaje con la llave publica del destinatario.
-El descifrado se hara con la llave secreta del destinatario.</P>
-<P>En este concepto, es crucial que la llave secreta permanezca secreta y no deberia
-darse o estar disponible para nadie, salvo el propietario de esta llave. NO ENVIE ESTA
-LLAVA POR INTERNET. También es muy aconsejable usar GnuPG con <CODE>telnet</CODE>
-(usted deberia considerar no usar nunca telnet debido a los altos riesgos de seguridadad).</P>
-<H2><A NAME="ss1.2">1.2</A> Firmas Digitales
-</H2>
-<P>Con el fin de probar que un mensaje ha sido realmente enviado por su remitente, se
-invento el concepto de Firmas Digitales. Como el nombre dice, un mensaje es firmado
-digitalmente por el remitente. Con esta firma, usted puede comprobar la autenticidad de
-un mensaje. Usando esto se reducira el riesgo de "Caballos de Troya" (un mensaje que dice ser
-un parche para un cierto problema pero que realmente contiene un virus o hace algo perjudicial
-para los datos en su computador). Tambien se pueden verificar informaciones o datos como
-procedentes de una fuente legitima y, de esta forma, pueden ser considerados como verdaderos.
-</P>
-<P>Una firma digital se hace a traves de una combinacion de la llave secreta y el texto. Usando
-la llave publica del remitente, se puede verificar el mensaje. No solo se podra comprobar si
-procede del remitente correcto sino tambien el texto enviado. Asi, usted sabe que el mensaje
-viene de su remitente y que no ha sido modificado durante el proceso de envio.
-</P>
-<H2><A NAME="ss1.3">1.3</A> Red de Confianza
-</H2>
-<P>Un punto debil de los algoritmos tipo Llave Publica es la difusion de las llaves publicas.
-Un usuario podria poner en circulacion una llave publica con una falsa ID de usuario. Si se
-escriben mensajes con esta llave particular, el intruso puede descifrar y leer esos mensajes.
-Si el intruso pasa despues ese mensaje codificado con una llave publica genuina al destinatario
-real, este ataque pasaria desapercibido.</P>
-<P>La solucion PGP (y por tanto la solucion GnuPG) estriba en firmar las llaves. Una llave
-publica puede ser firmada por otra persona. Esta firma asegura que la llave usada por el UID
-(Identificacion de Usuario) realmente pertenece a la persona que dice ser. Le corresponde
-entonces al usuario del GnuPG establecer en que medida confia en esa firma. Usted puede
-considerar una llave totalmente fiable cuando usted confia en el remitente de la llave y sabe con
-seguridad que la llave realmente pertenece a esa persona. Solo cuando usted confia en la llave
-del firmante, usted puede confiar en la firma. Para estar absolutamente seguros de que la llave
-es correcta, usted tiene que comparar la huella digital por medio de canales seguros antes de
-otorgar una certeza absoluta..</P>
-<H2><A NAME="ss1.4">1.4</A> Limites de la Seguridad
-</H2>
-<P>Si usted tiene datos que le gustaria que permanecieran confidenciales, esto es algo mas que
-simplemente determinar que algoritmo de cifrado hay que usar. Usted deberia pensar en su sistema
-de seguridad en general. Basicamente, consideramos que el PGP es seguro y, cuando escribo este
-documento, no se conocen casos de ruptura del PGP. Pero eso no significa que todo su cifrado
-sea seguro (por ejemplo, la NSA no me notificaria si ellos han crakeado alguna vez el PGP, ni
-tampoco otras personas que lo hayan hecho por motivos maliciosos). Pero, aun en el caso de que
-el PGP sea totalmente "inhackeable", se pueden usar otros medios para atacar la seguridad. A
-primeros de Febrero de 1999, se habia encontrado un "Caballo de Troya" que buscaba llaves secretas
-PGP en el disco duro y las enviaba fuera por FTP. Si la password se ha escogido mal, la llave
-secreta se puede descifrar facilmente.</P>
-<P>Otra posibilidad tecnica (aunque mas dificil) de ruptura PGP es un "Caballo de Troya" que copie
-las pulsaciones del teclado. Tambien es posible (pero muy dificil) copiar el contenido de una
-pantalla. En estos casos, no es necesario romper el codigo de mensajes cifrados. Por todos estos
-riesgos, se necesita tener un buen y bien pensado plan de seguridad que se ponga en practica..</P>
-<P>No se trata de crear una paranoia entre la gente, sino mostrar que hay que hacer mucho para
-ser mas seguro. Lo mas importante es darse cuenta de que el cifrado es solo un paso de seguridad y
-no la solucion total. Los "Caballos de Troya" que aparecieron en 1999 en los virus "Melissa"
-demostraron que la mayoria de las empresas no estaban preparadas para esto.</P>
-
-<hr>
-
-<p>
-Renuncia de responsabilidad: el original de este capitulo esta en <a href="http://www.gnupg.org/documentation/howtos.html">GnuPG MiniHOWTO</a>
-</p>
-<p>
-Copyright © 1999 Brenno J.S.A.A.F. de Winter (version inglesa) Copyright © 1999
-Michael Fischer v. Mollard (version original alemana) Copyright © 2002 Arjen Baart
-(version holandesa) Copyright © 2004 Baris Cicek (version turca)
-</p><p>
-Este documento es una documentacion libre y usted puede distribuirla y/o modificarla bajo
-los terminos de la GNU Library General Public License, tal como la publica la Free Software
-Foundation; tanto en su version 2 de Licencia o (en su opinion) cualquier version
-posterior.
-</p><p>
-Esta libreria se distribuye con la esperanza de que sera util, pero SIN NINGUNA GARANTIA;
-incluso sin la garantia implicita de COMERCIALIZACION o IDONEIDAD PARA UN PROPOSITO PARTICULAR.
-Vea la GNU Library General Public License para mas detalles.
-</p><p>
-Usted deberia haber recibido una copia de la GNU Library General Public License junto con esta
-libreria; si no la tiene, escriba a la Free Software Foundation, Inc., 59 Temple Place
-- Suite 330, Boston, MA 02111-1307, USA.
-</p>
-</hr>
-
-</div>
-<hr/>
-<a href="docu.html">Principal</a> | Siguiente: <a href="docu_keygen.html">Generando una Llave</a>
-</div>
-</body>
-</html>
-
diff --git a/resource/help/docu_concepts.html b/resource/help/docu_concepts.html
deleted file mode 100644
index fbfe8cad..00000000
--- a/resource/help/docu_concepts.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-<a href="docu.html">Main</a> | Next: <a href="docu_keygen.html">Generating A Key</a>
-<hr/>
-
-<div id="content">
-
-<H2><A NAME="GPG-Minihowto-Concept"></A> <A NAME="s1">1.</A>Concepts</H2>
-<H2><A NAME="ss1.1">1.1</A> Public Key Encryption
-</H2>
-<P>Classic methods for encryption only use one key for encryption. The sender
-encrypts the message with this key. To be able to decrypt this the receiver
-needs to have this very same key. This key must have been given to the
-receiver in a way, that others won't have had the opportunity to obtain this
-key. If somebody else does have the key, this method of encryption is useless.</P>
-<P>The use of so-called Public Keys can solve this problem. Public Keys is a
-concept where two keys are involved. One key is a Public Key that can be
-spread through all sorts of media and may be obtained by anyone. The other
-key is the Private Key. This key is secret and cannot be spread. This key is
-only available to the owner. When the system is well implemented the secret
-key cannot be derived from the public key. Now the sender will crypt the
-message with the public key belonging to the receiver.
-Then decryption will be done with the secret key of the
-receiver.</P>
-<P>Crucial in this concept is that the secret key remains a secret and should
-not be given away or become available to anyone else but the owner of this
-key. YOU CANNOT SEND THIS KEY OVER THE INTERNET. Also it is very unwise to
-use GnuPG over <CODE>telnet</CODE> (you might consider never to use telnet based
-on the high security risks).</P>
-<H2><A NAME="ss1.2">1.2</A> Digital Signatures
-</H2>
-<P>In order to prove that a message was really sent by the alleged sender the
-concept of Digital Signatures was invented. As the name says a message is
-digitally signed by the sender. By using this signature you can check the
-authenticity of a message. Using this will reduce the risk for Trojan horses
-(a message that claims to be a patch to a certain problem but actually contains
-a virus or does something bad with data on your computer). Also information or
-data can be verified as coming from a legitimate source and thus be regarded
-as real.</P>
-<P>A digital signature is made through a combination of the secret key and the
-text. Using the senders public key the message can be verified. Not only will
-be checked if the correct sender is involved, also the content will be checked.
-So you know that the message comes from the sender and has not been changed
-during the transportation process.</P>
-<H2><A NAME="ss1.3">1.3</A> Web of trust
-</H2>
-<P>A weak point of the Public key algorithms is the spreading of the public keys.
-A user could bring a public key with false user ID in circulation. If with
-this particular key messages are made, the intruder can decode and read the
-messages. If the intruder passes it on then still with a genuine public key coded to the
-actual recipient, this attack is not noticeable.</P>
-<P>The PGP solution (and because of that automatically the GnuPG solution)
-exists in signing codes. A public key can be signed by other people. This
-signature acknowledges that the key used by the UID (User Identification)
-actually belongs to the person it claims to be. It is then up to the user of
-GnuPG how far the trust in the signature goes. You can consider a key as
-trustworthy when you trust the sender of the key and you know for sure that
-the key really belongs to that person. Only when you can trust the key of the
-signer, you can trust the signature. To be absolutely positive that the key is
-correct you have to compare the finger print over reliable channels before
-giving absolute trust.</P>
-<H2><A NAME="ss1.4">1.4</A> Boundaries to security
-</H2>
-<P>If you have data that you would like to remain confidential, there is more to
-it than just determining which encoding algorithm to use. You should be thinking
-about your system security in general. Basically we consider PGP to be secure
-and as I write this documents no incidents of PGP being cracked are known to me.
-But that doesn't mean that all encoding must be safe then (for instance the NSA
-wouldn't notify me if they cracked PGP somehow, neither would other people who
-crack for real malicious grounds). But even if the PGP is fully 'unhackable',
-other means can be used to attack the security. Early February 1999 a Trojan Horse had
-been found that searched for secret PGP keys on the hard disk and FTP-ed them
-away. If the password has been chosen badly the secret key can easily be
-cracked.</P>
-<P>Another technical possibility (although more difficult) is a Trojan Horse that
-broadcasts keyboard entries. Also possible (but very difficult) is to pass
-the content of a screen along. Then no cracking of scrambled messages needs to
-be done. For all these risks there need to be a good, well-thought security plan
-that is actually deployed.</P>
-<P>It is not a goal to create paranoia among people, but to point out that a lot
-needs to be done to be more secure. The most important thing is to realize that
-encryption is just one step to security and is not a total solution. Trojan
-horses as they appeared in the Melissa virus in March 1999 proved that many
-companies are not prepared for that.</P>
-
-
-<hr>
-
-<p>
-Disclaimer: this chapter originates from the <a href="http://www.gnupg.org/documentation/howtos.html">GnuPG MiniHOWTO</a>
-</p>
-<p>
-Copyright © 1999 Brenno J.S.A.A.F. de Winter (English version) Copyright © 1999
-Michael Fischer v. Mollard (original German version) Copyright © 2002 Arjen Baart
-(Dutch version) Copyright © 2004 Baris Cicek (Turkish version)
-</p><p>
-This document is free documentation you can redistribute it and/or modify it under
-the terms of the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your option) any
-later version.
-</p><p>
-This library is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
-</p><p>
-You should have received a copy of the GNU Library General Public License along
-with this library; if not, write to the Free Software Foundation, Inc., 59 Temple
-Place - Suite 330, Boston, MA 02111-1307, USA.
-</p>
-</hr>
-
-</div>
-<hr/>
-<a href="docu.html">Main</a> | Next: <a href="docu_keygen.html">Generating A Key</a>
-</div>
-</body>
-</html>
-
diff --git a/resource/help/docu_decrypt.es.html b/resource/help/docu_decrypt.es.html
deleted file mode 100644
index f66337ec..00000000
--- a/resource/help/docu_decrypt.es.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_decry~waWhO.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_encrypt.html">Cifrar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_sign.html">Firmar
- un mensaje</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- descifrar un texto</h1>
-<p><b>NOTA:</b> Usted
- sólo puede descifrar textos si tiene una llave privada y el texto está cifrado con
- ella. Usted puede identificar las llaves privadas por la imagen 'manojo de llaves'
- que está delante del nombre en el listado de llaves (en este ejemplo es Bobby):</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="Llave privada: consejo" width="152" height="92"/></p>
-
-<p>
-Hay
- cinco pasos para descifrar un texto. Suponemos que Bobby quiere descifrar un texto
- que está cifrado con su llave pública. </p>
-<h4>PASO
- 1: Copie el texto en la caja de edición de texto</h4>
-<p>
-Primero
- Boby copia el texto en la caja de edición de texto. </p>
-
-<p>
-<IMG SRC="img/docu/decrypt_step1.jpg" alt="copiar a la caja de edición de texto" width="455" height="266"/></p>
-<p>Hay veces que, al copiar el mensaje cifrado de un correo electrónico, las líneas de texto aparecen separadas por líneas en blanco. Si se intenta descifrar el texto tal como está nos saldrá un error. Para evitar esto, primero pulsar el botón 'Retirar espaciamiento' de la barra de herramientas y después seguir el Paso 2.</p>
-<p><img src="img/Retirar_doble_espacios.jpg" width="500" height="267" border="1" /></p>
-<h4>PASO
- 2: Escoger la llave(s)</h4>
-<p>
-Segundo,
- escoge su propia llave. </p>
-<p>
-<IMG SRC="img/docu/decrypt_step2.jpg" alt="escoger llave" width="405" height="239"/></p>
-
-
-<h4>PASO
- 3: Descifrar el mensaje</h4>
-<p>
-Ahora,
- Bobby pulsa el botón 'Descifrar' para descifrar el texto. Alternativamente, el podría
- usar el atajo 'Ctrl+D' o usar el menú 'Cifrar - Descifrar'.<br/>
-<b>NOTA:</b> Usted
- sólo puede descifrar textos para los cuales tiene la llave privada. Las llaves privadas
- son aquellas que tienen un icono 'llave' delante de su nombre en el listado de llaves. </p>
-<p>
-<IMG SRC="img/docu/decrypt_step3.jpg" alt="descifrar mensaje" width="413" height="241"/></p>
-
-<h4>PASO
- 4: Entre la contraseña</h4>
-<p>
-Ahora
- Bobby introduce la contraseña de su llave. </p>
-<p>
-<IMG SRC="img/docu/decrypt_step4.jpg" alt="introducir contraseña"/>
-</p>
-
-
-<h4>PASO
- 5: Leer el texto</h4>
-<p>
-Ahora
- Bobby puede leer el texto cifrado. </p>
-<p>
-<IMG SRC="img/docu/decrypt_step5.jpg" alt="leer texto cifrado"/>
-</p>
-
-
-</div>
-<hr/>
-Previo: <a href="docu_encrypt.html">Cifrar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_sign.html">Firmar
- un mensaje</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_decrypt.html b/resource/help/docu_decrypt.html
deleted file mode 100644
index d8b91589..00000000
--- a/resource/help/docu_decrypt.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_encrypt.html">Encrypt a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_sign.html">Sign a message</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto decrypt a text</h1>
-<p><b>NOTE:</b> You can only decrypt files, if you have one private key, the file is encrypted for. You can identify the private keys by the "bunch of keys"-image in front of the name in the keylist (in this case Bobby):</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="private key hint"/>
-</p>
-
-<p>
-There are five steps for encrypting a text. We assume, that Bobby wants to decrypt a text, which is encrypted with his public key.
-</p>
-<h4>STEP 1: Copy the text to the textedit-field</h4>
-<p>
-First Bobby copies the text to the textedit-field.
-</p>
-
-<p>
-<IMG SRC="img/docu/decrypt_step1.jpg" alt="copy to textedit-field"/>
-</p>
-
-<h4>STEP 2: Choose key(s)</h4>
-<p>
-Secondly he chooses his own key.
-</p>
-<p>
-<IMG SRC="img/docu/decrypt_step2.jpg" alt="choose key"/>
-</p>
-
-
-<h4>STEP 3: Decrypt message</h4>
-<p>
-Now Bobby hits the decrypt button to decrypt the text. Alternatively he could use the shortcut Ctrl+D or use the menu crypto->decrypt.<br/>
-<b>NOTE:</b> You can only decrypt texts, for which you have the private key. The private keys are those, with the key-icon in front of the Name in the keylist.
-</p>
-<p>
-<IMG SRC="img/docu/decrypt_step3.jpg" alt="decrypt message"/>
-</p>
-
-<h4>STEP 4: Enter passphrase</h4>
-<p>
-Now Bobby enters the passphrase of his key.
-</p>
-<p>
-<IMG SRC="img/docu/decrypt_step4.jpg" alt="enter passphrase"/>
-</p>
-
-
-<h4>STEP 5: Read the text</h4>
-<p>
-Now Bobby can read the encrypted text.
-</p>
-<p>
-<IMG SRC="img/docu/decrypt_step5.jpg" alt="read encrypted text"/>
-</p>
-
-
-</div>
-<hr/>
-Previous: <a href="docu_encrypt.html">Encrypt a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_sign.html">Sign a message</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_decrypt_file.es.html b/resource/help/docu_decrypt_file.es.html
deleted file mode 100644
index 61b21458..00000000
--- a/resource/help/docu_decrypt_file.es.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_decry~ufigg.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_encrypt_file.html">Cifrar
- un archivo</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_import_key.html">Importar
- una llave</a>
-<hr/>
-
-
-
-
-<div id="content">
-
-<h1>Cómo
- descifrar un archivo</h1>
-<p><b>NOTA:</b> Usted
- sólo puede descifrar archivos si tiene una llave privada y el archivo está cifrado
- con ella. Usted puede identificar las llaves privadas por la imagen 'manojo de llaves'
- que está enfrente del nombre en el listado de llaves (en este ejemplo es Bobby):</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="llave privada consejo"/>
-</p>
-<p>
-Hay
- cinco pasos para descifrar un archivo. Supongamos que Alice quiere descifrar un archivo
- que ha sido cifrado para ella (es decir, se escogió su llave cuando se cifró). </p>
-<h4>PASO
- 1: Abrir el menú 'Cifrar' </h4>
-<p>
- </p>
-<p>
-<IMG SRC="img/docu/cryptfile_menu.jpg" alt="abrir menu cifrar"/>
-</p>
-
-<h4>PASO
- 2: Escoger descifrar archivo</h4>
-<p>
-Segundo,
- ella escoge 'Descifrar archivo'. </p>
-<p>
-<IMG SRC="img/docu/decryptfile_choose_decrypt.jpg" alt="escoger descifrar"/>
-</p>
-
-
-<h4>PASO
- 3: Escoger el archivo de entrada/salida </h4>
-<p>
-Ahora,
- ella escoge el archivo de entrada/salida. El archivo de entrada ha de ser el archivo
- cifrado. </p>
-<p>
-<IMG SRC="img/docu/decryptfile_input_outputfile.jpg" alt="escoger archivo entrada/salida"/>
-</p>
-
-<h4>PASO
- 4: Pulsar OK</h4>
-<p>
-Ahora
- ella pulsa en botón 'OK'. </p>
-<p>
-<IMG SRC="img/docu/decryptfile_hit_ok.jpg" alt="pulsar ok"/>
-</p>
-
-<h4>PASO
- 5: Introducir la contraseña</h4>
-<p>
-Ella
- introduce la contraseña de su llave y pulsa el botón 'OK'. </p>
-<p>
-<IMG SRC="img/docu/decryptfile_password.jpg" alt="introducir contraseña"/>
-</p>
-<p>
-Después
- aparece un mensaje 'ok' </p>
-<p>
-<IMG SRC="img/docu/decryptfile_okmessage.jpg" alt="mensaje ok"/>
-</p>
-
-</div>
-<hr/>
-Previo: <a href="docu_encrypt_file.html">Cifrar
- un archivo</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_import_key.html">Importar
- una llave</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_decrypt_file.html b/resource/help/docu_decrypt_file.html
deleted file mode 100644
index 4516f12c..00000000
--- a/resource/help/docu_decrypt_file.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_encrypt_file.html">Encrypt a file</a> | <a href="docu.html">Main</a> | Next: <a href="docu_import_key.html">Import a key</a>
-<hr/>
-
-
-
-
-<div id="content">
-
-<h1>Howto decrypt a file</h1>
-<p><b>NOTE:</b> You can only decrypt files, if you have one private key, the file is encrypted for. You can identify the private keys by the "bunch of keys"-image in front of the name in the keylist (in this case Bobby):</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="private key hint"/>
-</p>
-<p>
-There are five steps to decrypt a file. We assume, that Alice wants to decrypt a file, which is encrypted for her (that is, while encrytion her key was chosen).
-</p>
-<h4>STEP 1: Open file en-/decryption dialog </h4>
-<p>
-First Alice chooses the file cryption dialog in the menu. Alternatively, she could just hit the "File-Cryption"-button in the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/cryptfile_menu.jpg" alt="open file cryption dialog"/>
-</p>
-
-<h4>STEP 2: Choose decrypt</h4>
-<p>
-Secondly she chooses decrypt.
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_choose_decrypt.jpg" alt="choose decrypt"/>
-</p>
-
-
-<h4>STEP 3: Choose input-/outputfile</h4>
-<p>
-Now she chooses the input- and outputfile. The inputfile has to be the encrypted file
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_input_outputfile.jpg" alt="choose the input- and outputfile"/>
-</p>
-
-<h4>STEP 4: Hit ok</h4>
-<p>
-Now she hits the ok-button
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_hit_ok.jpg" alt="hit ok"/>
-</p>
-
-<h4>STEP 5: Enter passphrase</h4>
-<p>
-Now she enters the passphrase of her key and hits the ok-button.
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_password.jpg" alt="enter passphrase"/>
-</p>
-<p>
-Afterwards the ok-message is displayed.
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_okmessage.jpg" alt="ok message"/>
-</p>
-
-</div>
-<hr/>
-Previous: <a href="docu_encrypt_file.html">Encrypt a file</a> | <a href="docu.html">Main</a> | Next: <a href="docu_import_key.html">Import a key</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_encrypt.es.html b/resource/help/docu_encrypt.es.html
deleted file mode 100644
index 0511c6c3..00000000
--- a/resource/help/docu_encrypt.es.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_encry~KjmTI.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_keygen.html">Generar
- una llave</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_decrypt.html">Descifrar
- un mensaje</a>
-<hr/>
-
-<div id="content">
-<h1>Cómo
- cifrar un texto</h1>
-<p>
-Hay
- tres pasos para cifrar un texto. Vamos a suponer que Alice quiere cifrar un texto
- para Bobby. </p>
-<h4>PASO
- 1: Escribir el texto</h4>
-<p>
-Primero,
- Alice escribe su texto (se recomienda no usar tildes). </p>
-<p>
-<IMG SRC="img/docu/encrypt_step1.jpg" alt="escribir el texto"/>
-</p>
-
-<h4>PASO
- 2: Escoger la llave(s)</h4>
-<p>
-Segundo,
- ella escoje la llave de Bobby. <b>NOTA:</b> Usted
- también puede escoger múltiples llaves, de manera que el texto se cifrará para más
- de una persona. Así, por ejemplo, usted podría seleccionar siempre su propia llave,
- de este modo puede cifrar/descifrar sus propios textos más tarde. </p>
-<p>
-<IMG SRC="img/docu/encrypt_step2.jpg" alt="escoger las llaves"/>
-</p>
-
-
-<h4>PASO
- 3: Cifrar el mensaje</h4>
-<p>
-Finalmente,
- Alice pulsa el botón 'Cifrar' para cifrar el texto. Alternativamente, ella podría
- haber usado el atajo 'Ctrl+E' o usar el menú 'Cifrar -&gt; Cifrar'. </p>
-<p>
-<IMG SRC="img/docu/encrypt_step3.jpg" alt="cifrar el mensaje"/>
-</p>
-
-
-</div>
-<hr/>
-Previo: <a href="docu_keygen.html">Generar
- una llave</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_decrypt.html">Descifrar
- un mensaje</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_encrypt.html b/resource/help/docu_encrypt.html
deleted file mode 100644
index 99788fe4..00000000
--- a/resource/help/docu_encrypt.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_keygen.html">Generate a key</a> | <a href="docu.html">Main</a> | Next: <a href="docu_decrypt.html">Decrypt a message</a>
-<hr/>
-
-<div id="content">
-<h1>Howto encrypt a text</h1>
-<p>
-There are three steps for encrypting a text. We assume, that Alice wants to encrypt a text for Bobby.
-</p>
-<h4>STEP 1: Write the text</h4>
-<p>
-First Alice writes her text.
-</p>
-<p>
-<IMG SRC="img/docu/encrypt_step1.jpg" alt="write the text"/>
-</p>
-
-<h4>STEP 2: Choose key(s)</h4>
-<p>
-Secondly she chooses Bobbies key.
-<b>NOTE:</b> You can also choose mutiple keys, so that the text is encrypted for more than one person. So e.g. you should always select your own key, so that you can encrypt your own texts later.
-</p>
-<p>
-<IMG SRC="img/docu/encrypt_step2.jpg" alt="choose the keys"/>
-</p>
-
-
-<h4>STEP 3: Encrypt message</h4>
-<p>
-Finally Alice hits the encrypt button to encrypt the text. Alternatively she could use the shortcut Ctrl+E or use the menu crypto->encrypt
-</p>
-<p>
-<IMG SRC="img/docu/encrypt_step3.jpg" alt="encrypt the message"/>
-</p>
-
-
-</div>
-<hr/>
-Previous: <a href="docu_keygen.html">Generate a key</a> | <a href="docu.html">Main</a> | Next: <a href="docu_decrypt.html">Decrypt a message</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_encrypt_file.es.html b/resource/help/docu_encrypt_file.es.html
deleted file mode 100644
index 6ba34901..00000000
--- a/resource/help/docu_encrypt_file.es.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_encry~UzYAh.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_verify.html">Verificar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_decrypt_file.html">Descifrar
- un archivo</a>
-<hr/>
-
-
-
-<div id="content">
-
-<h1>Cómo
- cifrar un archivo</h1>
-<p>
-Hay
- cinco pasos para cifrar un archivo. Supongamos que Bobby quiere cifrar un archivo
- para Alice y para él mismo (esto significa que tanto él como Alice pueden descifrar
- el archivo, cada uno con su propia llave privada). Él tiene que tener la llave pública
- de Alice y la suya propia. </p>
-<h4>PASO
- 1: Abrir menú 'Cifrar' </h4>
-<p>
-Primero,
- Bobby abre el menú 'Cifrar'. Alternativamente, él puede presionar el botón 'Archivo'
- en la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/cryptfile_menu2.jpg" alt="abrir menú cifrar archivo"/>
-</p>
-
-<h4>PASO
- 2: Escoger cifrar</h4>
-<p>
-Segundo,
- él escoge 'Cifrar archivo'. </p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_encrypt.jpg" alt="escoher cifrar"/>
-</p>
-
-
-<h4>PASO
- 3: Escoger archivo entrada/salida</h4>
-<p>
-Ahora
- escoge el archivo de entrada/salida. Cuando escoge el archivo de entrada (el que
- se va a cifrar), se recomienda que se dé el mismo nombre con el apéndice .asc para
- el archivo de salida (el archivo ya cifrado). </p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_input_outputfile.jpg" alt="escoger archivo de entrada y salida"/>
-</p>
-
-<h4>PASO
- 4: Escoger las llaves</h4>
-<p>
-Ahora,
- Bobby escoge las llaves de las personas para las que el archivo se va a cifrar. Dése
- cuenta de que él también tiene que seleccionar su propia llave si quiere ser capaz
- de poder descifrar este archivo más tarde. </p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_keys.jpg" alt="escoger llaves"/>
-</p>
-
-<h4>PASO
- 5: Pulsar 'OK'</h4>
-<p>
-Ahora
- él pulsa el botón 'OK'. </p>
-<p>
-<IMG SRC="img/docu/encryptfile_hit_ok.jpg" alt="pulsar botón ok"/>
-</p>
-
-
-<p>Después
- de esto, aparece el mensaje 'OK'. </p>
-<p>
-<IMG SRC="img/docu/decryptfile_okmessage.jpg" alt="mensaje ok"/>
-</p>
-
-
-</div>
-<hr/>
-Previo: <a href="docu_verify.html">Verificar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_decrypt_file.html">Descifrar
- un archivo</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_encrypt_file.html b/resource/help/docu_encrypt_file.html
deleted file mode 100644
index ab699d0b..00000000
--- a/resource/help/docu_encrypt_file.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_verify.html">Verify a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_decrypt_file.html">Decrypt a file</a>
-<hr/>
-
-
-
-<div id="content">
-
-<h1>Howto encrypt a file</h1>
-<p>
-There are five steps to encrypt a file. We assume, that Bobby wants to encrypt a file for Alice and for himself (means, that he and Alice can decrypt the file, both of them with their own private key). So he has to have Alice's and his own public key.
-</p>
-<h4>STEP 1: Open file en-/decryption dialog </h4>
-<p>
-First Bobby opens the file cryption dialog through the menu. Alternatively, she could just hit the "File-Cryption"-button in the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/cryptfile_menu2.jpg" alt="open file-cryption dialog"/>
-</p>
-
-<h4>STEP 2: Choose encrypt</h4>
-<p>
-Secondly he chooses encrypt.
-</p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_encrypt.jpg" alt="choose encrypt"/>
-</p>
-
-
-<h4>STEP 3: Choose input-/outputfile</h4>
-<p>
-Now he chooses the input- and outputfile. When he chooses the inputfile, the same name with an appended .asc is made as suggestion for the output-file.
-</p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_input_outputfile.jpg" alt="choose input- and outputfile"/>
-</p>
-
-<h4>STEP 4: Choose the keys</h4>
-<p>
-Now he chooses the users' keys, the file should be encrypted for. Be aware, that he also has to choose his own key, if he wants to be able to decrypt the file afterwards.
-</p>
-<p>
-<IMG SRC="img/docu/encryptfile_choose_keys.jpg" alt="choose keys"/>
-</p>
-
-<h4>STEP 5: Hit ok</h4>
-<p>
-Now he hits the ok-button
-</p>
-<p>
-<IMG SRC="img/docu/encryptfile_hit_ok.jpg" alt="hit ok button"/>
-</p>
-
-
-<p>After this the ok-message is displayed.
-</p>
-<p>
-<IMG SRC="img/docu/decryptfile_okmessage.jpg" alt="ok-message"/>
-</p>
-
-
-</div>
-<hr/>
-Previous: <a href="docu_verify.html">Verify a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_decrypt_file.html">Decrypt a file</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_export_key.es.html b/resource/help/docu_export_key.es.html
deleted file mode 100644
index 0631df1f..00000000
--- a/resource/help/docu_export_key.es.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_expor~jCnxV.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_import_key.html">Importar
- una llave</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_export_key_private.html">Exportar
- una llave privada</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- exportar llaves públicas</h1>
-<p>
-Hay
- cuatro pasos para exportar llaves públicas. Supongamos que Bobby quiere exportar
- la llave de Alice y la suya propia para darselas a Charly, de manera que él pueda
- cifrar mensajes y archivos para ellos. </p>
-<h4>PASO
- 1: Abrir el administrador de llaves</h4>
-<p>
-Primero,
- Bobby abre el administrador de llaves a través del botón de la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/exportkey_open_keymgmt.jpg" alt="abrir el administrador de llaves"/>
-</p>
-
-<h4>PASO
- 2: Escoger llaves</h4>
-<p>
-Segundo,
- escoge la llave de Alice y la suya propia. </p>
-<p>
-<IMG SRC="img/docu/exportkey_choose_keys.jpg" alt="escoger llaves"/>
-</p>
-
-
-<h4>PASO
- 3: Escoger exportar llave</h4>
-<p>
-Ahora
- navega por el menú 'Llave' -&gt; 'Exportar a archivo' (otra opción es 'Llave' -&gt; 'Exportar
- a portapapeles'). Si escoge exportar archivo a portapapeles, se termina ahora.
- De lo contrario, vamos al siguiente paso. Alternativamente, se puede escoger 'Exportar
- a archivo' desde la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/exportkey_menu_selection.jpg" alt="escoger exportar archivo"/>
-</p>
-
-<h4>PASO
- 4: Seleccionar el archivo</h4>
-<p>
-Ahora
- se escoge el archivo para guardar la llave en él. </p>
-<p>
-<IMG SRC="img/docu/exportkey_file_selection.jpg" alt="escoger archivo"/>
-</p>
-<p>
-<b>NOTA:</b> Para
- dar su llave pública a alguien, también puede usted añadirla al texto en la caja
- del editor de texto mediante el menú contextual del listado de llaves (clic derecho en la llave selecionada).. </p>
-</div>
-<hr/>
-Previo: <a href="docu_import_key.html">Importar
- una llave</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_export_key_private.html">Exportar
- una llave privada</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_export_key.html b/resource/help/docu_export_key.html
deleted file mode 100644
index 0dfb422b..00000000
--- a/resource/help/docu_export_key.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_import_key.html">Import a key</a> | <a href="docu.html">Main</a> | Next: <a href="docu_export_key_private.html">Export a private key</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto export public keys</h1>
-<p>
-There are three respectively four steps for exporting public keys. We assume, that Bobby wants to export Alice's and his key to give it to Charly, so that he can encrypt messages and files to them.
-</p>
-<h4>STEP 1: Open the key management</h4>
-<p>
-First Bobby opens the key management through the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_open_keymgmt.jpg" alt="open key management"/>
-</p>
-
-<h4>STEP 2: Choose keys</h4>
-<p>
-Secondly he checks Alice's and his own key.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_choose_keys.jpg" alt="choose the keys"/>
-</p>
-
-
-<h4>STEP 3: Choose export key</h4>
-<p>
-Now he browses through the menu key -> export to file (respectively key -> export to clipboard). If he chooses to export the files to clipboard, he's finished now. Otherwise the next step follows. Alternatively he can choose the export through the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_menu_selection.jpg" alt="choose export to file"/>
-</p>
-
-<h4>STEP 4: Select the file</h4>
-<p>
-Now he chooses the file to store the keys to.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_file_selection.jpg" alt="choose file"/>
-</p>
-<p>
-<b>NOTE:</b> To give your public key to someone else, you also can append the key to the text in the editor-field through the context menu in the keylist.
-</p>
-</div>
-<hr/>
-Previous: <a href="docu_import_key.html">Import a key</a> | <a href="docu.html">Main</a> | Next: <a href="docu_export_key_private.html">Export a private key</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_export_key_private.es.html b/resource/help/docu_export_key_private.es.html
deleted file mode 100644
index 2dfa8d9f..00000000
--- a/resource/help/docu_export_key_private.es.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_expor~VBJBW.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_export_key.html">Exportar
- una llave pública</a> | <a href="docu.html">Principal</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- exportar una llave privada</h1>
-<p>
-Hay
- cinco pasos simples para exportar llaves privadas Vamos a suponer que Bobby quiere
- exportar su llave privada para guardarla en un disco y ponerla en un lugar bien seguro.<br/>
-<b>NOTA:</b> Usted
- deberia ser realmente muy cuidadoso con su llave privada porque cualquiera que la
- tenga puede cifrar todos los mensajes y textos con esta llave, si sabe la contraseña. </p>
-<h4>PASO
- 1: Abrir el administrador de llaves</h4>
-<p>
-Primero,
- Bobby abre el administrador de llaves a través de la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/exportkey_open_keymgmt.jpg" alt="abrir administrador de llaves"/>
-</p>
-
-<h4>PASO
- 2: Abrir el menú de propiedades de la llave</h4>
-<p>
-Segundo,
- selecciona su llave y abre el menú de propiedades de la llave a través del menú contextual (clic derecho -&gt; 'Mostrar detalles de la llave'). </p>
-<p>
-<IMG SRC="img/docu/exportkey_show_keydetails.jpg" alt="seleccionar detalles de la llave"/>
-</p>
-
-
-<h4>PASO
- 3: Pulsar el botón 'exportar llave privada' </h4>
-<p>
-Ahora
- él pulsa el botón 'Exportar llave privada.'</p>
-<p>
-<IMG SRC="img/docu/exportkey_hit_export_private_key.jpg" alt="pulsar botón exportar llave privada"/>
-</p>
-
-<h4>PASO
- 4: Confirmar mensaje de alerta</h4>
-<p>
-Ahora
- Bobby confirma el mensaje de alerta que sale. </p>
-<p>
-<IMG SRC="img/docu/exportkey_warn_message.jpg" alt="confirmar mensaje de alerta"/>
-</p>
-<h4>PASO
- 5: Escoger archivo</h4>
-<p>
-Finalmente,
- se escoge un archivo donde quiere guardar la llave privada. </p>
-
-</div>
-<hr/>
-Previo: <a href="docu_export_key.html">Exportar
- una llave pública</a> | <a href="docu.html">Principal</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_export_key_private.html b/resource/help/docu_export_key_private.html
deleted file mode 100644
index 9d5c18f6..00000000
--- a/resource/help/docu_export_key_private.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_export_key.html">Export a public key</a> | <a href="docu.html">Main</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto export a private key</h1>
-<p>
-There are five simple steps for exporting a private keys. We assume, that Bobby wants to export his private key to save it to disk and put it in an fireproofed tresor.<br/>
-<b>NOTE:</b> You should really be careful with your private key, because everyone, who has this key, can encrypt all messages and texts encrypted for this key, if he also has your keys passphrase.
-
-</p>
-<h4>STEP 1: Open the key management</h4>
-<p>
-First Bobby opens the key management through the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_open_keymgmt.jpg" alt="open key management"/>
-</p>
-
-<h4>STEP 2: Open key property dialog</h4>
-<p>
-Secondly he opens the key property dialog of his key through the context menu.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_show_keydetails.jpg" alt="select show key details"/>
-</p>
-
-
-<h4>STEP 3: Hit the "export private key"-button</h4>
-<p>
-Now he hits the "export private key"-button</p>
-<p>
-<IMG SRC="img/docu/exportkey_hit_export_private_key.jpg" alt="hit the export private key button"/>
-</p>
-
-<h4>STEP 4: Confirm warn message</h4>
-<p>
-Now he confirms the warn message.
-</p>
-<p>
-<IMG SRC="img/docu/exportkey_warn_message.jpg" alt="confirm warn message"/>
-</p>
-<h4>STEP 5: Choose file</h4>
-<p>
-Finally he chooses a file, where he wants to save the key.
-</p>
-
-</div>
-<hr/>
-Previous: <a href="docu_export_key.html">Export a public key</a> | <a href="docu.html">Main</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_import_key.es.html b/resource/help/docu_import_key.es.html
deleted file mode 100644
index cb4a62da..00000000
--- a/resource/help/docu_import_key.es.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_impor~sUFMy.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_decrypt_file.html">Descifrar
- un archivo</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_export_key.html">Exportar
- una llave pública</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- importar llaves públicas</h1>
-<p>
-Hay
- tres pasos para importar llaves públicas Se supone que Bobby quiere importar la llave
- de Alice, de manera que pueda cifrar mensajes para ella. <br/>
-Cuando
- Bobby quiere importar una llave desde la caja del editor de texto o desde el portapapeles,
- primero tiene que copiar la llave en él. </p>
-<h4>PASO
- 1: Abrir el menú importar llave</h4>
-<p>
-Primero,
- Bobby abre el menú 'Importar llave' a través del botón de la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/importkey_menu.jpg" alt="abrir menú importar llave"/>
-</p>
-
-<h4>PASO
- 2: Escoger llaves</h4>
-<p>
-Segundo,
- hacer la selección adecuada Si él quiere importar una llave desde la caja del editor
- de texto, tiene antes que poner la llave en esa caja. Sólo si quiere importar llaves
- desde un archivo tiene que ir al próximo paso, de lo contario ya está todo hecho. </p>
-<p>
-<IMG SRC="img/docu/importkey_dialog.jpg" alt="escoger archivo"/>
-</p>
-
-
-<h4>PASO
- 3: Escoger archivo</h4>
-<p>
-Ahora
- tiene que escoger la llave a importar. Después de hacerlo, la llave importada aparece en el
- listado de llaves. </p>
-<p>
-<IMG SRC="img/docu/importkey_keylist.jpg" alt="listado de llaves"/>
-</p>
-</div>
-<hr/>
-Previo: <a href="docu_decrypt_file.html">Descifrar
- un archivo</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_export_key.html">Exportar
- una llave pública</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_import_key.html b/resource/help/docu_import_key.html
deleted file mode 100644
index c7a7f054..00000000
--- a/resource/help/docu_import_key.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_decrypt_file.html">Decrypt a file</a> | <a href="docu.html">Main</a> | Next: <a href="docu_export_key.html">Export a public key</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto import keys</h1>
-<p>
-There are second respectively three steps for importing public keys. We assume, that Bobby wants to import Alice's key, so that he is able to encrypt messages to her.
-<br/>
-When Bobby wants to import a key from text-edit field or from clipboard, he first has to copy the key to it.
-</p>
-<h4>STEP 1: Open key import dialog</h4>
-<p>
-First Bobby opens the import key dialog through the toolbar.
-</p>
-<p>
-<IMG SRC="img/docu/importkey_menu.jpg" alt="open import key dialog"/>
-</p>
-
-<h4>STEP 2: Choose keys</h4>
-<p>
-Secondly makes the appropriate selection. If he wants to import a key from editor, he has to paste the key to the text-edit field before. Only if he wants to import keys from file, he has to do the next step, otherwise he's done.
-</p>
-<p>
-<IMG SRC="img/docu/importkey_dialog.jpg" alt="choose file"/>
-</p>
-
-
-<h4>STEP 3: Choose file</h4>
-<p>
-Now he chooses the key-file. Afterwards the key appears in the keylist.
-</p>
-<p>
-<IMG SRC="img/docu/importkey_keylist.jpg" alt="key list"/>
-</p>
-</div>
-<hr/>
-Previous: <a href="docu_decrypt_file.html">Decrypt a file</a> | <a href="docu.html">Main</a> | Next: <a href="docu_export_key.html">Export a public key</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_keygen.es.html b/resource/help/docu_keygen.es.html
deleted file mode 100644
index fc4d76d9..00000000
--- a/resource/help/docu_keygen.es.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_keyge~oxZbV.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_concepts.html">Conceptos
- del GPG</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_encrypt.html">Cifrar
- un mensaje</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- generar un par de llaves GPG</h1>
-<p>
-Hay
- cuatro pasos para generar un par de llaves (pública y privada). Supondremos que Alice quiere crear un
- par de llaves, de manera que pueda descifrar los textos que han sido cifrados para
- ella. </p>
-
-<h4>PASO
- 1: Abrir el administrador de llaves</h4>
-
-<p>
-Primero,
- Alice abre el administrador de llaves a través de la barra de herramientas. </p>
-
-<p>
-<IMG SRC="img/docu/genkey_step1.jpg" alt="abrir administrador de llaves"/>
-</p>
-<br/>
-<h4>PASO
- 2: Abrir el menú de crear llaves</h4>
-<p>
-Segundo,
- ella selecciona 'Llave' en el menú superior y escoge la opción 'Crear llave'. </p>
-<p>
-<IMG SRC="img/docu/genkey_step2.jpg" alt="abrir menú crear llave"/>
-</p>
-<br/>
-
-<h4>PASO
- 3: Rellenar el cuestionario</h4>
-<p>
-Ahora
- ella rellena el custionario que sale. Se recomienda escoger un bitrate de 4096 bits
- como mínimo.</p>
-
-<p><b>NOTA:</b> Una
- llave con un bitrate muy alto es más segura pero necesitará más tiempo para cifrar
- y descifrar textos. Para crear una llave sólo tiene que proporcionar un nombre. Incluso
- la contraseña podría estar vacía (lo que desde luego crearía un agujero de seguridad). </p>
-<p>
-<IMG SRC="img/docu/genkey_step3.jpg" alt="rellenar cuestionario"/>
-</p>
-<br/>
-<h4>PASO
- 4: Esperar mientras se crea la llave</h4>
-<p>
-Ahora
- Alice tiene que esperar. El proceso de crear una llave se hace más rápido si Alice
- usa su PC para algo, por ejemplo, navegar por Internet, escuchar música, etc. Se creará una llave GPG que se compone de dos partes: una pública (para todo el mundo) y otra privada (sólo para nosotros). </p>
-<p>
-<IMG SRC="img/docu/genkey_step4.jpg" alt="esperar a terminar creacion llave"/>
-</p>
-
-<div align="justify">
- <p>Cuando
- la caja de crear llave desaparece, ya se ha creado. Saldrá un aviso diciendo que
- se ha tenido éxito en la operación. Pulsar 'Aceptar'. </p>
- <p><img src="img/Nueva_llave_creada.jpg" width="179" height="115" /></p>
-</div>
-</div>
-<hr/>
-Previo: <a href="docu_concepts.html">Conceptos
- de GPG</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_encrypt.html">Cifrar
- un mensaje</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_keygen.html b/resource/help/docu_keygen.html
deleted file mode 100644
index b285b12a..00000000
--- a/resource/help/docu_keygen.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_concepts.html">Concepts of GPG</a> | <a href="docu.html">Main</a> | Next: <a href="docu_encrypt.html">Encrypt a message</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto generate a GPG-keypair</h1>
-<p>
-There are four steps for generating a keypair. We assume, that Alice wants to generate a keypair, so she can decrypt texts, which are encrypted for her.
-</p>
-
-<h4>STEP 1: Open keymanagement</h4>
-
-<p>
-First Alice opens the keymanagement through the toolbar.
-</p>
-
-<p>
-<IMG SRC="img/docu/genkey_step1.jpg" alt="open keymanagement"/>
-</p>
-<br/>
-<h4>STEP 2: Open generate key dialog</h4>
-<p>
-Secondly she opens the generate key dialog through the "key"-menu
-</p>
-<p>
-<IMG SRC="img/docu/genkey_step2.jpg" alt="open generate key dialog"/>
-</p>
-<br/>
-
-<h4>STEP 3: Fill in the form</h4>
-<p>
-Now she fills in the forms.</p>
-
-<p><b>NOTE:</b> A key with a higher bitrate is more secure, but also needs a more time to encrypt and decrypt texts. To generate a key, you only have to provide a name. Even the passphrase could be empty (which of course lags of security).
-</p>
-<p>
-<IMG SRC="img/docu/genkey_step3.jpg" alt="fill in the forms"/>
-</p>
-<br/>
-<h4>STEP 4: Wait while key is generated</h4>
-<p>
-Now Alice has just to wait. The process of the key generation is faster, when Alice does something on her PC, so that the randomdevice gets more input and so more entropy.
-</p>
-<p>
-<IMG SRC="img/docu/genkey_step4.jpg" alt="wait for end of key generation"/>
-</p>
-
-When the generation dialog box disappears, the key generation is finished.
-</div>
-<hr/>
-Previous: <a href="docu_concepts.html">Concepts of GPG</a> | <a href="docu.html">Main</a> | Next: <a href="docu_encrypt.html">Encrypt a message</a>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_sign.es.html b/resource/help/docu_sign.es.html
deleted file mode 100644
index 9b2c0d1b..00000000
--- a/resource/help/docu_sign.es.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_sign~Qkpxkx.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-
-Previo: <a href="docu_decrypt.html">Descifrar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente <a href="docu_verify.html">Verificar
- un mensaje</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- firmar un mensaje</h1>
-<p><b>NOTA:</b> Usted
- sólo puede firmar mensajes si tiene una llave privada. Usted puede identificar las
- llaves privadas por el icono 'manojo de llaves' que está delante del nombre en la
- lista de llaves (en este caso Bobby).</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="pulsar llave privada"/>
-</p>
-
-<p>
-Hay
- cuatro pasos para firmar un texto. Supongamos que Bobby quiere firmar un mensaje.
- Después de esto, cualquiera que tenga su llave pública puede verificar el mensaje
- y asegurarse que el mensaje no ha sido modificado. </p>
-<h4>PASO
- 1/2: Escribir el mensaje y comprobar la llave</h4>
-<p>
-Primero,
- Bobby escribe el mensaje en la caja del editor de texto. Después selecciona su llave
- privada en el listado de llaves de la derecha. </p>
-
-<p>
-<IMG SRC="img/docu/sign_choose_key.jpg" alt="Escoger llave"/>
-</p>
-
-<h4>PASO
- 3: Clic en el botón 'Firmar'</h4>
-<p>
-A
- continuación, Bobby pulsa el botón 'Firmar'. </p>
-<p>
-<IMG SRC="img/docu/sign_click_verify.jpg" alt="clic verificar"/>
-</p>
-
-
-<h4>PASO
- 4: Introducir contraseña</h4>
-<p>
-Ahora
- Bobby introduce la contraseña de su llave privada.<br/>
-<b>NOTA:</b> Usted
- sólo puede firmar mensajes si tiene una llave privada. Las llaves privadas son aquellas
- con un icono 'manojo de llaves' delante de su nombre en el listado de llaves. </p>
-<p>
-<IMG SRC="img/docu/sign_enter_passphrase.jpg" alt="entrar contraseña"/>
-</p>
-<p>
-Después
- de esto, se muestra el mensaje firmado. </p>
-<hr/>
-Previo: <a href="docu_decrypt.html">Descifrar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_verify.html">Verificar
- un mensaje</a>
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_sign.html b/resource/help/docu_sign.html
deleted file mode 100644
index 46a20953..00000000
--- a/resource/help/docu_sign.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-
-Previous: <a href="docu_decrypt.html">Decrypt a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_verify.html">Verify a message</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto sign a message</h1>
-<p><b>NOTE:</b> You can only sign messages, if you have one private key, the file is encrypted for. You can identify the private keys by the "bunch of keys"-image in front of the name in the keylist (in this case Bobby):</p>
-<p>
-<IMG SRC="img/docu/private_key_note.jpg" alt="private key hint"/>
-</p>
-
-<p>
-There are three four for encrypting a text. We assume, that Bobby wants to sign a message.
-After this everyone who has his public key can verify the message and ensure, that the message wasn't modified.
-</p>
-<h4>STEP 1/2: Write the message and check key</h4>
-<p>
-First Bobby writes the message to the textedit-field. Then he checks his private key in the keylist.
-</p>
-
-<p>
-<IMG SRC="img/docu/sign_choose_key.jpg" alt="choose the key"/>
-</p>
-
-<h4>STEP 3: Click sign button</h4>
-<p>
-Then Bobby clicks the sign button.
-</p>
-<p>
-<IMG SRC="img/docu/sign_click_verify.jpg" alt="click verify"/>
-</p>
-
-
-<h4>STEP 4: Enter passphrase</h4>
-<p>
-Now Bobby enters the passphrase of his private key.<br/>
-<b>NOTE:</b> You can only sign messages, if you have a private key. The private keys are those, with the key-icon in front of the Name in the keylist.
-</p>
-<p>
-<IMG SRC="img/docu/sign_enter_passphrase.jpg" alt="enter passphrase"/>
-</p>
-<p>
-Afterwards the signed message is shown.
-</p>
-<hr/>
-Previous: <a href="docu_decrypt.html">Decrypt a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_verify.html">Verify a message</a>
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_verify.es.html b/resource/help/docu_verify.es.html
deleted file mode 100644
index b975c9c4..00000000
--- a/resource/help/docu_verify.es.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<!--Translated using CatsCradle 3.91 [SourceID:docu_verif~cdxic.html] //-->
-<title>gpg4usb
- - Documentación</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previo: <a href="docu_sign.html">Firmar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_encrypt_file.html">Cifrar
- un archivo</a>
-<hr/>
-
-<div id="content">
-
-<h1>Cómo
- verificar un mensaje</h1>
-
-<p>
-Hay
- tres pasos para verificar un mensaje Vamos a suponer que Alice quiere verificar un
- mensaje firmado que le ha llegado. </p>
-<h4>PASO
- 1: Copiar el texto a la caja del editor de textos.</h4>
-<p>
-Primero,
- Alice copia el texto en la caja del editor de texto. </p>
-
-<p>
-<IMG SRC="img/docu/verify_paste_message.jpg" alt="copiar a la caja del editor de textos"/>
-</p>
-
-<h4>PASO 2:
- Clic en 'Verificar'</h4>
-<p>
-Segundo,
- ella hace clic en el botón 'Verificar' de la barra de herramientas. </p>
-<p>
-<IMG SRC="img/docu/verify_click_verify.jpg" alt="clic verificar"/>
-</p>
-
-<h4>PASO
- 3: Leer el mensaje verificado</h4>
-<p>
-Ahora
- Alice lee la información de verificación que aparece en la parte de abajo. Para obtener
- una información más detallada, hacer clic en el botón 'Detalles' en la parte inferior
- y escoger la opción deseada. </p>
-<p>
-<IMG SRC="img/docu/verify_message_shown.jpg" alt="mostrar mensaje"/>
-</p>
-<p>
-<b>NOTA:</b> Si
- la llave no está presente en su listado de llaves, entonces aparece el ID (identificador
- digital) de la llave. </p>
-<p>
-<IMG SRC="img/docu/verify_key_not_present.jpg" alt="llave no presente"/>
-</p>
-
-<p>
-Si
- la llave no está presente, puede intentar importarla desde el servidor de llaves
- por defecto (el que usted puso en el menú 'Configuración'). </p>
-<p>
-<IMG SRC="img/docu/verify_import_from_keyserver.jpg" alt="importar desde servidor de llaves"/>
-</p>
-
-
-<hr/>
-Previo: <a href="docu_sign.html">Firmar
- un mensaje</a> | <a href="docu.html">Principal</a> |
- Siguiente: <a href="docu_encrypt_file.html">Cifrar
- un archivo</a>
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/docu_verify.html b/resource/help/docu_verify.html
deleted file mode 100644
index 718dc5dc..00000000
--- a/resource/help/docu_verify.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
-
-<head>
-<title>gpg4usb - Documentation</title>
-<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
-</head>
-
-<body>
-
-<div style="width:800px;text-align:center;float:center">
-Previous: <a href="docu_sign.html">Sign a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_encrypt_file.html">Encrypt a file</a>
-<hr/>
-
-<div id="content">
-
-<h1>Howto verify a message</h1>
-
-<p>
-There are three steps to verify a message. We assume, that Alice wants to verify a signed message.
-</p>
-<h4>STEP 1: Copy the text to the textedit-field</h4>
-<p>
-First Alice copies the text to the textedit-field.
-</p>
-
-<p>
-<IMG SRC="img/docu/verify_paste_message.jpg" alt="copy to textedit-field"/>
-</p>
-
-<h4>STEP 2: Click verify</h4>
-<p>
-Secondly she clicks on the verify button.
-</p>
-<p>
-<IMG SRC="img/docu/verify_click_verify.jpg" alt="click verify"/>
-</p>
-
-<h4>STEP 3: Read verify message</h4>
-<p>
-Now Alice reads the verify information shown at the bottom a the tab. To get more detailed information,
-she can click the details button in the verify messagebox and then choose .
-</p>
-<p>
-<IMG SRC="img/docu/verify_message_shown.jpg" alt="message shown"/>
-</p>
-<p>
-<b>NOTE:</b> If the key is not present in your keylist, then the signers keyid is shown.
-</p>
-<p>
-<IMG SRC="img/docu/verify_key_not_present.jpg" alt="key not present"/>
-</p>
-
-<p>
-If the key is not present, you can try to import the key from the default keyserver (which you can set in the settings dialog).
-</p>
-<p>
-<IMG SRC="img/docu/verify_import_from_keyserver.jpg" alt="import from keyserver"/>
-</p>
-
-
-<hr/>
-Previous: <a href="docu_sign.html">Sign a message</a> | <a href="docu.html">Main</a> | Next: <a href="docu_encrypt_file.html">Encrypt a file</a>
-</div>
-</div>
-</body>
-</html>
diff --git a/resource/help/img/docu/cryptfile_menu.jpg b/resource/help/img/docu/cryptfile_menu.jpg
deleted file mode 100644
index 92b58ef5..00000000
--- a/resource/help/img/docu/cryptfile_menu.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/cryptfile_menu2.jpg b/resource/help/img/docu/cryptfile_menu2.jpg
deleted file mode 100644
index 020968c9..00000000
--- a/resource/help/img/docu/cryptfile_menu2.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decrypt_step1.jpg b/resource/help/img/docu/decrypt_step1.jpg
deleted file mode 100644
index eef2bfbe..00000000
--- a/resource/help/img/docu/decrypt_step1.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decrypt_step2.jpg b/resource/help/img/docu/decrypt_step2.jpg
deleted file mode 100644
index 45b35fc6..00000000
--- a/resource/help/img/docu/decrypt_step2.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decrypt_step3.jpg b/resource/help/img/docu/decrypt_step3.jpg
deleted file mode 100644
index 71b61c92..00000000
--- a/resource/help/img/docu/decrypt_step3.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decrypt_step4.jpg b/resource/help/img/docu/decrypt_step4.jpg
deleted file mode 100644
index 56a9d8f3..00000000
--- a/resource/help/img/docu/decrypt_step4.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decrypt_step5.jpg b/resource/help/img/docu/decrypt_step5.jpg
deleted file mode 100644
index fe60bab1..00000000
--- a/resource/help/img/docu/decrypt_step5.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decryptfile_choose_decrypt.jpg b/resource/help/img/docu/decryptfile_choose_decrypt.jpg
deleted file mode 100644
index c2960948..00000000
--- a/resource/help/img/docu/decryptfile_choose_decrypt.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decryptfile_hit_ok.jpg b/resource/help/img/docu/decryptfile_hit_ok.jpg
deleted file mode 100644
index 1be2fb25..00000000
--- a/resource/help/img/docu/decryptfile_hit_ok.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decryptfile_input_outputfile.jpg b/resource/help/img/docu/decryptfile_input_outputfile.jpg
deleted file mode 100644
index 4f659f25..00000000
--- a/resource/help/img/docu/decryptfile_input_outputfile.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decryptfile_okmessage.jpg b/resource/help/img/docu/decryptfile_okmessage.jpg
deleted file mode 100644
index c7503fd3..00000000
--- a/resource/help/img/docu/decryptfile_okmessage.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/decryptfile_password.jpg b/resource/help/img/docu/decryptfile_password.jpg
deleted file mode 100644
index 4fef0dd3..00000000
--- a/resource/help/img/docu/decryptfile_password.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encrypt_step1.jpg b/resource/help/img/docu/encrypt_step1.jpg
deleted file mode 100644
index 4c22264f..00000000
--- a/resource/help/img/docu/encrypt_step1.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encrypt_step2.jpg b/resource/help/img/docu/encrypt_step2.jpg
deleted file mode 100644
index 0fbd3909..00000000
--- a/resource/help/img/docu/encrypt_step2.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encrypt_step3.jpg b/resource/help/img/docu/encrypt_step3.jpg
deleted file mode 100644
index aff09ed6..00000000
--- a/resource/help/img/docu/encrypt_step3.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encryptfile_choose_encrypt.jpg b/resource/help/img/docu/encryptfile_choose_encrypt.jpg
deleted file mode 100644
index ed6e1d99..00000000
--- a/resource/help/img/docu/encryptfile_choose_encrypt.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encryptfile_choose_input_outputfile.jpg b/resource/help/img/docu/encryptfile_choose_input_outputfile.jpg
deleted file mode 100644
index 65ccad1a..00000000
--- a/resource/help/img/docu/encryptfile_choose_input_outputfile.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encryptfile_choose_keys.jpg b/resource/help/img/docu/encryptfile_choose_keys.jpg
deleted file mode 100644
index 7b60f34a..00000000
--- a/resource/help/img/docu/encryptfile_choose_keys.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encryptfile_hit_ok.jpg b/resource/help/img/docu/encryptfile_hit_ok.jpg
deleted file mode 100644
index 04122bd1..00000000
--- a/resource/help/img/docu/encryptfile_hit_ok.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/encryptfile_okmessage.jpg b/resource/help/img/docu/encryptfile_okmessage.jpg
deleted file mode 100644
index 4231e4d0..00000000
--- a/resource/help/img/docu/encryptfile_okmessage.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_choose_keys.jpg b/resource/help/img/docu/exportkey_choose_keys.jpg
deleted file mode 100644
index 4f82ae0d..00000000
--- a/resource/help/img/docu/exportkey_choose_keys.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_file_selection.jpg b/resource/help/img/docu/exportkey_file_selection.jpg
deleted file mode 100644
index 1b60fece..00000000
--- a/resource/help/img/docu/exportkey_file_selection.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_hit_export_private_key.jpg b/resource/help/img/docu/exportkey_hit_export_private_key.jpg
deleted file mode 100644
index a7b3b6c2..00000000
--- a/resource/help/img/docu/exportkey_hit_export_private_key.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_menu_selection.jpg b/resource/help/img/docu/exportkey_menu_selection.jpg
deleted file mode 100644
index 65e50026..00000000
--- a/resource/help/img/docu/exportkey_menu_selection.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_open_keymgmt.jpg b/resource/help/img/docu/exportkey_open_keymgmt.jpg
deleted file mode 100644
index 3e79accd..00000000
--- a/resource/help/img/docu/exportkey_open_keymgmt.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_show_keydetails.jpg b/resource/help/img/docu/exportkey_show_keydetails.jpg
deleted file mode 100644
index e9eb50d8..00000000
--- a/resource/help/img/docu/exportkey_show_keydetails.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/exportkey_warn_message.jpg b/resource/help/img/docu/exportkey_warn_message.jpg
deleted file mode 100644
index e8198884..00000000
--- a/resource/help/img/docu/exportkey_warn_message.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/genkey_step1.jpg b/resource/help/img/docu/genkey_step1.jpg
deleted file mode 100644
index 5ce02b16..00000000
--- a/resource/help/img/docu/genkey_step1.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/genkey_step2.jpg b/resource/help/img/docu/genkey_step2.jpg
deleted file mode 100644
index 11080248..00000000
--- a/resource/help/img/docu/genkey_step2.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/genkey_step3.jpg b/resource/help/img/docu/genkey_step3.jpg
deleted file mode 100644
index cc922d6d..00000000
--- a/resource/help/img/docu/genkey_step3.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/genkey_step4.jpg b/resource/help/img/docu/genkey_step4.jpg
deleted file mode 100644
index dfd32f7f..00000000
--- a/resource/help/img/docu/genkey_step4.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/importkey_dialog.jpg b/resource/help/img/docu/importkey_dialog.jpg
deleted file mode 100644
index 426f4b8e..00000000
--- a/resource/help/img/docu/importkey_dialog.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/importkey_keylist.jpg b/resource/help/img/docu/importkey_keylist.jpg
deleted file mode 100644
index 77b93226..00000000
--- a/resource/help/img/docu/importkey_keylist.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/importkey_menu.jpg b/resource/help/img/docu/importkey_menu.jpg
deleted file mode 100644
index 2ef2d24a..00000000
--- a/resource/help/img/docu/importkey_menu.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/private_key_note.jpg b/resource/help/img/docu/private_key_note.jpg
deleted file mode 100644
index a352bf5f..00000000
--- a/resource/help/img/docu/private_key_note.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/sign_choose_key.jpg b/resource/help/img/docu/sign_choose_key.jpg
deleted file mode 100644
index be3950c8..00000000
--- a/resource/help/img/docu/sign_choose_key.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/sign_click_verify.jpg b/resource/help/img/docu/sign_click_verify.jpg
deleted file mode 100644
index 012d7108..00000000
--- a/resource/help/img/docu/sign_click_verify.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/sign_enter_passphrase.jpg b/resource/help/img/docu/sign_enter_passphrase.jpg
deleted file mode 100644
index 67c3fd8d..00000000
--- a/resource/help/img/docu/sign_enter_passphrase.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/sign_show_message.jpg b/resource/help/img/docu/sign_show_message.jpg
deleted file mode 100644
index ee725e36..00000000
--- a/resource/help/img/docu/sign_show_message.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/translate_context.jpg b/resource/help/img/docu/translate_context.jpg
deleted file mode 100644
index af59cd21..00000000
--- a/resource/help/img/docu/translate_context.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/translate_src_transl.jpg b/resource/help/img/docu/translate_src_transl.jpg
deleted file mode 100644
index 432607b1..00000000
--- a/resource/help/img/docu/translate_src_transl.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/verify_click_verify.jpg b/resource/help/img/docu/verify_click_verify.jpg
deleted file mode 100644
index 79d22e71..00000000
--- a/resource/help/img/docu/verify_click_verify.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/verify_import_from_keyserver.jpg b/resource/help/img/docu/verify_import_from_keyserver.jpg
deleted file mode 100644
index 8139bfc8..00000000
--- a/resource/help/img/docu/verify_import_from_keyserver.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/verify_key_not_present.jpg b/resource/help/img/docu/verify_key_not_present.jpg
deleted file mode 100644
index 7d3fcdfd..00000000
--- a/resource/help/img/docu/verify_key_not_present.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/verify_message_shown.jpg b/resource/help/img/docu/verify_message_shown.jpg
deleted file mode 100644
index efbccb68..00000000
--- a/resource/help/img/docu/verify_message_shown.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/docu/verify_paste_message.jpg b/resource/help/img/docu/verify_paste_message.jpg
deleted file mode 100644
index a9a89dad..00000000
--- a/resource/help/img/docu/verify_paste_message.jpg
+++ /dev/null
Binary files differ
diff --git a/resource/help/img/weblogo.png b/resource/help/img/weblogo.png
deleted file mode 100644
index 5618624d..00000000
--- a/resource/help/img/weblogo.png
+++ /dev/null
Binary files differ
diff --git a/resource/icons/warning.png b/resource/icons/warning.png
new file mode 100644
index 00000000..cc802e8d
--- /dev/null
+++ b/resource/icons/warning.png
Binary files differ
diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts
index cb45fdfa..affc5daf 100644
--- a/resource/ts/gpg_frontend_fr.ts
+++ b/resource/ts/gpg_frontend_fr.ts
@@ -508,21 +508,21 @@
<name>InfoTab</name>
<message>
<location filename="../../src/ui/AboutDialog.cpp" line="55"/>
- <source>&lt;br&gt;&lt;center&gt;GPGFrontend is a modern, easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions have a look&lt;br/&gt;at my &lt;a href=&quot;https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81&quot;&gt;contact page&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
+ <source>&lt;br&gt;&lt;center&gt;GPGFrontend is an easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions, raise an issue&lt;br/&gt;at &lt;a href=&quot;https://github.com/saturneric/GpgFrontend&quot;&gt;GitHub&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="64"/>
<source>&lt;br&gt;&lt;br&gt; Built with Qt </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
<source> and GPGME </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="67"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
<source>&lt;br&gt;Built at </source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +727,6 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
- <source>No keys found to import</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
<source>Key Update Details</source>
@@ -749,6 +744,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <source>No keys found to import</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
<source>General key info</source>
<translation type="unfinished"></translation>
@@ -882,51 +882,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="311"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/>
- <source>You&apos;ve dropped something on the keylist.
- gpg4usb will now try to import key(s).</source>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <source>You&apos;ve dropped something on the table.
+ GpgFrontend will now try to import key(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="316"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="352"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="422"/>
- <source>Uploading Public Key...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="455"/>
- <source>Key Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="458"/>
- <source>Timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="461"/>
- <source>Key Server Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="464"/>
- <source>Connection Error</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>KeyMgmt</name>
@@ -936,16 +911,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
- <source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
- <source>Generate KeyPair</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
@@ -966,6 +931,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
+ <source>Ctrl+Q</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -981,6 +951,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
+ <source>Generate KeyPair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
<source>New Subkey</source>
<translation type="unfinished"></translation>
@@ -1067,6 +1042,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
+ <source>Show Key Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
@@ -1087,6 +1067,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
<source>Generate</source>
<translation type="unfinished"></translation>
@@ -1097,23 +1082,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <source>Import Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
- <source>Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
- <source>Show Key Details</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
+ <source>Import key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
- <source>Import key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1312,54 +1287,68 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="138"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="139"/>
<source>Modify Expiration Datetime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="156"/>
- <source>Warning: The master key of the key pair has expired.</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/>
+ <source>Key Server Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="165"/>
+ <source>Warning: The Master Key has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="159"/>
- <source>Warning: The master key of the key pair has been revoked</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="168"/>
+ <source>Warning: The Master Key has been revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="182"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/>
+ <source>Upload Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/>
+ <source>Update Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/>
<source>Exporting private Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="183"/>
- <source>You are about to export your private key.
-This is NOT your public key, so don&apos;t give it away.
-Make sure you keep it save.Do you really want to export your private key?</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/>
+ <source>&lt;h3&gt;You are about to export your &lt;font color=&quot;red&quot;&gt;PRIVATE KEY&lt;/font&gt;!&lt;/h3&gt;
+This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;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="196"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="197"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Export error</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Couldn&apos;t open %1 for writing</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Export Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="270"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="278"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,13 +1642,13 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
- <source>&amp;Import ALL</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1674,101 +1663,114 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/ui/KeyServerImportDialog.cpp" line="98"/>
+ <source>Update Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="100"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="180"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="182"/>
<source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="211"/>
- <source>&lt;h4&gt;Couldn&apos;t contact keyserver!&lt;/h4&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="218"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/>
<source>&lt;h4&gt;CToo many responses from keyserver!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="240"/>
<source>&lt;h4&gt;No keys found, input may be kexId, retrying search with 0x.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="245"/>
<source>&lt;h4&gt;No keys found containing the search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="234"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="249"/>
<source>&lt;h4&gt;Insufficiently specific search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="262"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="265"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="280"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="305"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="320"/>
<source>&lt;h4&gt;%1 keys found. Double click a key to import it.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="361"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/>
<source>Key Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="364"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/>
+ <source>Upload Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/>
<source>Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="367"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/>
+ <source>Not Key Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/>
<source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="370"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/>
<source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="385"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/>
<source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="387"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="415"/>
<source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1830,6 +1832,34 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
</context>
<context>
+ <name>KeyUploadDialog</name>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="52"/>
+ <source>Uploading Public Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="87"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="90"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="93"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="96"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>KeyserverTab</name>
<message>
<location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
@@ -2190,6 +2220,11 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/MainWindow.cpp" line="380"/>
+ <source>Show Details for this Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/MainWindow.cpp" line="383"/>
<source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
@@ -2210,11 +2245,6 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/MainWindow.cpp" line="402"/>
<source>Remove PGP Header</source>
<translation type="unfinished"></translation>
@@ -2352,14 +2382,14 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="726"/>
<location filename="../../src/MainWindow.cpp" line="773"/>
- <location filename="../../src/MainWindow.cpp" line="1077"/>
+ <location filename="../../src/MainWindow.cpp" line="1076"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="733"/>
<location filename="../../src/MainWindow.cpp" line="780"/>
- <location filename="../../src/MainWindow.cpp" line="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1083"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2371,7 +2401,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="735"/>
<location filename="../../src/MainWindow.cpp" line="782"/>
- <location filename="../../src/MainWindow.cpp" line="1086"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2381,7 +2411,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>The selected key cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpg_frontend_ru.ts b/resource/ts/gpg_frontend_ru.ts
index 95b5494d..72a925a7 100644
--- a/resource/ts/gpg_frontend_ru.ts
+++ b/resource/ts/gpg_frontend_ru.ts
@@ -508,21 +508,21 @@
<name>InfoTab</name>
<message>
<location filename="../../src/ui/AboutDialog.cpp" line="55"/>
- <source>&lt;br&gt;&lt;center&gt;GPGFrontend is a modern, easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions have a look&lt;br/&gt;at my &lt;a href=&quot;https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81&quot;&gt;contact page&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
+ <source>&lt;br&gt;&lt;center&gt;GPGFrontend is an easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions, raise an issue&lt;br/&gt;at &lt;a href=&quot;https://github.com/saturneric/GpgFrontend&quot;&gt;GitHub&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="64"/>
<source>&lt;br&gt;&lt;br&gt; Built with Qt </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
<source> and GPGME </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="67"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
<source>&lt;br&gt;Built at </source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +727,6 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
- <source>No keys found to import</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
<source>Key Update Details</source>
@@ -749,6 +744,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <source>No keys found to import</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
<source>General key info</source>
<translation type="unfinished"></translation>
@@ -882,51 +882,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="311"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/>
- <source>You&apos;ve dropped something on the keylist.
- gpg4usb will now try to import key(s).</source>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <source>You&apos;ve dropped something on the table.
+ GpgFrontend will now try to import key(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="316"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="352"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="422"/>
- <source>Uploading Public Key...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="455"/>
- <source>Key Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="458"/>
- <source>Timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="461"/>
- <source>Key Server Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="464"/>
- <source>Connection Error</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>KeyMgmt</name>
@@ -936,16 +911,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
- <source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
- <source>Generate KeyPair</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
@@ -966,6 +931,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
+ <source>Ctrl+Q</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -981,6 +951,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
+ <source>Generate KeyPair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
<source>New Subkey</source>
<translation type="unfinished"></translation>
@@ -1067,6 +1042,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
+ <source>Show Key Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
@@ -1087,6 +1067,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
<source>Generate</source>
<translation type="unfinished"></translation>
@@ -1097,23 +1082,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <source>Import Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
- <source>Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
- <source>Show Key Details</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
+ <source>Import key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
- <source>Import key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1312,54 +1287,68 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="138"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="139"/>
<source>Modify Expiration Datetime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="156"/>
- <source>Warning: The master key of the key pair has expired.</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/>
+ <source>Key Server Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="165"/>
+ <source>Warning: The Master Key has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="159"/>
- <source>Warning: The master key of the key pair has been revoked</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="168"/>
+ <source>Warning: The Master Key has been revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="182"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/>
+ <source>Upload Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/>
+ <source>Update Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/>
<source>Exporting private Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="183"/>
- <source>You are about to export your private key.
-This is NOT your public key, so don&apos;t give it away.
-Make sure you keep it save.Do you really want to export your private key?</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/>
+ <source>&lt;h3&gt;You are about to export your &lt;font color=&quot;red&quot;&gt;PRIVATE KEY&lt;/font&gt;!&lt;/h3&gt;
+This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;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="196"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="197"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Export error</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Couldn&apos;t open %1 for writing</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Export Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="270"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="278"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,13 +1642,13 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
- <source>&amp;Import ALL</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1674,101 +1663,114 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/ui/KeyServerImportDialog.cpp" line="98"/>
+ <source>Update Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="100"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="180"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="182"/>
<source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="211"/>
- <source>&lt;h4&gt;Couldn&apos;t contact keyserver!&lt;/h4&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="218"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/>
<source>&lt;h4&gt;CToo many responses from keyserver!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="240"/>
<source>&lt;h4&gt;No keys found, input may be kexId, retrying search with 0x.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="245"/>
<source>&lt;h4&gt;No keys found containing the search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="234"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="249"/>
<source>&lt;h4&gt;Insufficiently specific search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="262"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="265"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="280"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="305"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="320"/>
<source>&lt;h4&gt;%1 keys found. Double click a key to import it.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="361"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/>
<source>Key Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="364"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/>
+ <source>Upload Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/>
<source>Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="367"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/>
+ <source>Not Key Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/>
<source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="370"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/>
<source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="385"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/>
<source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="387"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="415"/>
<source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1830,6 +1832,34 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
</context>
<context>
+ <name>KeyUploadDialog</name>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="52"/>
+ <source>Uploading Public Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="87"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="90"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="93"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="96"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>KeyserverTab</name>
<message>
<location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
@@ -2190,6 +2220,11 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/MainWindow.cpp" line="380"/>
+ <source>Show Details for this Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/MainWindow.cpp" line="383"/>
<source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
@@ -2210,11 +2245,6 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/MainWindow.cpp" line="402"/>
<source>Remove PGP Header</source>
<translation type="unfinished"></translation>
@@ -2352,14 +2382,14 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="726"/>
<location filename="../../src/MainWindow.cpp" line="773"/>
- <location filename="../../src/MainWindow.cpp" line="1077"/>
+ <location filename="../../src/MainWindow.cpp" line="1076"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="733"/>
<location filename="../../src/MainWindow.cpp" line="780"/>
- <location filename="../../src/MainWindow.cpp" line="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1083"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2371,7 +2401,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="735"/>
<location filename="../../src/MainWindow.cpp" line="782"/>
- <location filename="../../src/MainWindow.cpp" line="1086"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2381,7 +2411,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>The selected key cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts
index 700e382e..4d3c18be 100644
--- a/resource/ts/gpgfrontend_en_us.ts
+++ b/resource/ts/gpgfrontend_en_us.ts
@@ -508,21 +508,21 @@
<name>InfoTab</name>
<message>
<location filename="../../src/ui/AboutDialog.cpp" line="55"/>
- <source>&lt;br&gt;&lt;center&gt;GPGFrontend is a modern, easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions have a look&lt;br/&gt;at my &lt;a href=&quot;https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81&quot;&gt;contact page&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
+ <source>&lt;br&gt;&lt;center&gt;GPGFrontend is an easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions, raise an issue&lt;br/&gt;at &lt;a href=&quot;https://github.com/saturneric/GpgFrontend&quot;&gt;GitHub&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="64"/>
<source>&lt;br&gt;&lt;br&gt; Built with Qt </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
<source> and GPGME </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="67"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
<source>&lt;br&gt;Built at </source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +727,6 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
- <source>No keys found to import</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
<source>Key Update Details</source>
@@ -749,6 +744,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <source>No keys found to import</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
<source>General key info</source>
<translation type="unfinished"></translation>
@@ -882,51 +882,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="311"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/>
- <source>You&apos;ve dropped something on the keylist.
- gpg4usb will now try to import key(s).</source>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <source>You&apos;ve dropped something on the table.
+ GpgFrontend will now try to import key(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="316"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="352"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="422"/>
- <source>Uploading Public Key...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="455"/>
- <source>Key Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="458"/>
- <source>Timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="461"/>
- <source>Key Server Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="464"/>
- <source>Connection Error</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>KeyMgmt</name>
@@ -936,16 +911,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
- <source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
- <source>Generate KeyPair</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
@@ -966,6 +931,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
+ <source>Ctrl+Q</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -981,6 +951,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
+ <source>Generate KeyPair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
<source>New Subkey</source>
<translation type="unfinished"></translation>
@@ -1067,6 +1042,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
+ <source>Show Key Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
@@ -1087,6 +1067,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
<source>Generate</source>
<translation type="unfinished"></translation>
@@ -1097,23 +1082,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <source>Import Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
- <source>Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
- <source>Show Key Details</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
+ <source>Import key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
- <source>Import key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1312,54 +1287,68 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="138"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="139"/>
<source>Modify Expiration Datetime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="156"/>
- <source>Warning: The master key of the key pair has expired.</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/>
+ <source>Key Server Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="165"/>
+ <source>Warning: The Master Key has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="159"/>
- <source>Warning: The master key of the key pair has been revoked</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="168"/>
+ <source>Warning: The Master Key has been revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="182"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/>
+ <source>Upload Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/>
+ <source>Update Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/>
<source>Exporting private Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="183"/>
- <source>You are about to export your private key.
-This is NOT your public key, so don&apos;t give it away.
-Make sure you keep it save.Do you really want to export your private key?</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/>
+ <source>&lt;h3&gt;You are about to export your &lt;font color=&quot;red&quot;&gt;PRIVATE KEY&lt;/font&gt;!&lt;/h3&gt;
+This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;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="196"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="197"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Export error</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Couldn&apos;t open %1 for writing</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Export Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="270"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="278"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,13 +1642,13 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
- <source>&amp;Import ALL</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1674,101 +1663,114 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/ui/KeyServerImportDialog.cpp" line="98"/>
+ <source>Update Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="100"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="180"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="182"/>
<source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="211"/>
- <source>&lt;h4&gt;Couldn&apos;t contact keyserver!&lt;/h4&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="218"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/>
<source>&lt;h4&gt;CToo many responses from keyserver!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="240"/>
<source>&lt;h4&gt;No keys found, input may be kexId, retrying search with 0x.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="245"/>
<source>&lt;h4&gt;No keys found containing the search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="234"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="249"/>
<source>&lt;h4&gt;Insufficiently specific search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="262"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="265"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="280"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="305"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="320"/>
<source>&lt;h4&gt;%1 keys found. Double click a key to import it.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="361"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/>
<source>Key Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="364"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/>
+ <source>Upload Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/>
<source>Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="367"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/>
+ <source>Not Key Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/>
<source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="370"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/>
<source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="385"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/>
<source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="387"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="415"/>
<source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1830,6 +1832,34 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
</context>
<context>
+ <name>KeyUploadDialog</name>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="52"/>
+ <source>Uploading Public Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="87"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="90"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="93"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="96"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>KeyserverTab</name>
<message>
<location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
@@ -2190,6 +2220,11 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/MainWindow.cpp" line="380"/>
+ <source>Show Details for this Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/MainWindow.cpp" line="383"/>
<source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
@@ -2210,11 +2245,6 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/MainWindow.cpp" line="402"/>
<source>Remove PGP Header</source>
<translation type="unfinished"></translation>
@@ -2352,14 +2382,14 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="726"/>
<location filename="../../src/MainWindow.cpp" line="773"/>
- <location filename="../../src/MainWindow.cpp" line="1077"/>
+ <location filename="../../src/MainWindow.cpp" line="1076"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="733"/>
<location filename="../../src/MainWindow.cpp" line="780"/>
- <location filename="../../src/MainWindow.cpp" line="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1083"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2371,7 +2401,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="735"/>
<location filename="../../src/MainWindow.cpp" line="782"/>
- <location filename="../../src/MainWindow.cpp" line="1086"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2381,7 +2411,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>The selected key cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_zh_chs.ts b/resource/ts/gpgfrontend_zh_chs.ts
index aa0a9f30..b8c693f1 100644
--- a/resource/ts/gpgfrontend_zh_chs.ts
+++ b/resource/ts/gpgfrontend_zh_chs.ts
@@ -508,21 +508,21 @@
<name>InfoTab</name>
<message>
<location filename="../../src/ui/AboutDialog.cpp" line="55"/>
- <source>&lt;br&gt;&lt;center&gt;GPGFrontend is a modern, easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions have a look&lt;br/&gt;at my &lt;a href=&quot;https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81&quot;&gt;contact page&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
+ <source>&lt;br&gt;&lt;center&gt;GPGFrontend is an easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions, raise an issue&lt;br/&gt;at &lt;a href=&quot;https://github.com/saturneric/GpgFrontend&quot;&gt;GitHub&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="64"/>
<source>&lt;br&gt;&lt;br&gt; Built with Qt </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
<source> and GPGME </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="67"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
<source>&lt;br&gt;Built at </source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +727,6 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
- <source>No keys found to import</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
<source>Key Update Details</source>
@@ -749,6 +744,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <source>No keys found to import</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
<source>General key info</source>
<translation type="unfinished"></translation>
@@ -882,51 +882,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="311"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/>
- <source>You&apos;ve dropped something on the keylist.
- gpg4usb will now try to import key(s).</source>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <source>You&apos;ve dropped something on the table.
+ GpgFrontend will now try to import key(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="316"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="352"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="422"/>
- <source>Uploading Public Key...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="455"/>
- <source>Key Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="458"/>
- <source>Timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="461"/>
- <source>Key Server Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="464"/>
- <source>Connection Error</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>KeyMgmt</name>
@@ -936,16 +911,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
- <source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
- <source>Generate KeyPair</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
@@ -966,6 +931,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
+ <source>Ctrl+Q</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -981,6 +951,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
+ <source>Generate KeyPair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
<source>New Subkey</source>
<translation type="unfinished"></translation>
@@ -1067,6 +1042,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
+ <source>Show Key Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
@@ -1087,6 +1067,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
<source>Generate</source>
<translation type="unfinished"></translation>
@@ -1097,23 +1082,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <source>Import Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
- <source>Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
- <source>Show Key Details</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
+ <source>Import key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
- <source>Import key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1312,54 +1287,68 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="138"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="139"/>
<source>Modify Expiration Datetime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="156"/>
- <source>Warning: The master key of the key pair has expired.</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/>
+ <source>Key Server Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="165"/>
+ <source>Warning: The Master Key has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="159"/>
- <source>Warning: The master key of the key pair has been revoked</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="168"/>
+ <source>Warning: The Master Key has been revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="182"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/>
+ <source>Upload Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/>
+ <source>Update Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/>
<source>Exporting private Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="183"/>
- <source>You are about to export your private key.
-This is NOT your public key, so don&apos;t give it away.
-Make sure you keep it save.Do you really want to export your private key?</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/>
+ <source>&lt;h3&gt;You are about to export your &lt;font color=&quot;red&quot;&gt;PRIVATE KEY&lt;/font&gt;!&lt;/h3&gt;
+This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;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="196"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="197"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Export error</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Couldn&apos;t open %1 for writing</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Export Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="270"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="278"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,13 +1642,13 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
- <source>&amp;Import ALL</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1674,101 +1663,114 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/ui/KeyServerImportDialog.cpp" line="98"/>
+ <source>Update Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="100"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="180"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="182"/>
<source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="211"/>
- <source>&lt;h4&gt;Couldn&apos;t contact keyserver!&lt;/h4&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="218"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/>
<source>&lt;h4&gt;CToo many responses from keyserver!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="240"/>
<source>&lt;h4&gt;No keys found, input may be kexId, retrying search with 0x.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="245"/>
<source>&lt;h4&gt;No keys found containing the search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="234"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="249"/>
<source>&lt;h4&gt;Insufficiently specific search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="262"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="265"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="280"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="305"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="320"/>
<source>&lt;h4&gt;%1 keys found. Double click a key to import it.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="361"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/>
<source>Key Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="364"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/>
+ <source>Upload Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/>
<source>Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="367"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/>
+ <source>Not Key Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/>
<source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="370"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/>
<source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="385"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/>
<source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="387"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="415"/>
<source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1830,6 +1832,34 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
</context>
<context>
+ <name>KeyUploadDialog</name>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="52"/>
+ <source>Uploading Public Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="87"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="90"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="93"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="96"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>KeyserverTab</name>
<message>
<location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
@@ -2190,6 +2220,11 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/MainWindow.cpp" line="380"/>
+ <source>Show Details for this Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/MainWindow.cpp" line="383"/>
<source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
@@ -2210,11 +2245,6 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/MainWindow.cpp" line="402"/>
<source>Remove PGP Header</source>
<translation type="unfinished"></translation>
@@ -2352,14 +2382,14 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="726"/>
<location filename="../../src/MainWindow.cpp" line="773"/>
- <location filename="../../src/MainWindow.cpp" line="1077"/>
+ <location filename="../../src/MainWindow.cpp" line="1076"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="733"/>
<location filename="../../src/MainWindow.cpp" line="780"/>
- <location filename="../../src/MainWindow.cpp" line="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1083"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2371,7 +2401,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="735"/>
<location filename="../../src/MainWindow.cpp" line="782"/>
- <location filename="../../src/MainWindow.cpp" line="1086"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2381,7 +2411,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>The selected key cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_zh_cht.ts b/resource/ts/gpgfrontend_zh_cht.ts
index aa0a9f30..b8c693f1 100644
--- a/resource/ts/gpgfrontend_zh_cht.ts
+++ b/resource/ts/gpgfrontend_zh_cht.ts
@@ -508,21 +508,21 @@
<name>InfoTab</name>
<message>
<location filename="../../src/ui/AboutDialog.cpp" line="55"/>
- <source>&lt;br&gt;&lt;center&gt;GPGFrontend is a modern, easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions have a look&lt;br/&gt;at my &lt;a href=&quot;https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81&quot;&gt;contact page&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
+ <source>&lt;br&gt;&lt;center&gt;GPGFrontend is an easy-to-use, compact, &lt;br&gt;cross-platform, and installation-free gpg front-end tool.&lt;br&gt;It visualizes most of the common operations of gpg commands.&lt;br&gt;It&apos;s licensed under the GPL v3&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Saturneric&lt;br&gt;&lt;br&gt;If you have any questions or suggestions, raise an issue&lt;br/&gt;at &lt;a href=&quot;https://github.com/saturneric/GpgFrontend&quot;&gt;GitHub&lt;/a&gt; or send a mail to my&lt;br/&gt; mailing list at &lt;a href=&quot;mailto:[email protected]&quot;&gt;[email protected]&lt;/a&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="64"/>
<source>&lt;br&gt;&lt;br&gt; Built with Qt </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="65"/>
<source> and GPGME </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/AboutDialog.cpp" line="67"/>
+ <location filename="../../src/ui/AboutDialog.cpp" line="66"/>
<source>&lt;br&gt;Built at </source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +727,6 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
- <source>No keys found to import</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
<source>Key Update Details</source>
@@ -749,6 +744,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <source>No keys found to import</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
<source>General key info</source>
<translation type="unfinished"></translation>
@@ -882,51 +882,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="311"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="315"/>
- <source>You&apos;ve dropped something on the keylist.
- gpg4usb will now try to import key(s).</source>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
+ <source>You&apos;ve dropped something on the table.
+ GpgFrontend will now try to import key(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="316"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="352"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="422"/>
- <source>Uploading Public Key...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="455"/>
- <source>Key Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="458"/>
- <source>Timeout</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="461"/>
- <source>Key Server Not Found</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="464"/>
- <source>Connection Error</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>KeyMgmt</name>
@@ -936,16 +911,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
- <source>Ctrl+Q</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
- <source>Generate KeyPair</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
@@ -966,6 +931,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="94"/>
+ <source>Ctrl+Q</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -981,6 +951,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="102"/>
+ <source>Generate KeyPair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
<source>New Subkey</source>
<translation type="unfinished"></translation>
@@ -1067,6 +1042,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
+ <source>Show Key Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
@@ -1087,6 +1067,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
<source>Generate</source>
<translation type="unfinished"></translation>
@@ -1097,23 +1082,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <source>Import Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
- <source>Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="145"/>
- <source>Show Key Details</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
+ <source>Import key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="191"/>
- <source>Import key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1312,54 +1287,68 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="138"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="139"/>
<source>Modify Expiration Datetime</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="156"/>
- <source>Warning: The master key of the key pair has expired.</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="143"/>
+ <source>Key Server Operation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="165"/>
+ <source>Warning: The Master Key has expired.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="159"/>
- <source>Warning: The master key of the key pair has been revoked</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="168"/>
+ <source>Warning: The Master Key has been revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="182"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/>
+ <source>Upload Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/>
+ <source>Update Key Pair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/>
<source>Exporting private Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="183"/>
- <source>You are about to export your private key.
-This is NOT your public key, so don&apos;t give it away.
-Make sure you keep it save.Do you really want to export your private key?</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="192"/>
+ <source>&lt;h3&gt;You are about to export your &lt;font color=&quot;red&quot;&gt;PRIVATE KEY&lt;/font&gt;!&lt;/h3&gt;
+This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;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="196"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="204"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="197"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="205"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Export error</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Couldn&apos;t open %1 for writing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="200"/>
- <source>Couldn&apos;t open %1 for writing</source>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/>
+ <source>Export Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="270"/>
+ <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="278"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
@@ -1653,13 +1642,13 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="41"/>
- <source>&amp;Import ALL</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -1674,101 +1663,114 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/ui/KeyServerImportDialog.cpp" line="98"/>
+ <source>Update Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="100"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="159"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="161"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="180"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="182"/>
<source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="211"/>
- <source>&lt;h4&gt;Couldn&apos;t contact keyserver!&lt;/h4&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="218"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/>
<source>&lt;h4&gt;CToo many responses from keyserver!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="240"/>
<source>&lt;h4&gt;No keys found, input may be kexId, retrying search with 0x.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="230"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="245"/>
<source>&lt;h4&gt;No keys found containing the search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="234"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="249"/>
<source>&lt;h4&gt;Insufficiently specific search string!&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="262"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="277"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="265"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="280"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="305"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="320"/>
<source>&lt;h4&gt;%1 keys found. Double click a key to import it.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="361"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="386"/>
<source>Key Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="364"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/>
+ <source>Upload Keys from Keyserver</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/>
<source>Timeout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="367"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/>
+ <source>Not Key Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/>
<source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="370"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/>
<source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="385"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/>
<source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="387"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="415"/>
<source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1830,6 +1832,34 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
</context>
<context>
+ <name>KeyUploadDialog</name>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="52"/>
+ <source>Uploading Public Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="87"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="90"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="93"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyUploadDialog.cpp" line="96"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>KeyserverTab</name>
<message>
<location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
@@ -2190,6 +2220,11 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../../src/MainWindow.cpp" line="380"/>
+ <source>Show Details for this Key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../../src/MainWindow.cpp" line="383"/>
<source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
@@ -2210,11 +2245,6 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../../src/MainWindow.cpp" line="402"/>
<source>Remove PGP Header</source>
<translation type="unfinished"></translation>
@@ -2352,14 +2382,14 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="726"/>
<location filename="../../src/MainWindow.cpp" line="773"/>
- <location filename="../../src/MainWindow.cpp" line="1077"/>
+ <location filename="../../src/MainWindow.cpp" line="1076"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="733"/>
<location filename="../../src/MainWindow.cpp" line="780"/>
- <location filename="../../src/MainWindow.cpp" line="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1083"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2371,7 +2401,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<message>
<location filename="../../src/MainWindow.cpp" line="735"/>
<location filename="../../src/MainWindow.cpp" line="782"/>
- <location filename="../../src/MainWindow.cpp" line="1086"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2381,7 +2411,7 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/MainWindow.cpp" line="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>The selected key cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1cf4c5c5..1cc424ca 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -35,7 +35,6 @@ configure_file(${CMAKE_SOURCE_DIR}/include/GpgFrontend.h.in ${CMAKE_SOURCE_DIR}/
# Copy Resource Files
file(COPY ${CMAKE_SOURCE_DIR}/resource/css DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN)
file(COPY ${CMAKE_SOURCE_DIR}/resource/icons DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN)
-file(COPY ${CMAKE_SOURCE_DIR}/resource/help DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN)
file(COPY ${CMAKE_SOURCE_DIR}/resource/conf DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ FOLLOW_SYMLINK_CHAIN)
# Copy Utils Files
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp
index 42b04c76..4473b8a2 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -261,11 +261,11 @@ void MainWindow::createActions() {
quoteAct->setToolTip(tr("Quote whole text"));
connect(quoteAct, SIGNAL(triggered()), edit, SLOT(slotQuote()));
- selectallAct = new QAction(tr("Select &All"), this);
- selectallAct->setIcon(QIcon(":edit.png"));
- selectallAct->setShortcut(QKeySequence::SelectAll);
- selectallAct->setToolTip(tr("Select the whole text"));
- connect(selectallAct, SIGNAL(triggered()), edit, SLOT(slotSelectAll()));
+ selectAllAct = new QAction(tr("Select &All"), this);
+ selectAllAct->setIcon(QIcon(":edit.png"));
+ selectAllAct->setShortcut(QKeySequence::SelectAll);
+ selectAllAct->setToolTip(tr("Select the whole text"));
+ connect(selectAllAct, SIGNAL(triggered()), edit, SLOT(slotSelectAll()));
findAct = new QAction(tr("&Find"), this);
findAct->setShortcut(QKeySequence::Find);
@@ -422,7 +422,7 @@ void MainWindow::slotDisableTabActions(int number) {
copyAct->setDisabled(disable);
pasteAct->setDisabled(disable);
closeTabAct->setDisabled(disable);
- selectallAct->setDisabled(disable);
+ selectAllAct->setDisabled(disable);
findAct->setDisabled(disable);
verifyAct->setDisabled(disable);
signAct->setDisabled(disable);
@@ -465,7 +465,7 @@ void MainWindow::createMenus() {
editMenu->addAction(copyAct);
editMenu->addAction(cutAct);
editMenu->addAction(pasteAct);
- editMenu->addAction(selectallAct);
+ editMenu->addAction(selectAllAct);
editMenu->addAction(findAct);
editMenu->addSeparator();
editMenu->addAction(quoteAct);
@@ -546,7 +546,7 @@ void MainWindow::createToolBars() {
editToolBar->setObjectName("editToolBar");
editToolBar->addAction(copyAct);
editToolBar->addAction(pasteAct);
- editToolBar->addAction(selectallAct);
+ editToolBar->addAction(selectAllAct);
viewMenu->addAction(editToolBar->toggleViewAction());
specialEditToolBar = addToolBar(tr("Special Edit"));
@@ -598,13 +598,13 @@ void MainWindow::createStatusBar() {
void MainWindow::createDockWindows() {
/* KeyList-Dockwindow
*/
- keylistDock = new QDockWidget(tr("Key ToolBox"), this);
- keylistDock->setObjectName("EncryptDock");
- keylistDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
- keylistDock->setMinimumWidth(460);
- addDockWidget(Qt::RightDockWidgetArea, keylistDock);
- keylistDock->setWidget(mKeyList);
- viewMenu->addAction(keylistDock->toggleViewAction());
+ keyListDock = new QDockWidget(tr("Key ToolBox"), this);
+ keyListDock->setObjectName("EncryptDock");
+ keyListDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
+ keyListDock->setMinimumWidth(460);
+ addDockWidget(Qt::RightDockWidgetArea, keyListDock);
+ keyListDock->setWidget(mKeyList);
+ viewMenu->addAction(keyListDock->toggleViewAction());
infoBoardDock = new QDockWidget(tr("Information Board"), this);
infoBoardDock->setObjectName("Information Board");
@@ -922,17 +922,16 @@ void MainWindow::refreshKeysFromKeyserver() {
return;
}
- auto *ksid = new KeyServerImportDialog(mCtx, mKeyList, true, this);
- ksid->show();
- ksid->slotImport(*mKeyList->getSelected());
+ auto *dialog = new KeyServerImportDialog(mCtx, mKeyList, true, this);
+ dialog->show();
+ dialog->slotImport(*mKeyList->getSelected());
}
void MainWindow::uploadKeyToServer() {
- auto *keyArray = new QByteArray();
- mCtx->exportKeys(mKeyList->getSelected(), keyArray);
-
- mKeyList->uploadKeyToServer(keyArray);
+ QVector<GpgKey> keys;
+ keys.append(mKeyList->getSelectedKey());
+ auto *dialog = new KeyUploadDialog(mCtx, keys);
}
void MainWindow::slotFileEncrypt() {
diff --git a/src/gpg/GpgContext.cpp b/src/gpg/GpgContext.cpp
index 62d7a246..603ad90b 100644
--- a/src/gpg/GpgContext.cpp
+++ b/src/gpg/GpgContext.cpp
@@ -1215,4 +1215,30 @@ namespace GpgME {
return err;
}
+
+ bool GpgContext::exportKeys(const QVector<GpgKey> &keys, QByteArray &outBuffer) {
+ size_t read_bytes;
+ gpgme_data_t dataOut = nullptr;
+ outBuffer.resize(0);
+
+ if (keys.count() == 0) {
+ QMessageBox::critical(nullptr, "Export Keys Error", "No Keys Selected");
+ return false;
+ }
+
+ for (const auto& key : keys) {
+ err = gpgme_data_new(&dataOut);
+ checkErr(err);
+
+ err = gpgme_op_export(mCtx,key.id.toUtf8().constData(), 0, dataOut);
+ checkErr(err);
+
+ read_bytes = gpgme_data_seek(dataOut, 0, SEEK_END);
+
+ err = readToBuffer(dataOut, &outBuffer);
+ checkErr(err);
+ gpgme_data_release(dataOut);
+ }
+ return true;
+ }
} \ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index 7d6a71a3..db11ee6f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -81,6 +81,8 @@ int main(int argc, char *argv[]) {
qDebug() << "Translator2" << translator2.filePath();
QApplication::installTranslator(&translator2);
+ QApplication::setQuitOnLastWindowClosed(true);
+
MainWindow window;
return_from_event_loop_code = QApplication::exec();
diff --git a/src/ui/AboutDialog.cpp b/src/ui/AboutDialog.cpp
index 652bb956..e51f225d 100644
--- a/src/ui/AboutDialog.cpp
+++ b/src/ui/AboutDialog.cpp
@@ -50,21 +50,19 @@ InfoTab::InfoTab(QWidget *parent)
: QWidget(parent) {
auto *pixmap = new QPixmap(":gpgfrontend-logo.png");
auto *text = new QString("<center><h2>" + qApp->applicationName() + "</h2></center>"
- + "<center><b>" + qApp->applicationVersion() + "</b></center>"
- + "<center>" + GIT_VERSION + "</center>"
- + tr("<br><center>GPGFrontend is a modern, easy-to-use, compact, <br>"
- "cross-platform, and installation-free gpg front-end tool.<br>"
- "It visualizes most of the common operations of gpg commands.<br>"
- "It's licensed under the GPL v3<br><br>"
- "<b>Developer:</b><br>"
- "Saturneric<br><br>"
- "If you have any questions or suggestions have a look<br/>"
- "at my <a href=\"https://bktus.com/%e8%81%94%e7%b3%bb%e4%b8%8e%e9%aa%8c%e8%af%81\">"
- "contact page</a> or send a mail to my<br/> mailing list at"
- " <a href=\"mailto:[email protected]\">[email protected]</a>.") +
- tr("<br><br> Built with Qt ") + qVersion()
- + tr(" and GPGME ") + GpgME::GpgContext::getGpgmeVersion() +
- tr("<br>Built at ") + BUILD_TIMESTAMP + "</center>");
+ + "<center><b>" + qApp->applicationVersion() + "</b></center>"
+ + "<center>" + GIT_VERSION + "</center>"
+ + tr("<br><center>GPGFrontend is an easy-to-use, compact, <br>"
+ "cross-platform, and installation-free gpg front-end tool.<br>"
+ "It visualizes most of the common operations of gpg commands.<br>"
+ "It's licensed under the GPL v3<br><br>"
+ "<b>Developer:</b><br>"
+ "Saturneric<br><br>"
+ "If you have any questions or suggestions, raise an issue<br/>"
+ "at <a href=\"https://github.com/saturneric/GpgFrontend\">GitHub</a> or send a mail to my mailing list at <a href=\"mailto:[email protected]\">[email protected]</a>.") +
+ tr("<br><br> Built with Qt ") + qVersion()
+ + tr(" and GPGME ") + GpgME::GpgContext::getGpgmeVersion() +
+ tr("<br>Built at ") + BUILD_TIMESTAMP + "</center>");
auto *layout = new QGridLayout();
auto *pixmapLabel = new QLabel();
@@ -83,7 +81,7 @@ InfoTab::InfoTab(QWidget *parent)
TranslatorsTab::TranslatorsTab(QWidget *parent)
: QWidget(parent) {
QFile translatorsFile;
- translatorsFile.setFileName(qApp->applicationDirPath() + "/TRANSLATORS");
+ translatorsFile.setFileName(qApp->applicationDirPath() + "/About");
translatorsFile.open(QIODevice::ReadOnly);
QByteArray inBuffer = translatorsFile.readAll();
diff --git a/src/ui/KeyServerImportDialog.cpp b/src/ui/KeyServerImportDialog.cpp
index 00ff4165..bfa53cce 100644
--- a/src/ui/KeyServerImportDialog.cpp
+++ b/src/ui/KeyServerImportDialog.cpp
@@ -61,7 +61,7 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *ke
waitingBar->setVisible(false);
waitingBar->setRange(0, 0);
waitingBar->setFixedHeight(24);
- waitingBar->setFixedWidth(260);
+ waitingBar->setFixedWidth(200);
// Layout for messagebox
auto *messageLayout = new QHBoxLayout;
@@ -82,7 +82,6 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *ke
// 自动化调用界面布局
if(automatic) {
mainLayout->addLayout(messageLayout, 0, 0, 1, 3);
- mainLayout->addLayout(buttonsLayout, 1, 0, 1, 3);
} else {
mainLayout->addWidget(searchLabel, 1, 0);
mainLayout->addWidget(searchLineEdit, 1, 1);
@@ -95,10 +94,13 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *ke
}
this->setLayout(mainLayout);
- this->setWindowTitle(tr("Import Keys from Keyserver"));
+ if(automatic)
+ this->setWindowTitle(tr("Update Keys from Keyserver"));
+ else
+ this->setWindowTitle(tr("Import Keys from Keyserver"));
if(automatic) {
- this->setMinimumHeight(80);
+ this->setFixedSize(200, 42);
} else {
// Restore window size & location
if (this->settings.value("ImportKeyFromServer/setWindowSize").toBool()) {
@@ -206,12 +208,25 @@ void KeyServerImportDialog::slotSearchFinished() {
keysTable->setRowCount(0);
QString firstLine = QString(reply->readLine(1024));
- QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
- if (reply->error()) {
- setMessage(tr("<h4>Couldn't contact keyserver!</h4>"), true);
- qDebug() << reply->error();
+ auto error = reply->error();
+ if (error != QNetworkReply::NoError) {
+ qDebug() << "Error From Reply" << reply->errorString();
+ switch (error) {
+ case QNetworkReply::ContentNotFoundError :
+ setMessage(tr("Not Key Found"), true);
+ break;
+ case QNetworkReply::TimeoutError :
+ setMessage(tr("Timeout"), true);
+ break;
+ case QNetworkReply::HostNotFoundError :
+ setMessage(tr("Key Server Not Found"), true);
+ break;
+ default:
+ setMessage(tr("Connection Error"), true);
+ }
return;
}
+
if (firstLine.contains("Error")) {
QString text = QString(reply->readLine(1024));
if (text.contains("Too many responses")) {
@@ -322,6 +337,16 @@ void KeyServerImportDialog::slotImport(const QStringList& keyIds) {
slotImport(keyIds, QUrl(keyserver));
}
+void KeyServerImportDialog::slotImportKey(const QVector<GpgKey>& keys) {
+ QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
+ qDebug() << "Select Key Server" << keyserver;
+ auto keyIds = QStringList();
+ for(const auto &key : keys) {
+ keyIds.append(key.id);
+ }
+ slotImport(keyIds, QUrl(keyserver));
+}
+
void KeyServerImportDialog::slotImport(const QStringList& keyIds, const QUrl &keyServerUrl) {
for (const auto &keyId : keyIds) {
@@ -329,9 +354,9 @@ void KeyServerImportDialog::slotImport(const QStringList& keyIds, const QUrl &ke
keyServerUrl.scheme() + "://" + keyServerUrl.host() + "/pks/lookup?op=get&search=0x" + keyId +
"&options=mr");
qDebug() << "slotImport reqUrl" << reqUrl;
- qnam = new QNetworkAccessManager(this);
+ auto pManager = new QNetworkAccessManager(this);
- QNetworkReply *reply = qnam->get(QNetworkRequest(reqUrl));
+ QNetworkReply *reply = pManager->get(QNetworkRequest(reqUrl));
connect(reply, SIGNAL(finished()),
this, SLOT(slotImportFinished()));
@@ -369,6 +394,9 @@ void KeyServerImportDialog::slotImportFinished() {
default:
setMessage(tr("Connection Error"), true);
}
+ if(mAutomatic) {
+ setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint);
+ }
return;
}
@@ -393,7 +421,7 @@ void KeyServerImportDialog::slotImportFinished() {
void KeyServerImportDialog::importKeys(QByteArray inBuffer) {
GpgImportInformation result = mCtx->importKey(std::move(inBuffer));
if(mAutomatic) {
- new KeyImportDetailDialog(mCtx, result, false, nullptr);
+ new KeyImportDetailDialog(mCtx, result, false, this);
this->accept();
} else {
new KeyImportDetailDialog(mCtx, result, false, this);
@@ -411,3 +439,41 @@ void KeyServerImportDialog::setLoading(bool status) {
message->setVisible(true);
}
}
+
+KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, QWidget *parent)
+ : QDialog(parent), appPath(qApp->applicationDirPath()),
+ settings(appPath + "/conf/gpgfrontend.ini", QSettings::IniFormat),
+ mCtx(ctx), mAutomatic(true) {
+
+ setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
+
+ message = new QLabel;
+ message->setFixedHeight(24);
+ icon = new QLabel;
+ icon->setFixedHeight(24);
+
+ // Network Waiting
+ waitingBar = new QProgressBar();
+ waitingBar->setVisible(false);
+ waitingBar->setRange(0, 0);
+ waitingBar->setFixedHeight(24);
+ waitingBar->setFixedWidth(200);
+
+ // Layout for messagebox
+ auto *messageLayout = new QHBoxLayout;
+ messageLayout->addWidget(icon);
+ messageLayout->addWidget(message);
+ messageLayout->addWidget(waitingBar);
+ messageLayout->addStretch();
+
+ keyServerComboBox = createComboBox();
+
+ auto *mainLayout = new QGridLayout;
+
+ mainLayout->addLayout(messageLayout, 0, 0, 1, 3);
+
+ this->setLayout(mainLayout);
+ this->setWindowTitle(tr("Upload Keys from Keyserver"));
+ this->setFixedSize(200, 42);
+ this->setModal(true);
+}
diff --git a/src/ui/KeyUploadDialog.cpp b/src/ui/KeyUploadDialog.cpp
new file mode 100644
index 00000000..a81ed7a4
--- /dev/null
+++ b/src/ui/KeyUploadDialog.cpp
@@ -0,0 +1,125 @@
+/**
+ * This file is part of GPGFrontend.
+ *
+ * GPGFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#include "ui/KeyUploadDialog.h"
+
+#include <utility>
+
+KeyUploadDialog::KeyUploadDialog(GpgME::GpgContext *ctx, const QVector<GpgKey> &keys, QWidget *parent)
+: appPath(qApp->applicationDirPath()),
+settings(appPath + "/conf/gpgfrontend.ini", QSettings::IniFormat),
+QDialog(parent) {
+ ctx->exportKeys(keys, mKeyData);
+ uploadKeyToServer(mKeyData);
+}
+
+void KeyUploadDialog::uploadKeyToServer(QByteArray &keys) {
+
+ // set default keyserver
+ QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
+
+ QUrl reqUrl(keyserver + "/pks/add");
+ auto qnam = new QNetworkAccessManager(this);
+
+ // Building Post Data
+ QByteArray postData;
+
+ keys.replace("\n", "%0A")
+ .replace("\r", "%0D")
+ .replace("(", "%28")
+ .replace(")", "%29")
+ .replace("/", "%2F")
+ .replace(":", "%3A")
+ .replace("+", "%2B")
+ .replace('=', "%3D")
+ .replace(' ', '+');
+
+ QNetworkRequest request(reqUrl);
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
+
+ postData.append("keytext").append("=").append(keys);
+
+ // Send Post Data
+ QNetworkReply *reply = qnam->post(request, postData);
+ connect(reply, SIGNAL(finished()),
+ this, SLOT(slotUploadFinished()));
+
+
+ // A Waiting Dialog
+ auto *dialog = new QDialog(this, Qt::CustomizeWindowHint | Qt::WindowTitleHint);
+ dialog->setModal(true);
+ dialog->setWindowTitle(tr("Uploading Public Key"));
+ dialog->setFixedSize(200, 42);
+
+ auto *pb = new QProgressBar();
+ pb->setRange(0, 0);
+ pb->setFixedSize(200, 24);
+
+ auto *layout = new QVBoxLayout(dialog);
+ layout->addWidget(pb);
+ dialog->setLayout(layout);
+
+ dialog->show();
+
+ // Keep Waiting
+ while(reply->isRunning()) {
+ QApplication::processEvents();
+ }
+
+ // Done
+ dialog->hide();
+ dialog->close();
+}
+
+void KeyUploadDialog::slotUploadFinished() {
+ auto *reply = qobject_cast<QNetworkReply *>(sender());
+
+ QByteArray response = reply->readAll();
+ qDebug() << "Response: " << response.data();
+
+ auto error = reply->error();
+ if (error != QNetworkReply::NoError) {
+ qDebug() << "Error From Reply" << reply->errorString();
+ QString message;
+ switch (error) {
+ case QNetworkReply::ContentNotFoundError :
+ message = tr("Key Not Found");
+ break;
+ case QNetworkReply::TimeoutError :
+ message = tr("Timeout");
+ break;
+ case QNetworkReply::HostNotFoundError :
+ message = tr("Key Server Not Found");
+ break;
+ default:
+ message = tr("Connection Error");
+ }
+ QMessageBox::critical(this, "Upload Failed", message);
+ return;
+ } else {
+ QMessageBox::information(this, "Upload Success", "Upload Public Key Successfully");
+ qDebug() << "Success while contacting keyserver!";
+ }
+ reply->deleteLater();
+}
diff --git a/src/ui/keypair_details/KeyPairDetailTab.cpp b/src/ui/keypair_details/KeyPairDetailTab.cpp
index 97b9cf87..c72a7685 100644
--- a/src/ui/keypair_details/KeyPairDetailTab.cpp
+++ b/src/ui/keypair_details/KeyPairDetailTab.cpp
@@ -135,9 +135,19 @@ KeyPairDetailTab::KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, Q
vboxPK->addWidget(exportButton);
connect(exportButton, SIGNAL(clicked()), this, SLOT(slotExportPrivateKey()));
- auto *editExpiresButton = new QPushButton(tr("Modify Expiration Datetime"));
- vboxPK->addWidget(editExpiresButton);
- connect(editExpiresButton, SIGNAL(clicked()), this, SLOT(slotModifyEditDatetime()));
+ if(mKey.has_master_key) {
+ auto *editExpiresButton = new QPushButton(tr("Modify Expiration Datetime"));
+ vboxPK->addWidget(editExpiresButton);
+ connect(editExpiresButton, SIGNAL(clicked()), this, SLOT(slotModifyEditDatetime()));
+
+ auto *keyServerOperaButton = new QPushButton(tr("Key Server Operation"));
+ vboxPK->addWidget(keyServerOperaButton);
+ connect(keyServerOperaButton, SIGNAL(clicked()), this, SLOT(slotModifyEditDatetime()));
+
+ // Set Menu
+ createKeyServerOperaMenu();
+ keyServerOperaButton->setMenu(keyServerOperaMenu);
+ }
privKeyBox->setLayout(vboxPK);
mvbox->addWidget(privKeyBox);
@@ -147,19 +157,18 @@ KeyPairDetailTab::KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, Q
if ((mKey.expired) || (mKey.revoked)) {
auto *expBox = new QHBoxLayout();
- QIcon icon = QIcon::fromTheme("dialog-warning");
- QPixmap pixmap = icon.pixmap(QSize(32, 32), QIcon::Normal, QIcon::On);
+ QPixmap pixmap(":warning.png");
auto *expLabel = new QLabel();
auto *iconLabel = new QLabel();
if (mKey.expired) {
- expLabel->setText(tr("Warning: The master key of the key pair has expired."));
+ expLabel->setText(tr("Warning: The Master Key has expired."));
}
if (mKey.revoked) {
- expLabel->setText(tr("Warning: The master key of the key pair has been revoked"));
+ expLabel->setText(tr("Warning: The Master Key has been revoked"));
}
- iconLabel->setPixmap(pixmap);
+ iconLabel->setPixmap(pixmap.scaled(24,24,Qt::KeepAspectRatio));
QFont font = expLabel->font();
font.setBold(true);
expLabel->setFont(font);
@@ -180,10 +189,9 @@ KeyPairDetailTab::KeyPairDetailTab(GpgME::GpgContext *ctx, const GpgKey &mKey, Q
void KeyPairDetailTab::slotExportPrivateKey() {
// Show a information box with explanation about private key
int ret = QMessageBox::information(this, tr("Exporting private Key"),
- tr("You are about to export your private key.\n"
- "This is NOT your public key, so don't give it away.\n"
- "Make sure you keep it save."
- "Do you really want to export your private key?"),
+ tr("<h3>You are about to export your <font color=\"red\">PRIVATE KEY</font>!</h3>\n"
+ "This is NOT your Public Key, so DON'T give it away.<br />"
+ "Do you REALLY want to export your PRIVATE KEY?"),
QMessageBox::Cancel | QMessageBox::Ok);
// export key, if ok was clicked
@@ -192,12 +200,12 @@ void KeyPairDetailTab::slotExportPrivateKey() {
mCtx->exportSecretKey(*keyid, keyArray);
auto &key = mCtx->getKeyById(*keyid);
QString fileString = key.name + " " +key.email + "(" +
- key.id + ")_pub_sec.asc";
+ key.id + ")_secret.asc";
QString fileName = QFileDialog::getSaveFileName(this, tr("Export Key To File"), fileString,
tr("Key Files") + " (*.asc *.txt);;All Files (*)");
QFile file(fileName);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
- QMessageBox::critical(nullptr, tr("Export error"), tr("Couldn't open %1 for writing").arg(fileName));
+ QMessageBox::critical(nullptr, tr("Export Error"), tr("Couldn't open %1 for writing").arg(fileName));
return;
}
QTextStream stream(&file);
@@ -284,3 +292,30 @@ void KeyPairDetailTab::slotRefreshKeyInfo() {
}
+void KeyPairDetailTab::createKeyServerOperaMenu() {
+ keyServerOperaMenu = new QMenu(this);
+
+ auto *uploadKeyPair = new QAction(tr("Upload Key Pair"), this);
+ connect(uploadKeyPair, SIGNAL(triggered()), this, SLOT(slotUploadKeyToServer()));
+ auto *updateKeyPair = new QAction(tr("Update Key Pair"), this);
+ connect(updateKeyPair, SIGNAL(triggered()), this, SLOT(slotUpdateKeyToServer()));
+
+ keyServerOperaMenu->addAction(uploadKeyPair);
+ // TODO Solve Refresh Problem
+// keyServerOperaMenu->addAction(updateKeyPair);
+}
+
+void KeyPairDetailTab::slotUploadKeyToServer() {
+ QVector<GpgKey> keys;
+ keys.append(mKey);
+ auto *dialog = new KeyUploadDialog(mCtx, keys);
+}
+
+void KeyPairDetailTab::slotUpdateKeyToServer() {
+ QVector<GpgKey> keys;
+ keys.append(mKey);
+ auto *dialog = new KeyServerImportDialog(mCtx, this);
+ dialog->show();
+ dialog->slotImportKey(keys);
+}
+
diff --git a/src/ui/keypair_details/KeySetExpireDateDialog.cpp b/src/ui/keypair_details/KeySetExpireDateDialog.cpp
index 67238685..f76fa3ab 100644
--- a/src/ui/keypair_details/KeySetExpireDateDialog.cpp
+++ b/src/ui/keypair_details/KeySetExpireDateDialog.cpp
@@ -37,9 +37,9 @@ QDialog(parent), mKey(key), mSubkey(subkey), mCtx(ctx) {
auto *gridLayout = new QGridLayout();
gridLayout->addWidget(dateTimeEdit, 0, 0, 1, 2);
- gridLayout->addWidget(nonExpiredCheck, 1, 0, 1, 1, Qt::AlignRight);
- gridLayout->addWidget(new QLabel(tr("Never Expire")));
- gridLayout->addWidget(confirmButton, 2, 0);
+ gridLayout->addWidget(nonExpiredCheck, 0, 2, 1, 1, Qt::AlignRight);
+ gridLayout->addWidget(new QLabel(tr("Never Expire")), 0, 3);
+ gridLayout->addWidget(confirmButton, 1, 3);
connect(nonExpiredCheck, SIGNAL(stateChanged(int)), this, SLOT(slotNonExpiredChecked(int)));
connect(confirmButton, SIGNAL(clicked(bool)), this, SLOT(slotConfirm()));
diff --git a/src/ui/widgets/KeyList.cpp b/src/ui/widgets/KeyList.cpp
index 4f0fe1c3..6982c3a2 100644
--- a/src/ui/widgets/KeyList.cpp
+++ b/src/ui/widgets/KeyList.cpp
@@ -305,14 +305,12 @@ void KeyList::addMenuAction(QAction *act)
void KeyList::dropEvent(QDropEvent* event)
{
-// importKeyDialog();
- QSettings settings;
auto *dialog = new QDialog();
dialog->setWindowTitle(tr("Import Keys"));
QLabel *label;
- label = new QLabel(tr("You've dropped something on the keylist.\n gpg4usb will now try to import key(s).")+"\n");
+ label = new QLabel(tr("You've dropped something on the table.\n GpgFrontend will now try to import key(s).")+"\n");
// "always import keys"-CheckBox
auto *checkBox = new QCheckBox(tr("Always import without bothering."));
@@ -346,7 +344,7 @@ void KeyList::dropEvent(QDropEvent* event)
if (event->mimeData()->hasUrls())
{
- foreach (QUrl tmp, event->mimeData()->urls())
+ for (const QUrl& tmp : event->mimeData()->urls())
{
QFile file;
file.setFileName(tmp.toLocalFile());
@@ -384,94 +382,6 @@ void KeyList::importKeys(QByteArray inBuffer)
new KeyImportDetailDialog(mCtx, result, false, this);
}
-void KeyList::uploadKeyToServer(QByteArray *keys) {
-
- // set default keyserver
- QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
-
- QUrl reqUrl(keyserver + "/pks/add");
- qnam = new QNetworkAccessManager(this);
-
- // Building Post Data
- QByteArray postData;
-
- keys->replace("\n", "%0A")
- .replace("\r", "%0D")
- .replace("(", "%28")
- .replace(")", "%29")
- .replace("/", "%2F")
- .replace(":", "%3A")
- .replace("+", "%2B")
- .replace('=', "%3D")
- .replace(' ', '+');
-
- QNetworkRequest request(reqUrl);
- request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
-
- postData.append("keytext").append("=").append(*keys);
-
- // Send Post Data
- QNetworkReply *reply = qnam->post(request, postData);
- connect(reply, SIGNAL(finished()),
- this, SLOT(uploadFinished()));
-
-
- // A Waiting Dialog
- auto *dialog = new QDialog(this, Qt::CustomizeWindowHint | Qt::WindowTitleHint);
- dialog->setModal(true);
- dialog->setWindowTitle(tr("Uploading Public Key..."));
-
- auto *pb = new QProgressBar();
- pb->setRange(0, 0);
- pb->setFixedSize(260, 24);
-
- auto *layout = new QVBoxLayout(dialog);
- layout->addWidget(pb);
- dialog->setLayout(layout);
-
- dialog->show();
-
- // Keep Waiting
- while(reply->isRunning()) {
- QApplication::processEvents();
- }
-
- // Done
- dialog->hide();
- dialog->close();
-}
-void KeyList::uploadFinished() {
- auto *reply = qobject_cast<QNetworkReply *>(sender());
-
- QByteArray response = reply->readAll();
- qDebug() << "Response: " << response.data();
-
- auto error = reply->error();
- if (error != QNetworkReply::NoError) {
- qDebug() << "Error From Reply" << reply->errorString();
- QString message;
- switch (error) {
- case QNetworkReply::ContentNotFoundError :
- message = tr("Key Not Found");
- break;
- case QNetworkReply::TimeoutError :
- message = tr("Timeout");
- break;
- case QNetworkReply::HostNotFoundError :
- message = tr("Key Server Not Found");
- break;
- default:
- message = tr("Connection Error");
- }
- QMessageBox::critical(nullptr, "Upload Failed", message);
- return;
- } else {
- QMessageBox::information(nullptr, "Upload Success", "Upload Public Key Successfully");
- qDebug() << "Success while contacting keyserver!";
- }
- reply->deleteLater();
-}
-
void KeyList::getCheckedKeys(QVector<GpgKey> &keys) {
keys.clear();
for (int i = 0; i < mKeyList->rowCount(); i++) {
@@ -512,3 +422,12 @@ void KeyList::getPrivateCheckedKeys(QVector<GpgKey> &keys) {
}
}
}
+
+GpgKey KeyList::getSelectedKey() {
+ for (int i = 0; i < mKeyList->rowCount(); i++) {
+ if (mKeyList->item(i, 0)->isSelected() == 1) {
+ return buffered_keys[i];
+ }
+ }
+ return GpgKey();
+}