aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-06-21 20:31:25 +0000
committerSaturneric <[email protected]>2021-06-21 20:31:25 +0000
commitb90ea800086973ae73bb4a4fd3427a90361ce383 (patch)
treeb5e6f058d7ef310efc07a7ee584a22675fa486fc
parentMerge branch 'develop' (diff)
downloadGpgFrontend-b90ea800086973ae73bb4a4fd3427a90361ce383.tar.gz
GpgFrontend-b90ea800086973ae73bb4a4fd3427a90361ce383.zip
Repair and improve the functions and UI related to the upload and update of the key server.
Improve part of the UI description. Repair the problems in the project configuration file.
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt12
-rw-r--r--gpgfrontend.qrc1
-rw-r--r--include/ui/KeyImportDetailDialog.h2
-rw-r--r--include/ui/KeyServerImportDialog.h13
-rw-r--r--include/ui/widgets/KeyList.h3
-rw-r--r--resource/conf/gpgfrontend.ini2
-rw-r--r--resource/ts/gpg_frontend_fr.ts380
-rw-r--r--resource/ts/gpg_frontend_ru.ts380
-rw-r--r--resource/ts/gpgfrontend_en_us.ts380
-rw-r--r--resource/ts/gpgfrontend_zh_chs.ts380
-rw-r--r--resource/ts/gpgfrontend_zh_cht.ts380
-rw-r--r--src/MainWindow.cpp15
-rw-r--r--src/ui/KeyImportDetailDialog.cpp16
-rwxr-xr-xsrc/ui/KeyMgmt.cpp12
-rw-r--r--src/ui/KeyServerImportDialog.cpp209
-rw-r--r--src/ui/widgets/InfoBoardWidget.cpp2
-rw-r--r--src/ui/widgets/KeyList.cpp94
-rw-r--r--src/ui/widgets/VerifyKeyDetailBox.cpp2
18 files changed, 1464 insertions, 819 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3b72dd40..c986ac3d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16)
-project(GpgFrontend VERSION 1.0.2 LANGUAGES CXX)
+project(GpgFrontend VERSION 1.0.3 LANGUAGES CXX)
message(STATUS "GPGFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}")
@@ -19,12 +19,18 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Check Env Variables Before Configuring
-if(NOT DEFINED ENV{CMAKE_BUILD_TYPE})
+if(CMAKE_BUILD_TYPE)
+ message(STATUS "PreCheck CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}")
+else()
set(CMAKE_BUILD_TYPE "Release")
+ message(STATUS "Set CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}")
endif()
-if(NOT DEFINED ENV{EXECUTABLE_OUTPUT_PATH})
+if(EXECUTABLE_OUTPUT_PATH)
+ message(STATUS "PreCheck EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}")
+else()
set(EXECUTABLE_OUTPUT_PATH "./")
+ message(STATUS "Set EXECUTABLE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}")
endif()
# Output Env Variables
diff --git a/gpgfrontend.qrc b/gpgfrontend.qrc
index 55f37390..75f08a84 100644
--- a/gpgfrontend.qrc
+++ b/gpgfrontend.qrc
@@ -10,6 +10,7 @@
<file alias="keys2.jpg">resource/icons/keys12.jpg</file>
<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="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/ui/KeyImportDetailDialog.h b/include/ui/KeyImportDetailDialog.h
index 49b52028..0c6f5813 100644
--- a/include/ui/KeyImportDetailDialog.h
+++ b/include/ui/KeyImportDetailDialog.h
@@ -33,7 +33,7 @@ class KeyImportDetailDialog : public QDialog
Q_OBJECT
public:
- KeyImportDetailDialog(GpgME::GpgContext* ctx, GpgImportInformation result, QWidget *parent = 0);
+ KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportInformation result, bool automatic, QWidget *parent = 0);
private:
void createGeneralInfoBox();
diff --git a/include/ui/KeyServerImportDialog.h b/include/ui/KeyServerImportDialog.h
index 74ae864e..0a77aece 100644
--- a/include/ui/KeyServerImportDialog.h
+++ b/include/ui/KeyServerImportDialog.h
@@ -34,11 +34,12 @@ class KeyServerImportDialog : public QDialog {
Q_OBJECT
public:
- KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, QWidget *parent = nullptr);
+ KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, bool automatic,
+ QWidget *parent);
- void slotImport(QStringList keyIds);
+ void slotImport(const QStringList& keyIds);
- void slotImport(QStringList keyIds, const QUrl& keyserverUrl);
+ void slotImport(const QStringList& keyIds, const QUrl& keyserverUrl);
private slots:
@@ -57,16 +58,22 @@ private:
void importKeys(QByteArray inBuffer);
+ void setLoading(bool status);
+
QPushButton *createButton(const QString &text, const char *member);
QComboBox *createComboBox();
+ bool mAutomatic;
+
QString appPath;
QSettings settings;
+
GpgME::GpgContext *mCtx;
KeyList *mKeyList;
QLineEdit *searchLineEdit;
QComboBox *keyServerComboBox;
+ QProgressBar *waitingBar;
QLabel *searchLabel;
QLabel *keyServerLabel;
QLabel *message;
diff --git a/include/ui/widgets/KeyList.h b/include/ui/widgets/KeyList.h
index 295ba224..fe554495 100644
--- a/include/ui/widgets/KeyList.h
+++ b/include/ui/widgets/KeyList.h
@@ -102,6 +102,9 @@ private:
void importKeys(QByteArray inBuffer);
+ QString appPath;
+ QSettings settings;
+
GpgME::GpgContext *mCtx;
QTableWidget *mKeyList;
QMenu *popupMenu;
diff --git a/resource/conf/gpgfrontend.ini b/resource/conf/gpgfrontend.ini
index 111729db..41285185 100644
--- a/resource/conf/gpgfrontend.ini
+++ b/resource/conf/gpgfrontend.ini
@@ -1,6 +1,6 @@
[keyserver]
keyServerList=http://keys.gnupg.net, https://keyserver.ubuntu.com, http://pool.sks-keyservers.net
-defaultKeyServer=http://keys.gnupg.net
+defaultKeyServer=https://keyserver.ubuntu.com
[int]
lang=zh
diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts
index 94d6443e..ac8948ca 100644
--- a/resource/ts/gpg_frontend_fr.ts
+++ b/resource/ts/gpg_frontend_fr.ts
@@ -727,108 +727,119 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="33"/>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="49"/>
- <source>Key import details</source>
+ <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="33"/>
- <source>No keys found to import</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
+ <source>Key Update Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <source>No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="57"/>
- <source>Genral key import info</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="56"/>
+ <source>Key Import Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="60"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
+ <source>General key info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="68"/>
<source>Considered:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="72"/>
<source>Public unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="69"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="77"/>
<source>Imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="82"/>
<source>Not imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="79"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="87"/>
<source>Private read:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="84"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="92"/>
<source>Private imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="97"/>
<source>Private unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="128"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="136"/>
<source>private</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="131"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="139"/>
<source>public</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="142"/>
<source>unchanged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="137"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="145"/>
<source>new key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="140"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
<source>new subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="152"/>
<source>new signature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="156"/>
<source>new uid</source>
<translation type="unfinished"></translation>
</message>
@@ -836,276 +847,334 @@
<context>
<name>KeyList</name>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Email Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Usage</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Validity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Finger Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="312"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="314"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="418"/>
+ <source>Uploading Public Key...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="448"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="451"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="454"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="457"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyMgmt</name>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="68"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
<source>KeyPairs Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="75"/>
- <source>&amp;Close Key Management</source>
+ <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="76"/>
- <source>Ctrl+Q</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="78"/>
- <source>Close Key Management</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="89"/>
+ <source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="83"/>
- <source>Generate KeyPair</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="90"/>
+ <source>Open Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="86"/>
- <source>Generate Subkey For Selected</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="99"/>
+ <source>New Keypair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="100"/>
+ <source>Ctrl+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
+ <source>New Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <source>Ctrl+Shift+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="91"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="132"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="98"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="118"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="101"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
<source>&amp;Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="103"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="123"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
<source>Export To &amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="128"/>
<source>Export Selected Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="131"/>
<source>Export To &amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="133"/>
<source>Export Selected Key(s) To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="117"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="137"/>
<source>Delete the Selected keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="120"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="141"/>
<source>Delete the Checked keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="125"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="135"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="156"/>
<source>&amp;Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="157"/>
<source>&amp;Generate Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
- <source>&amp;Import Key From...</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
+ <source>&amp;Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
- <source>Key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
+ <source>Generate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="160"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
- <source>Generate key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="182"/>
+ <source>Generate A New Keypair or Subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="170"/>
- <source>Import key</source>
+ <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="171"/>
- <source>Import key from</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <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="191"/>
+ <source>Import key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Keyring files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="197"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="218"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="247"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="268"/>
<source>Deleting Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="248"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="269"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="249"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="270"/>
<source>The action can not be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="288"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="309"/>
<source>key(s) exported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="323"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="330"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="338"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="345"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="324"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="339"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="331"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="346"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished"></translation>
</message>
@@ -1579,103 +1648,128 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<context>
<name>KeyServerImportDialog</name>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="33"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="34"/>
- <source>&amp;Import</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="37"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="36"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="38"/>
- <source>Search string:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/>
+ <source>Search String:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>Keyserver:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="44"/>
+ <source>Key Server:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="73"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="93"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="150"/>
- <source>Couldn&apos;t contact keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="175"/>
+ <source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="157"/>
- <source>Too many responses from keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="206"/>
+ <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="163"/>
- <source>No keys found, input may be kexId, retrying search with 0x.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/>
+ <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="167"/>
- <source>No keys found containing the search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="220"/>
+ <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="170"/>
- <source>Insufficiently specific search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <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="196"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="229"/>
+ <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="257"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="199"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="260"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="239"/>
- <source>%1 keys found. Doubleclick a key to import it.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="300"/>
+ <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="356"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="359"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="362"/>
+ <source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="279"/>
- <source>Error while contacting keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="365"/>
+ <source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="283"/>
- <source>Key imported</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="380"/>
+ <source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="382"/>
+ <source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -2092,32 +2186,32 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="379"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
+ <source>Show Key Details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="383"/>
- <source>Refresh key from keyserver</source>
+ <source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="384"/>
- <source>Refresh key from default keyserver</source>
+ <source>Refresh key from default key server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="387"/>
- <source>Upload Key(s) To Server</source>
+ <source>Upload Public Key(s) To Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="388"/>
- <source>Upload The Selected Keys To Server</source>
+ <source>Upload The Selected Public Keys To Server</source>
+ <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>
@@ -2258,14 +2352,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="1076"/>
+ <location filename="../../src/MainWindow.cpp" line="1077"/>
<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="1083"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2277,7 +2371,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="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1086"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2287,7 +2381,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="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<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 4c8c292f..157c1348 100644
--- a/resource/ts/gpg_frontend_ru.ts
+++ b/resource/ts/gpg_frontend_ru.ts
@@ -727,108 +727,119 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="33"/>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="49"/>
- <source>Key import details</source>
+ <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="33"/>
- <source>No keys found to import</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
+ <source>Key Update Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <source>No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="57"/>
- <source>Genral key import info</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="56"/>
+ <source>Key Import Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="60"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
+ <source>General key info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="68"/>
<source>Considered:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="72"/>
<source>Public unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="69"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="77"/>
<source>Imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="82"/>
<source>Not imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="79"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="87"/>
<source>Private read:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="84"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="92"/>
<source>Private imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="97"/>
<source>Private unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="128"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="136"/>
<source>private</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="131"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="139"/>
<source>public</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="142"/>
<source>unchanged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="137"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="145"/>
<source>new key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="140"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
<source>new subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="152"/>
<source>new signature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="156"/>
<source>new uid</source>
<translation type="unfinished"></translation>
</message>
@@ -836,276 +847,334 @@
<context>
<name>KeyList</name>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Email Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Usage</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Validity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Finger Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="312"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="314"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="418"/>
+ <source>Uploading Public Key...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="448"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="451"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="454"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="457"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyMgmt</name>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="68"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
<source>KeyPairs Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="75"/>
- <source>&amp;Close Key Management</source>
+ <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="76"/>
- <source>Ctrl+Q</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="78"/>
- <source>Close Key Management</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="89"/>
+ <source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="83"/>
- <source>Generate KeyPair</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="90"/>
+ <source>Open Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="86"/>
- <source>Generate Subkey For Selected</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="99"/>
+ <source>New Keypair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="100"/>
+ <source>Ctrl+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
+ <source>New Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <source>Ctrl+Shift+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="91"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="132"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="98"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="118"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="101"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
<source>&amp;Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="103"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="123"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
<source>Export To &amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="128"/>
<source>Export Selected Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="131"/>
<source>Export To &amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="133"/>
<source>Export Selected Key(s) To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="117"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="137"/>
<source>Delete the Selected keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="120"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="141"/>
<source>Delete the Checked keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="125"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="135"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="156"/>
<source>&amp;Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="157"/>
<source>&amp;Generate Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
- <source>&amp;Import Key From...</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
+ <source>&amp;Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
- <source>Key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
+ <source>Generate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="160"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
- <source>Generate key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="182"/>
+ <source>Generate A New Keypair or Subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="170"/>
- <source>Import key</source>
+ <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="171"/>
- <source>Import key from</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <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="191"/>
+ <source>Import key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Keyring files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="197"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="218"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="247"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="268"/>
<source>Deleting Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="248"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="269"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="249"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="270"/>
<source>The action can not be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="288"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="309"/>
<source>key(s) exported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="323"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="330"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="338"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="345"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="324"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="339"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="331"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="346"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished"></translation>
</message>
@@ -1579,103 +1648,128 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<context>
<name>KeyServerImportDialog</name>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="33"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="34"/>
- <source>&amp;Import</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="37"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="36"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="38"/>
- <source>Search string:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/>
+ <source>Search String:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>Keyserver:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="44"/>
+ <source>Key Server:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="73"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="93"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="150"/>
- <source>Couldn&apos;t contact keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="175"/>
+ <source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="157"/>
- <source>Too many responses from keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="206"/>
+ <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="163"/>
- <source>No keys found, input may be kexId, retrying search with 0x.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/>
+ <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="167"/>
- <source>No keys found containing the search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="220"/>
+ <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="170"/>
- <source>Insufficiently specific search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <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="196"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="229"/>
+ <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="257"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="199"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="260"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="239"/>
- <source>%1 keys found. Doubleclick a key to import it.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="300"/>
+ <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="356"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="359"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="362"/>
+ <source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="279"/>
- <source>Error while contacting keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="365"/>
+ <source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="283"/>
- <source>Key imported</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="380"/>
+ <source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="382"/>
+ <source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -2092,32 +2186,32 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="379"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
+ <source>Show Key Details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="383"/>
- <source>Refresh key from keyserver</source>
+ <source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="384"/>
- <source>Refresh key from default keyserver</source>
+ <source>Refresh key from default key server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="387"/>
- <source>Upload Key(s) To Server</source>
+ <source>Upload Public Key(s) To Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="388"/>
- <source>Upload The Selected Keys To Server</source>
+ <source>Upload The Selected Public Keys To Server</source>
+ <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>
@@ -2258,14 +2352,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="1076"/>
+ <location filename="../../src/MainWindow.cpp" line="1077"/>
<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="1083"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2277,7 +2371,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="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1086"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2287,7 +2381,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="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<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 f368fc74..9c9c8a95 100644
--- a/resource/ts/gpgfrontend_en_us.ts
+++ b/resource/ts/gpgfrontend_en_us.ts
@@ -727,108 +727,119 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="33"/>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="49"/>
- <source>Key import details</source>
+ <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="33"/>
- <source>No keys found to import</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
+ <source>Key Update Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <source>No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="57"/>
- <source>Genral key import info</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="56"/>
+ <source>Key Import Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="60"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
+ <source>General key info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="68"/>
<source>Considered:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="72"/>
<source>Public unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="69"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="77"/>
<source>Imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="82"/>
<source>Not imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="79"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="87"/>
<source>Private read:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="84"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="92"/>
<source>Private imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="97"/>
<source>Private unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="128"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="136"/>
<source>private</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="131"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="139"/>
<source>public</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="142"/>
<source>unchanged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="137"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="145"/>
<source>new key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="140"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
<source>new subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="152"/>
<source>new signature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="156"/>
<source>new uid</source>
<translation type="unfinished"></translation>
</message>
@@ -836,276 +847,334 @@
<context>
<name>KeyList</name>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Email Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Usage</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Validity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Finger Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="312"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="314"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="418"/>
+ <source>Uploading Public Key...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="448"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="451"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="454"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="457"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyMgmt</name>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="68"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
<source>KeyPairs Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="75"/>
- <source>&amp;Close Key Management</source>
+ <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="76"/>
- <source>Ctrl+Q</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="78"/>
- <source>Close Key Management</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="89"/>
+ <source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="83"/>
- <source>Generate KeyPair</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="90"/>
+ <source>Open Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="86"/>
- <source>Generate Subkey For Selected</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="99"/>
+ <source>New Keypair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="100"/>
+ <source>Ctrl+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
+ <source>New Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <source>Ctrl+Shift+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="91"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="132"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="98"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="118"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="101"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
<source>&amp;Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="103"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="123"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
<source>Export To &amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="128"/>
<source>Export Selected Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="131"/>
<source>Export To &amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="133"/>
<source>Export Selected Key(s) To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="117"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="137"/>
<source>Delete the Selected keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="120"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="141"/>
<source>Delete the Checked keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="125"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="135"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="156"/>
<source>&amp;Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="157"/>
<source>&amp;Generate Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
- <source>&amp;Import Key From...</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
+ <source>&amp;Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
- <source>Key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
+ <source>Generate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="160"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
- <source>Generate key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="182"/>
+ <source>Generate A New Keypair or Subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="170"/>
- <source>Import key</source>
+ <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="171"/>
- <source>Import key from</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <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="191"/>
+ <source>Import key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Keyring files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="197"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="218"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="247"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="268"/>
<source>Deleting Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="248"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="269"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="249"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="270"/>
<source>The action can not be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="288"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="309"/>
<source>key(s) exported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="323"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="330"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="338"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="345"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="324"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="339"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="331"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="346"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished"></translation>
</message>
@@ -1579,103 +1648,128 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<context>
<name>KeyServerImportDialog</name>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="33"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="34"/>
- <source>&amp;Import</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="37"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="36"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="38"/>
- <source>Search string:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/>
+ <source>Search String:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>Keyserver:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="44"/>
+ <source>Key Server:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="73"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="93"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="150"/>
- <source>Couldn&apos;t contact keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="175"/>
+ <source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="157"/>
- <source>Too many responses from keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="206"/>
+ <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="163"/>
- <source>No keys found, input may be kexId, retrying search with 0x.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/>
+ <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="167"/>
- <source>No keys found containing the search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="220"/>
+ <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="170"/>
- <source>Insufficiently specific search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <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="196"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="229"/>
+ <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="257"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="199"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="260"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="239"/>
- <source>%1 keys found. Doubleclick a key to import it.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="300"/>
+ <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="356"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="359"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="362"/>
+ <source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="279"/>
- <source>Error while contacting keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="365"/>
+ <source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="283"/>
- <source>Key imported</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="380"/>
+ <source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="382"/>
+ <source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -2092,32 +2186,32 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="379"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
+ <source>Show Key Details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="383"/>
- <source>Refresh key from keyserver</source>
+ <source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="384"/>
- <source>Refresh key from default keyserver</source>
+ <source>Refresh key from default key server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="387"/>
- <source>Upload Key(s) To Server</source>
+ <source>Upload Public Key(s) To Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="388"/>
- <source>Upload The Selected Keys To Server</source>
+ <source>Upload The Selected Public Keys To Server</source>
+ <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>
@@ -2258,14 +2352,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="1076"/>
+ <location filename="../../src/MainWindow.cpp" line="1077"/>
<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="1083"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2277,7 +2371,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="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1086"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2287,7 +2381,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="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<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 8768d0b2..29007eab 100644
--- a/resource/ts/gpgfrontend_zh_chs.ts
+++ b/resource/ts/gpgfrontend_zh_chs.ts
@@ -727,108 +727,119 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="33"/>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="49"/>
- <source>Key import details</source>
+ <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="33"/>
- <source>No keys found to import</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
+ <source>Key Update Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <source>No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="57"/>
- <source>Genral key import info</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="56"/>
+ <source>Key Import Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="60"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
+ <source>General key info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="68"/>
<source>Considered:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="72"/>
<source>Public unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="69"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="77"/>
<source>Imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="82"/>
<source>Not imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="79"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="87"/>
<source>Private read:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="84"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="92"/>
<source>Private imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="97"/>
<source>Private unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="128"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="136"/>
<source>private</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="131"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="139"/>
<source>public</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="142"/>
<source>unchanged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="137"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="145"/>
<source>new key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="140"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
<source>new subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="152"/>
<source>new signature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="156"/>
<source>new uid</source>
<translation type="unfinished"></translation>
</message>
@@ -836,276 +847,334 @@
<context>
<name>KeyList</name>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Email Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Usage</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Validity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Finger Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="312"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="314"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="418"/>
+ <source>Uploading Public Key...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="448"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="451"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="454"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="457"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyMgmt</name>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="68"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
<source>KeyPairs Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="75"/>
- <source>&amp;Close Key Management</source>
+ <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="76"/>
- <source>Ctrl+Q</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="78"/>
- <source>Close Key Management</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="89"/>
+ <source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="83"/>
- <source>Generate KeyPair</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="90"/>
+ <source>Open Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="86"/>
- <source>Generate Subkey For Selected</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="99"/>
+ <source>New Keypair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="100"/>
+ <source>Ctrl+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
+ <source>New Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <source>Ctrl+Shift+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="91"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="132"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="98"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="118"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="101"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
<source>&amp;Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="103"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="123"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
<source>Export To &amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="128"/>
<source>Export Selected Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="131"/>
<source>Export To &amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="133"/>
<source>Export Selected Key(s) To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="117"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="137"/>
<source>Delete the Selected keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="120"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="141"/>
<source>Delete the Checked keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="125"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="135"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="156"/>
<source>&amp;Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="157"/>
<source>&amp;Generate Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
- <source>&amp;Import Key From...</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
+ <source>&amp;Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
- <source>Key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
+ <source>Generate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="160"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
- <source>Generate key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="182"/>
+ <source>Generate A New Keypair or Subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="170"/>
- <source>Import key</source>
+ <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="171"/>
- <source>Import key from</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <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="191"/>
+ <source>Import key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Keyring files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="197"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="218"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="247"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="268"/>
<source>Deleting Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="248"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="269"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="249"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="270"/>
<source>The action can not be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="288"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="309"/>
<source>key(s) exported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="323"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="330"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="338"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="345"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="324"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="339"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="331"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="346"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished"></translation>
</message>
@@ -1579,103 +1648,128 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<context>
<name>KeyServerImportDialog</name>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="33"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="34"/>
- <source>&amp;Import</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="37"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="36"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="38"/>
- <source>Search string:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/>
+ <source>Search String:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>Keyserver:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="44"/>
+ <source>Key Server:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="73"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="93"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="150"/>
- <source>Couldn&apos;t contact keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="175"/>
+ <source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="157"/>
- <source>Too many responses from keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="206"/>
+ <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="163"/>
- <source>No keys found, input may be kexId, retrying search with 0x.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/>
+ <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="167"/>
- <source>No keys found containing the search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="220"/>
+ <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="170"/>
- <source>Insufficiently specific search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <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="196"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="229"/>
+ <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="257"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="199"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="260"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="239"/>
- <source>%1 keys found. Doubleclick a key to import it.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="300"/>
+ <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="356"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="359"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="362"/>
+ <source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="279"/>
- <source>Error while contacting keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="365"/>
+ <source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="283"/>
- <source>Key imported</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="380"/>
+ <source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="382"/>
+ <source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -2092,32 +2186,32 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="379"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
+ <source>Show Key Details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="383"/>
- <source>Refresh key from keyserver</source>
+ <source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="384"/>
- <source>Refresh key from default keyserver</source>
+ <source>Refresh key from default key server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="387"/>
- <source>Upload Key(s) To Server</source>
+ <source>Upload Public Key(s) To Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="388"/>
- <source>Upload The Selected Keys To Server</source>
+ <source>Upload The Selected Public Keys To Server</source>
+ <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>
@@ -2258,14 +2352,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="1076"/>
+ <location filename="../../src/MainWindow.cpp" line="1077"/>
<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="1083"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2277,7 +2371,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="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1086"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2287,7 +2381,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="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<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 8768d0b2..29007eab 100644
--- a/resource/ts/gpgfrontend_zh_cht.ts
+++ b/resource/ts/gpgfrontend_zh_cht.ts
@@ -727,108 +727,119 @@
<context>
<name>KeyImportDetailDialog</name>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="33"/>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="49"/>
- <source>Key import details</source>
+ <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="33"/>
- <source>No keys found to import</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="54"/>
+ <source>Key Update Details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="35"/>
+ <source>No keys found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="57"/>
- <source>Genral key import info</source>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="37"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="56"/>
+ <source>Key Import Details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="60"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="65"/>
+ <source>General key info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="68"/>
<source>Considered:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="64"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="72"/>
<source>Public unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="69"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="77"/>
<source>Imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="74"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="82"/>
<source>Not imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="79"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="87"/>
<source>Private read:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="84"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="92"/>
<source>Private imported:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="89"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="97"/>
<source>Private unchanged:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Email</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Status</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="104"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="112"/>
<source>Fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="128"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="136"/>
<source>private</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="131"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="139"/>
<source>public</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="134"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="142"/>
<source>unchanged</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="137"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="145"/>
<source>new key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="140"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
<source>new subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="144"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="152"/>
<source>new signature</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/KeyImportDetailDialog.cpp" line="156"/>
<source>new uid</source>
<translation type="unfinished"></translation>
</message>
@@ -836,276 +847,334 @@
<context>
<name>KeyList</name>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="76"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
<source>Email Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Usage</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Validity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="77"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="78"/>
<source>Finger Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="312"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="313"/>
<source>Import Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="314"/>
+ <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>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="317"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="318"/>
<source>Always import without bothering.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/widgets/KeyList.cpp" line="353"/>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="354"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="418"/>
+ <source>Uploading Public Key...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="448"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="451"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="454"/>
+ <source>Key Server Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/widgets/KeyList.cpp" line="457"/>
+ <source>Connection Error</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>KeyMgmt</name>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="68"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
<source>KeyPairs Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="75"/>
- <source>&amp;Close Key Management</source>
+ <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="76"/>
- <source>Ctrl+Q</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="78"/>
- <source>Close Key Management</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="89"/>
+ <source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="81"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="83"/>
- <source>Generate KeyPair</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="90"/>
+ <source>Open Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="86"/>
- <source>Generate Subkey For Selected</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="88"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="99"/>
+ <source>New Keypair</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="100"/>
+ <source>Ctrl+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="105"/>
+ <source>New Subkey</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <source>Ctrl+Shift+N</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
<source>Generate Subkey For Selected KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="91"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="132"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="93"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="96"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="98"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="118"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="101"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
<source>&amp;Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="103"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="123"/>
<source>Import New Key From Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="106"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
<source>Export To &amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="108"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="128"/>
<source>Export Selected Key(s) To Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="111"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="131"/>
<source>Export To &amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="113"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="133"/>
<source>Export Selected Key(s) To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="116"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
<source>Delete Selected Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="117"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="137"/>
<source>Delete the Selected keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="120"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
<source>Delete Checked Key(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="121"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="141"/>
<source>Delete the Checked keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="125"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="126"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="146"/>
<source>Show Details for this Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="135"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="156"/>
<source>&amp;Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="136"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="157"/>
<source>&amp;Generate Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="140"/>
- <source>&amp;Import Key From...</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
+ <source>&amp;Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="152"/>
- <source>Key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="181"/>
+ <source>Generate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="160"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="161"/>
- <source>Generate key</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="182"/>
+ <source>Generate A New Keypair or Subkey</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="170"/>
- <source>Import key</source>
+ <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="171"/>
- <source>Import key from</source>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="173"/>
+ <source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <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="191"/>
+ <source>Import key</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="192"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="213"/>
<source>Keyring files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="197"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="218"/>
<source>Couldn&apos;t Open File: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="247"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="268"/>
<source>Deleting Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="248"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="269"/>
<source>Are you sure that you want to delete the following keys?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="249"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="270"/>
<source>The action can not be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="278"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="299"/>
<source>Export Key To File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="288"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="309"/>
<source>key(s) exported</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="323"/>
- <location filename="../../src/ui/KeyMgmt.cpp" line="330"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="338"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="345"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="324"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="339"/>
<source>Please select one KeyPair before doing this operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyMgmt.cpp" line="331"/>
+ <location filename="../../src/ui/KeyMgmt.cpp" line="346"/>
<source>If a key pair does not have a private key then it will not be able to generate sub-keys.</source>
<translation type="unfinished"></translation>
</message>
@@ -1579,103 +1648,128 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
<context>
<name>KeyServerImportDialog</name>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="33"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="34"/>
- <source>&amp;Import</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="37"/>
+ <source>&amp;Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="35"/>
- <source>&amp;Search</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="36"/>
+ <source>&amp;Import ALL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="38"/>
- <source>Search string:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="40"/>
+ <source>Search String:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="42"/>
- <source>Keyserver:</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="44"/>
+ <source>Key Server:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="73"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="93"/>
<source>Import Keys from Keyserver</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>UID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Creation date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>KeyID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="110"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="154"/>
<source>Tag</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="150"/>
- <source>Couldn&apos;t contact keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="175"/>
+ <source>&lt;h4&gt;Text is empty.&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="157"/>
- <source>Too many responses from keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="206"/>
+ <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="163"/>
- <source>No keys found, input may be kexId, retrying search with 0x.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="213"/>
+ <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="167"/>
- <source>No keys found containing the search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="220"/>
+ <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="170"/>
- <source>Insufficiently specific search string!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/>
+ <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="196"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="229"/>
+ <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="257"/>
<source>revoked</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="199"/>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="260"/>
<source>disabled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="239"/>
- <source>%1 keys found. Doubleclick a key to import it.</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="300"/>
+ <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="356"/>
+ <source>Key Not Found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="359"/>
+ <source>Timeout</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="362"/>
+ <source>Key Server Not Found</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="279"/>
- <source>Error while contacting keyserver!</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="365"/>
+ <source>Connection Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/KeyServerImportDialog.cpp" line="283"/>
- <source>Key imported</source>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="380"/>
+ <source>&lt;h4&gt;Key Updated&lt;/h4&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/KeyServerImportDialog.cpp" line="382"/>
+ <source>&lt;h4&gt;Key Imported&lt;/h4&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -2092,32 +2186,32 @@ Make sure you keep it save.Do you really want to export your private key?</sourc
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="379"/>
- <source>Show Keydetails</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/MainWindow.cpp" line="380"/>
- <source>Show Details for this Key</source>
+ <source>Show Key Details</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="383"/>
- <source>Refresh key from keyserver</source>
+ <source>Refresh Key From Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="384"/>
- <source>Refresh key from default keyserver</source>
+ <source>Refresh key from default key server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="387"/>
- <source>Upload Key(s) To Server</source>
+ <source>Upload Public Key(s) To Server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/MainWindow.cpp" line="388"/>
- <source>Upload The Selected Keys To Server</source>
+ <source>Upload The Selected Public Keys To Server</source>
+ <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>
@@ -2258,14 +2352,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="1076"/>
+ <location filename="../../src/MainWindow.cpp" line="1077"/>
<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="1083"/>
+ <location filename="../../src/MainWindow.cpp" line="1084"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
@@ -2277,7 +2371,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="1085"/>
+ <location filename="../../src/MainWindow.cpp" line="1086"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2287,7 +2381,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="1084"/>
+ <location filename="../../src/MainWindow.cpp" line="1085"/>
<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/MainWindow.cpp b/src/MainWindow.cpp
index e2e610a2..42b04c76 100644
--- a/src/MainWindow.cpp
+++ b/src/MainWindow.cpp
@@ -133,7 +133,7 @@ void MainWindow::restoreSettings() {
settings.setValue("keyserver/keyServerList", keyServerList);
// set default keyserver, if it's not set
- QString defaultKeyServer = settings.value("keyserver/defaultKeyServer", QString("http://keys.gnupg.net")).toString();
+ QString defaultKeyServer = settings.value("keyserver/defaultKeyServer", QString("https://keyserver.ubuntu.com")).toString();
settings.setValue("keyserver/defaultKeyServer", defaultKeyServer);
// Iconstyle
@@ -376,16 +376,16 @@ void MainWindow::createActions() {
connect(copyMailAddressToClipboardAct, SIGNAL(triggered()), this, SLOT(slotCopyMailAddressToClipboard()));
// TODO: find central place for shared actions, to avoid code-duplication with keymgmt.cpp
- showKeyDetailsAct = new QAction(tr("Show Keydetails"), this);
+ showKeyDetailsAct = new QAction(tr("Show Key Details"), this);
showKeyDetailsAct->setToolTip(tr("Show Details for this Key"));
connect(showKeyDetailsAct, SIGNAL(triggered()), this, SLOT(slotShowKeyDetails()));
- refreshKeysFromKeyserverAct = new QAction(tr("Refresh key from keyserver"), this);
- refreshKeysFromKeyserverAct->setToolTip(tr("Refresh key from default keyserver"));
+ refreshKeysFromKeyserverAct = new QAction(tr("Refresh Key From Key Server"), this);
+ refreshKeysFromKeyserverAct->setToolTip(tr("Refresh key from default key server"));
connect(refreshKeysFromKeyserverAct, SIGNAL(triggered()), this, SLOT(refreshKeysFromKeyserver()));
- uploadKeyToServerAct = new QAction(tr("Upload Key(s) To Server"), this);
- uploadKeyToServerAct->setToolTip(tr("Upload The Selected Keys To Server"));
+ uploadKeyToServerAct = new QAction(tr("Upload Public Key(s) To Server"), this);
+ uploadKeyToServerAct->setToolTip(tr("Upload The Selected Public Keys To Server"));
connect(uploadKeyToServerAct, SIGNAL(triggered()), this, SLOT(uploadKeyToServer()));
/* Key-Shortcuts for Tab-Switchung-Action
*/
@@ -922,7 +922,8 @@ void MainWindow::refreshKeysFromKeyserver() {
return;
}
- auto *ksid = new KeyServerImportDialog(mCtx, mKeyList, this);
+ auto *ksid = new KeyServerImportDialog(mCtx, mKeyList, true, this);
+ ksid->show();
ksid->slotImport(*mKeyList->getSelected());
}
diff --git a/src/ui/KeyImportDetailDialog.cpp b/src/ui/KeyImportDetailDialog.cpp
index 4c60ad0f..3d8d1cdc 100644
--- a/src/ui/KeyImportDetailDialog.cpp
+++ b/src/ui/KeyImportDetailDialog.cpp
@@ -24,13 +24,17 @@
#include <ui/KeyImportDetailDialog.h>
-KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportInformation result, QWidget *parent)
+KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportInformation result, bool automatic,
+ QWidget *parent)
: QDialog(parent) {
mCtx = ctx;
mResult = std::move(result);
// If no key for import found, just show a message
if (mResult.considered == 0) {
- QMessageBox::information(nullptr, tr("Key import details"), tr("No keys found to import"));
+ if(automatic)
+ QMessageBox::information(nullptr, tr("Key Update Details"), tr("No keys found"));
+ else
+ QMessageBox::information(nullptr, tr("Key Import Details"), tr("No keys found to import"));
return;
}
@@ -46,7 +50,11 @@ KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportIn
mvbox->addWidget(buttonBox);
this->setLayout(mvbox);
- this->setWindowTitle(tr("Key import details"));
+ if(automatic)
+ this->setWindowTitle(tr("Key Update Details"));
+ else
+ this->setWindowTitle(tr("Key Import Details"));
+
this->resize(QSize(600, 300));
this->setModal(true);
this->exec();
@@ -54,7 +62,7 @@ KeyImportDetailDialog::KeyImportDetailDialog(GpgME::GpgContext *ctx, GpgImportIn
void KeyImportDetailDialog::createGeneralInfoBox() {
// GridBox for general import information
- generalInfoBox = new QGroupBox(tr("Genral key import info"));
+ generalInfoBox = new QGroupBox(tr("General key info"));
auto *generalInfoBoxLayout = new QGridLayout(generalInfoBox);
generalInfoBoxLayout->addWidget(new QLabel(tr("Considered:")), 1, 0);
diff --git a/src/ui/KeyMgmt.cpp b/src/ui/KeyMgmt.cpp
index 326c20b2..6f9c64a2 100755
--- a/src/ui/KeyMgmt.cpp
+++ b/src/ui/KeyMgmt.cpp
@@ -142,7 +142,7 @@ void KeyMgmt::createActions()
deleteCheckedKeysAct->setIcon(QIcon(":button_delete.png"));
connect(deleteCheckedKeysAct, SIGNAL(triggered()), this, SLOT(slotDeleteCheckedKeys()));
- showKeyDetailsAct = new QAction(tr("Show Keydetails"), this);
+ showKeyDetailsAct = new QAction(tr("Show Key Details"), this);
showKeyDetailsAct->setToolTip(tr("Show Details for this Key"));
connect(showKeyDetailsAct, SIGNAL(triggered()), this, SLOT(slotShowKeyDetails()));
}
@@ -204,7 +204,7 @@ void KeyMgmt::createToolBars()
void KeyMgmt::slotImportKeys(QByteArray inBuffer)
{
GpgImportInformation result = mCtx->importKey(std::move(inBuffer));
- new KeyImportDetailDialog(mCtx, result, this);
+ new KeyImportDetailDialog(mCtx, result, false, this);
}
@@ -226,7 +226,7 @@ void KeyMgmt::slotImportKeyFromFile()
void KeyMgmt::slotImportKeyFromKeyServer()
{
- importDialog = new KeyServerImportDialog(mCtx, mKeyList, this);
+ importDialog = new KeyServerImportDialog(mCtx, mKeyList, false, this);
importDialog->show();
}
@@ -328,12 +328,6 @@ void KeyMgmt::slotGenerateKeyDialog()
void KeyMgmt::closeEvent(QCloseEvent *event)
{
- QSettings settings;
- //settings.setValue("geometry", saveGeometry());
- settings.setValue("keymgmt/windowState", saveState());
- settings.setValue("keymgmt/pos", pos());
- settings.setValue("keymgmt/size", size());
-
QMainWindow::closeEvent(event);
}
diff --git a/src/ui/KeyServerImportDialog.cpp b/src/ui/KeyServerImportDialog.cpp
index 88ec1c11..00ff4165 100644
--- a/src/ui/KeyServerImportDialog.cpp
+++ b/src/ui/KeyServerImportDialog.cpp
@@ -26,52 +26,101 @@
#include <utility>
-KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, QWidget *parent)
+KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, bool automatic,
+ QWidget *parent)
: QDialog(parent), appPath(qApp->applicationDirPath()),
- settings(appPath + "/conf/gpgfrontend.ini", QSettings::IniFormat), mCtx(ctx), mKeyList(keyList) {
+ settings(appPath + "/conf/gpgfrontend.ini", QSettings::IniFormat),
+ mCtx(ctx), mKeyList(keyList), mAutomatic(automatic) {
+
+ if(automatic) {
+ setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
+ }
+
// Buttons
closeButton = createButton(tr("&Close"), SLOT(close()));
- importButton = createButton(tr("&Import"), SLOT(slotImport()));
+ importButton = createButton(tr("&Import ALL"), SLOT(slotImport()));
searchButton = createButton(tr("&Search"), SLOT(slotSearch()));
// Line edit for search string
- searchLabel = new QLabel(tr("Search string:"));
+ searchLabel = new QLabel(tr("Search String:"));
searchLineEdit = new QLineEdit();
// combobox for keyserverlist
- keyServerLabel = new QLabel(tr("Keyserver:"));
+ keyServerLabel = new QLabel(tr("Key Server:"));
keyServerComboBox = createComboBox();
// table containing the keys found
createKeysTable();
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(260);
// Layout for messagebox
auto *messageLayout = new QHBoxLayout;
messageLayout->addWidget(icon);
messageLayout->addWidget(message);
+ messageLayout->addWidget(waitingBar);
messageLayout->addStretch();
// Layout for import and close button
auto *buttonsLayout = new QHBoxLayout;
buttonsLayout->addStretch();
- buttonsLayout->addWidget(importButton);
+ if(!automatic)
+ buttonsLayout->addWidget(importButton);
buttonsLayout->addWidget(closeButton);
auto *mainLayout = new QGridLayout;
- mainLayout->addWidget(searchLabel, 1, 0);
- mainLayout->addWidget(searchLineEdit, 1, 1);
- mainLayout->addWidget(searchButton, 1, 2);
- mainLayout->addWidget(keyServerLabel, 2, 0);
- mainLayout->addWidget(keyServerComboBox, 2, 1);
- mainLayout->addWidget(keysTable, 3, 0, 1, 3);
- mainLayout->addLayout(messageLayout, 4, 0, 1, 3);
- mainLayout->addLayout(buttonsLayout, 5, 0, 1, 3);
+
+ // 自动化调用界面布局
+ 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);
+ mainLayout->addWidget(searchButton, 1, 2);
+ mainLayout->addWidget(keyServerLabel, 2, 0);
+ mainLayout->addWidget(keyServerComboBox, 2, 1);
+ mainLayout->addWidget(keysTable, 3, 0, 1, 3);
+ mainLayout->addLayout(messageLayout, 4, 0, 1, 3);
+ mainLayout->addLayout(buttonsLayout, 6, 0, 1, 3);
+ }
this->setLayout(mainLayout);
this->setWindowTitle(tr("Import Keys from Keyserver"));
- this->resize(700, 300);
+
+ if(automatic) {
+ this->setMinimumHeight(80);
+ } else {
+ // Restore window size & location
+ if (this->settings.value("ImportKeyFromServer/setWindowSize").toBool()) {
+ QPoint pos = settings.value("ImportKeyFromServer/pos", QPoint(150, 150)).toPoint();
+ QSize size = settings.value("ImportKeyFromServer/size", QSize(500, 300)).toSize();
+ qDebug() << "Settings size" << size << "pos" << pos;
+ this->setMinimumSize(size);
+ this->move(pos);
+ } else {
+ qDebug() << "Use default min windows size and pos";
+ QPoint defaultPoint(150, 150);
+ QSize defaultMinSize(500, 300);
+ this->setMinimumSize(defaultMinSize);
+ this->move(defaultPoint);
+ this->settings.setValue("ImportKeyFromServer/pos", defaultPoint);
+ this->settings.setValue("ImportKeyFromServer/size", defaultMinSize);
+ this->settings.setValue("ImportKeyFromServer/setWindowSize", true);
+ }
+ }
+
+
+
this->setModal(true);
}
@@ -119,23 +168,35 @@ void KeyServerImportDialog::createKeysTable() {
void KeyServerImportDialog::setMessage(const QString &text, bool error) {
message->setText(text);
if (error) {
- QIcon undoicon = QIcon::fromTheme("dialog-error");
- QPixmap pixmap = undoicon.pixmap(QSize(32, 32), QIcon::Normal, QIcon::On);
- icon->setPixmap(pixmap);
+ icon->setPixmap(QPixmap(":error.png").scaled(QSize(24, 24), Qt::KeepAspectRatio));
} else {
- QIcon undoicon = QIcon::fromTheme("dialog-information");
- QPixmap pixmap = undoicon.pixmap(QSize(32, 32), QIcon::Normal, QIcon::On);
- icon->setPixmap(pixmap);
+ icon->setPixmap(QPixmap(":info.png").scaled(QSize(24, 24), Qt::KeepAspectRatio));
}
}
void KeyServerImportDialog::slotSearch() {
+
+ if (searchLineEdit->text().isEmpty()) {
+ setMessage(tr("<h4>Text is empty.</h4>"), false);
+ return;
+ }
+
QUrl urlFromRemote = keyServerComboBox->currentText() + "/pks/lookup?search=" + searchLineEdit->text() +
"&op=index&options=mr";
qnam = new QNetworkAccessManager(this);
QNetworkReply *reply = qnam->get(QNetworkRequest(urlFromRemote));
+
connect(reply, SIGNAL(finished()),
this, SLOT(slotSearchFinished()));
+
+ setLoading(true);
+
+ while (reply->isRunning()) {
+ QApplication::processEvents();
+ }
+
+ setLoading(false);
+
}
void KeyServerImportDialog::slotSearchFinished() {
@@ -147,29 +208,34 @@ void KeyServerImportDialog::slotSearchFinished() {
QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if (reply->error()) {
- setMessage(tr("Couldn't contact keyserver!"), true);
- //setMessage(reply->error());
+ setMessage(tr("<h4>Couldn't contact keyserver!</h4>"), true);
qDebug() << reply->error();
+ return;
}
if (firstLine.contains("Error")) {
QString text = QString(reply->readLine(1024));
if (text.contains("Too many responses")) {
- setMessage(tr("Too many responses from keyserver!"), true);
+ setMessage(tr("<h4>CToo many responses from keyserver!</h4>"), true);
+ return;
} else if (text.contains("No keys found")) {
// if string looks like hex string, search again with 0x prepended
QRegExp rx("[0-9A-Fa-f]*");
QString query = searchLineEdit->text();
if (rx.exactMatch(query)) {
- setMessage(tr("No keys found, input may be kexId, retrying search with 0x."), true);
+ setMessage(tr("<h4>No keys found, input may be kexId, retrying search with 0x.</h4>"), true);
searchLineEdit->setText(query.prepend("0x"));
this->slotSearch();
+ return;
} else {
- setMessage(tr("No keys found containing the search string!"), true);
+ setMessage(tr("<h4>No keys found containing the search string!</h4>"), true);
+ return;
}
} else if (text.contains("Insufficiently specific words")) {
- setMessage(tr("Insufficiently specific search string!"), true);
+ setMessage(tr("<h4>Insufficiently specific search string!</h4>"), true);
+ return;
} else {
setMessage(text, true);
+ return;
}
} else {
int row = 0;
@@ -236,7 +302,7 @@ void KeyServerImportDialog::slotSearchFinished() {
}
}
}
- setMessage(tr("%1 keys found. Doubleclick a key to import it.").arg(row), false);
+ setMessage(tr("<h4>%1 keys found. Double click a key to import it.</h4>").arg(row), false);
}
keysTable->resizeColumnsToContents();
}
@@ -250,23 +316,34 @@ void KeyServerImportDialog::slotImport() {
}
}
-void KeyServerImportDialog::slotImport(QStringList keyIds) {
- QString keyserver = settings.value("keyserver/defaultKeyServer").toString();;
- slotImport(std::move(keyIds), QUrl(keyserver));
+void KeyServerImportDialog::slotImport(const QStringList& keyIds) {
+ QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
+ qDebug() << "Select Key Server" << keyserver;
+ slotImport(keyIds, QUrl(keyserver));
}
-void KeyServerImportDialog::slotImport(QStringList keyIds, const QUrl &keyServerUrl) {
- foreach(QString keyId, keyIds) {
- QUrl reqUrl(
- keyServerUrl.scheme() + "://" + keyServerUrl.host() + ":11371/pks/lookup?op=get&search=0x" + keyId +
- "&options=mr");
- //qDebug() << "req to " << reqUrl;
- qnam = new QNetworkAccessManager(this);
- QNetworkReply *reply = qnam->get(QNetworkRequest(reqUrl));
- connect(reply, SIGNAL(finished()),
- this, SLOT(slotImportFinished()));
+void KeyServerImportDialog::slotImport(const QStringList& keyIds, const QUrl &keyServerUrl) {
+ for (const auto &keyId : keyIds) {
+ QUrl reqUrl(
+ keyServerUrl.scheme() + "://" + keyServerUrl.host() + "/pks/lookup?op=get&search=0x" + keyId +
+ "&options=mr");
+ qDebug() << "slotImport reqUrl" << reqUrl;
+ qnam = new QNetworkAccessManager(this);
+
+ QNetworkReply *reply = qnam->get(QNetworkRequest(reqUrl));
+
+ connect(reply, SIGNAL(finished()),
+ this, SLOT(slotImportFinished()));
+
+ setLoading(true);
+
+ while(reply->isRunning()) {
+ QApplication::processEvents();
}
+
+ setLoading(false);
+ }
}
void KeyServerImportDialog::slotImportFinished() {
@@ -275,12 +352,25 @@ void KeyServerImportDialog::slotImportFinished() {
QByteArray key = reply->readAll();
QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
- if (reply->error()) {
- setMessage(tr("Error while contacting keyserver!"), true);
+
+ auto error = reply->error();
+ if (error != QNetworkReply::NoError) {
+ qDebug() << "Error From Reply" << reply->errorString();
+ switch (error) {
+ case QNetworkReply::ContentNotFoundError :
+ setMessage(tr("Key Not 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;
}
- this->importKeys(key.constData());
- setMessage(tr("Key imported"), false);
// Add keyserver to list in config-file, if it isn't contained
QStringList keyServerList = settings.value("keyserver/keyServerList").toStringList();
@@ -289,10 +379,35 @@ void KeyServerImportDialog::slotImportFinished() {
settings.setValue("keyserver/keyServerList", keyServerList);
}
reply->deleteLater();
- reply = nullptr;
+
+ this->importKeys(key.constData());
+ if(mAutomatic) {
+ setMessage(tr("<h4>Key Updated</h4>"), false);
+ } else {
+ setMessage(tr("<h4>Key Imported</h4>"), false);
+ }
+
+
}
void KeyServerImportDialog::importKeys(QByteArray inBuffer) {
GpgImportInformation result = mCtx->importKey(std::move(inBuffer));
- new KeyImportDetailDialog(mCtx, result, this);
+ if(mAutomatic) {
+ new KeyImportDetailDialog(mCtx, result, false, nullptr);
+ this->accept();
+ } else {
+ new KeyImportDetailDialog(mCtx, result, false, this);
+ }
+}
+
+void KeyServerImportDialog::setLoading(bool status) {
+ if (status) {
+ waitingBar->setVisible(true);
+ icon->setVisible(false);
+ message->setVisible(false);
+ } else {
+ waitingBar->setVisible(false);
+ icon->setVisible(true);
+ message->setVisible(true);
+ }
}
diff --git a/src/ui/widgets/InfoBoardWidget.cpp b/src/ui/widgets/InfoBoardWidget.cpp
index bfd0c643..76f82505 100644
--- a/src/ui/widgets/InfoBoardWidget.cpp
+++ b/src/ui/widgets/InfoBoardWidget.cpp
@@ -60,7 +60,7 @@ InfoBoardWidget::InfoBoardWidget(QWidget *parent, GpgME::GpgContext *ctx, KeyLis
}
void InfoBoardWidget::slotImportFromKeyserver() {
- auto *importDialog = new KeyServerImportDialog(mCtx, mKeyList, this);
+ auto *importDialog = new KeyServerImportDialog(mCtx, mKeyList, false, this);
importDialog->slotImport(*keysNotInList);
}
diff --git a/src/ui/widgets/KeyList.cpp b/src/ui/widgets/KeyList.cpp
index dccf1a56..4f0fe1c3 100644
--- a/src/ui/widgets/KeyList.cpp
+++ b/src/ui/widgets/KeyList.cpp
@@ -30,7 +30,8 @@ KeyList::KeyList(GpgME::GpgContext *ctx,
KeyListRow::KeyType selectType,
KeyListColumn::InfoType infoType,
QWidget *parent)
- : QWidget(parent), mSelectType(selectType), mInfoType(infoType)
+ : QWidget(parent), mSelectType(selectType), mInfoType(infoType), appPath(qApp->applicationDirPath()),
+ settings(appPath + "/conf/gpgfrontend.ini", QSettings::IniFormat)
{
mCtx = ctx;
@@ -380,55 +381,94 @@ void KeyList::dragEnterEvent(QDragEnterEvent *event)
void KeyList::importKeys(QByteArray inBuffer)
{
GpgImportInformation result = mCtx->importKey(std::move(inBuffer));
- new KeyImportDetailDialog(mCtx, result, this);
+ new KeyImportDetailDialog(mCtx, result, false, this);
}
-void KeyList::uploadKeyToServer(QByteArray *keys)
-{
- QUrl reqUrl("http://localhost:11371/pks/add");
+void KeyList::uploadKeyToServer(QByteArray *keys) {
+
+ // set default keyserver
+ QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
+
+ QUrl reqUrl(keyserver + "/pks/add");
qnam = new QNetworkAccessManager(this);
- QUrl params;
- keys->replace("\n", "%0D%0A")
+ // Building Post Data
+ QByteArray postData;
+
+ keys->replace("\n", "%0A")
+ .replace("\r", "%0D")
.replace("(", "%28")
.replace(")", "%29")
.replace("/", "%2F")
.replace(":", "%3A")
- .replace("+","%2B")
+ .replace("+", "%2B")
+ .replace('=', "%3D")
.replace(' ', '+');
- QUrlQuery q;
+ QNetworkRequest request(reqUrl);
+ request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
- q.addQueryItem("keytext", *keys);
+ postData.append("keytext").append("=").append(*keys);
- params = q.query(QUrl::FullyEncoded).toUtf8();
+ // Send Post Data
+ QNetworkReply *reply = qnam->post(request, postData);
+ connect(reply, SIGNAL(finished()),
+ this, SLOT(uploadFinished()));
- QNetworkRequest req(reqUrl);
- req.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
+ // A Waiting Dialog
+ auto *dialog = new QDialog(this, Qt::CustomizeWindowHint | Qt::WindowTitleHint);
+ dialog->setModal(true);
+ dialog->setWindowTitle(tr("Uploading Public Key..."));
- QNetworkReply *reply = qnam->post(req,params.toEncoded());
- connect(reply, SIGNAL(finished()),
- this, SLOT(uploadFinished()));
- qDebug() << "REQURL: " << reqUrl;
- qDebug() << "PARAMS.ENCODED: " << params.toEncoded();
-}
+ auto *pb = new QProgressBar();
+ pb->setRange(0, 0);
+ pb->setFixedSize(260, 24);
-void KeyList::uploadFinished()
-{
+ 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() << "RESPNOSE: " << response.data();
- //reply->readAll();
- qDebug() << "ERROR: " << reply->error();
- if (reply->error()) {
- qDebug() << "Error while contacting keyserver!";
+ 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();
}
diff --git a/src/ui/widgets/VerifyKeyDetailBox.cpp b/src/ui/widgets/VerifyKeyDetailBox.cpp
index 3091d672..3a0695b8 100644
--- a/src/ui/widgets/VerifyKeyDetailBox.cpp
+++ b/src/ui/widgets/VerifyKeyDetailBox.cpp
@@ -141,7 +141,7 @@ VerifyKeyDetailBox::VerifyKeyDetailBox(QWidget *parent, GpgME::GpgContext *ctx,
}
void VerifyKeyDetailBox::slotImportFormKeyserver() {
- auto *importDialog = new KeyServerImportDialog(mCtx, mKeyList, this);
+ auto *importDialog = new KeyServerImportDialog(mCtx, mKeyList, false, this);
importDialog->slotImport(QStringList(fpr));
}