aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CMakeLists.txt2
-rwxr-xr-xinclude/ui/QuitDialog.h33
-rw-r--r--include/ui/SendMailDialog.h66
-rwxr-xr-xinclude/ui/SettingsDialog.h25
-rw-r--r--resource/ts/gpg_frontend_fr.ts510
-rw-r--r--resource/ts/gpg_frontend_ru.ts510
-rw-r--r--resource/ts/gpgfrontend_en_us.ts510
-rw-r--r--resource/ts/gpgfrontend_zh_chs.ts510
-rw-r--r--resource/ts/gpgfrontend_zh_cht.ts510
-rw-r--r--src/ui/SendMailDialog.cpp173
-rwxr-xr-xsrc/ui/SettingsDialog.cpp200
-rw-r--r--src/ui/keygen/KeygenDialog.cpp3
-rw-r--r--src/ui/main_window/MainWindowSlotFunction.cpp27
13 files changed, 1983 insertions, 1096 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 21e8c621..864779ce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16)
-project(GpgFrontend VERSION 1.1.3 LANGUAGES CXX)
+project(GpgFrontend VERSION 1.2.1 LANGUAGES CXX)
message(STATUS "GPGFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}")
diff --git a/include/ui/QuitDialog.h b/include/ui/QuitDialog.h
index 8d69cfd2..19af7534 100755
--- a/include/ui/QuitDialog.h
+++ b/include/ui/QuitDialog.h
@@ -1,22 +1,25 @@
-/*
- * keymgmt.h
+/**
+ * This file is part of GPGFrontend.
*
- * Copyright 2008 gpg4usb-team <[email protected]>
+ * GPGFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
- * This file is part of gpg4usb.
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * Gpg4usb is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
*
- * Gpg4usb is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
*
- * You should have received a copy of the GNU General Public License
- * along with gpg4usb. If not, see <http://www.gnu.org/licenses/>
*/
#ifndef __QUITDIALOG_H__
@@ -30,7 +33,7 @@ Q_OBJECT
public:
QuitDialog(QWidget *parent, const QHash<int, QString>& unsavedDocs);
- bool isDiscarded() const;
+ [[nodiscard]] bool isDiscarded() const;
QList<int> getTabIdsToSave();
diff --git a/include/ui/SendMailDialog.h b/include/ui/SendMailDialog.h
new file mode 100644
index 00000000..e01802d3
--- /dev/null
+++ b/include/ui/SendMailDialog.h
@@ -0,0 +1,66 @@
+/**
+ * This file is part of GPGFrontend.
+ *
+ * GPGFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#ifndef GPGFRONTEND_SENDMAILDIALOG_H
+#define GPGFRONTEND_SENDMAILDIALOG_H
+
+#include "GpgFrontend.h"
+
+class SendMailDialog : public QDialog {
+Q_OBJECT
+public:
+ explicit SendMailDialog(QString text, QWidget *parent = nullptr);
+
+private slots:
+
+ void slotConfirm();
+
+private:
+
+ QString appPath;
+ QSettings settings;
+
+ QLineEdit *senderEdit;
+ QTextEdit *recipientEdit;
+ QLineEdit *subjectEdit;
+ QPushButton *confirmButton;
+
+ QLabel *errorLabel;
+ QString mText;
+
+ QString smtpAddress = settings.value("sendMail/smtpAddress", QString()).toString();
+ QString username = settings.value("sendMail/username", QString()).toString();
+ QString password = settings.value("sendMail/password", QString()).toString();
+ QString defaultSender = settings.value("sendMail/defaultSender", QString()).toString();
+ QString connectionTypeSettings = settings.value("sendMail/connectionType", QString()).toString();
+ int port = settings.value("sendMail/port", QString()).toInt();
+
+ QRegularExpression re_email{
+ R"((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))"};
+
+ bool check_email_address(const QString &str);
+};
+
+
+#endif //GPGFRONTEND_SENDMAILDIALOG_H
diff --git a/include/ui/SettingsDialog.h b/include/ui/SettingsDialog.h
index 39bd917f..133a8ec7 100755
--- a/include/ui/SettingsDialog.h
+++ b/include/ui/SettingsDialog.h
@@ -66,24 +66,37 @@ signals:
};
-class MimeTab : public QWidget {
+class SendMailTab : public QWidget {
Q_OBJECT
public:
- explicit MimeTab(QWidget *parent = nullptr);
+ explicit SendMailTab(QWidget *parent = nullptr);
void setSettings();
void applySettings();
+private slots:
+
+ void slotCheckConnection();
+
+ void slotCheckBoxSetEnableDisable(int state);
+
private:
QString appPath;
QSettings settings;
- QCheckBox *mimeParseCheckBox;
- QCheckBox *mimeQPCheckBox;
- QCheckBox *mimeOpenAttachmentCheckBox;
+ QCheckBox *enableCheckBox;
+
+ QLineEdit *smtpAddress;
+ QLineEdit *username;
+ QLineEdit *password;
+ QSpinBox *portSpin;
+ QComboBox *connectionTypeComboBox;
+ QLineEdit *defaultSender;
+
+ QPushButton *checkConnectionButton;
signals:
@@ -209,7 +222,7 @@ public:
explicit SettingsDialog(GpgME::GpgContext *ctx, QWidget *parent = nullptr);
GeneralTab *generalTab;
- MimeTab *mimeTab;
+ SendMailTab *sendMailTab;
AppearanceTab *appearanceTab;
KeyserverTab *keyserverTab;
AdvancedTab *advancedTab;
diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts
index 8d5027fb..66a85393 100644
--- a/resource/ts/gpg_frontend_fr.ts
+++ b/resource/ts/gpg_frontend_fr.ts
@@ -27,12 +27,12 @@
<context>
<name>AdvancedTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="603"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="679"/>
<source>Show Steganography Options [Advanced]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="605"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="681"/>
<source>Show Steganographic Options.</source>
<translation type="unfinished"></translation>
</message>
@@ -40,57 +40,57 @@
<context>
<name>AppearanceTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="368"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="444"/>
<source>Iconsize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="370"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="446"/>
<source>small</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="371"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="447"/>
<source>medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="372"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="448"/>
<source>large</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="388"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="464"/>
<source>Iconstyle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="390"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="466"/>
<source>just text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="391"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="467"/>
<source>just icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="392"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="468"/>
<source>text and icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="484"/>
<source>Windowstate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="411"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="487"/>
<source>Save window size and position on exit.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="419"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="495"/>
<source>Information Board</source>
<translation type="unfinished"></translation>
</message>
@@ -355,57 +355,57 @@
<context>
<name>GeneralTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="135"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="137"/>
<source>Remember Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="138"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="140"/>
<source>Remember password until closing gpg4usb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="145"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="147"/>
<source>Save Checked Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="150"/>
<source>Save checked private keys on exit and restore them on next start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="157"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="159"/>
<source>Confirm drag&apos;n&apos;drop key import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="160"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="162"/>
<source>Import files dropped on the keylist without confirmation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="167"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="169"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="176"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="178"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; GpgFrontend will restart automatically if you change the language!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="185"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="187"/>
<source>Own key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="193"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="195"/>
<source>&lt;none&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="207"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="209"/>
<source>Key pair for synchronization and identity authentication</source>
<translation type="unfinished"></translation>
</message>
@@ -446,22 +446,22 @@
<context>
<name>GpgPathsTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="635"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="711"/>
<source>Relative path to keydb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="648"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="724"/>
<source>Current keydb path: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="653"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="729"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; Gpg4usb will restart automatically if you change the keydb path!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="682"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="758"/>
<source>Choose keydb directory</source>
<translation type="unfinished"></translation>
</message>
@@ -664,17 +664,18 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/>
- <source> Expiration time no more than 2 years. </source>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/>
+ <source> Expiration time no more than 2 years.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="104"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/>
<source>Generating Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="107"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/>
<source>Collecting random data for key generation.
This may take a while.
To speed up the process use your computer
@@ -682,87 +683,87 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/>
<source>Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="159"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/>
<source>Certification</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="162"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/>
<source>Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>The new key pair has been generated.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>Failure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>An error occurred during key generation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
<source>Email Address:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
<source>Expiration Date:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
<source>KeySize (in Bit):</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
<source>Non Pass Phrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="371"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/>
<source>Basic Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1934,12 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<context>
<name>KeyserverTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="531"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="607"/>
<source>Default Keyserver for import:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="624"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -1956,235 +1957,245 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="37"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="272"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="498"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="858"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="110"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="505"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="682"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="506"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/>
<source>The selected key contains a key that does not actually have a encrypt usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="112"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="64"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="527"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/>
<source>Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="111"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/>
+ <source>Function Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/>
+ <source>Please go to the settings interface to enable and configure this function.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
<source>The selected key contains a key that does not actually have a signature usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="704"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="172"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/>
<source>Decrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="232"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/>
<source>Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="284"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="870"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/>
<source>Invalid KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="285"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="871"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/>
<source>The selected keypair cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="296"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="882"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="889"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/>
<source>Incomplete Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="883"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/>
<source>None of the selected key pairs can provide the encryption function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="304"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="890"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/>
<source>None of the selected key pairs can provide the signature function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/>
<source>Encrypting and Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="374"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="762"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
<source>Select a file before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
<source>No permission to read this file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
<source>No permission to create file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="485"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="586"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="845"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="587"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="663"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>An error occurred during operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="763"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/>
<source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
<source>No permission to read target file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
<source>No permission to read signature file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
<source>Select a file(.gpg/.asc) before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/>
<source>Outdated Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1056"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/>
<source>This version(%1) is out of date, please update the latest version in time. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1058"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1065"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1072"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/>
<source>You can download the latest version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1062"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1076"/>
<source>Unreleased Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1063"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/>
<source>This version(%1) has not been officially released and is not recommended for use in a production environment. &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,44 +2721,6 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
- <name>MimeTab</name>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
- <source>Decode quoted printable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="292"/>
- <source>Try to recognize quoted printable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="296"/>
- <source>Parse PGP/MIME (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="299"/>
- <source>Try to split attachments from PGP-MIME ecrypted messages.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="304"/>
- <source>Open with external application (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="306"/>
- <source>Open attachments with default application for the filetype.&lt;br&gt; There are at least two possible problems with this behaviour:&lt;ol&gt;&lt;li&gt;File needs to be saved unencrypted to attachments folder.&lt;br&gt; Its your job to clean this folder.&lt;/li&gt;&lt;li&gt;The external application may have its own temp files.&lt;/li&gt;&lt;/ol&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
- <source>Enable opening with external applications.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QApplication</name>
<message>
<location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/>
@@ -2879,39 +2852,172 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
+ <name>SendMailDialog</name>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="35"/>
+ <source>Incomplete configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="36"/>
+ <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="83"/>
+ <source> Recipient cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="85"/>
+ <source> Recipient&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="88"/>
+ <source> Sender cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="90"/>
+ <source> Sender&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <source>Fail to Login into SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail to Send Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Succeed in Sending Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendMailTab</name>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="311"/>
+ <source>SMTP Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="313"/>
+ <source>Username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
+ <source>Password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="317"/>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="319"/>
+ <source>Connection Security</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="322"/>
+ <source>Default Sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail to Login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Succeed in connecting and login</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SettingsDialog</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="38"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="39"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
- <source>PGP/Mime</source>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="42"/>
+ <source>Send Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="45"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="56"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="58"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="101"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="103"/>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpg_frontend_ru.ts b/resource/ts/gpg_frontend_ru.ts
index f3dc9093..5a803e6f 100644
--- a/resource/ts/gpg_frontend_ru.ts
+++ b/resource/ts/gpg_frontend_ru.ts
@@ -27,12 +27,12 @@
<context>
<name>AdvancedTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="603"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="679"/>
<source>Show Steganography Options [Advanced]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="605"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="681"/>
<source>Show Steganographic Options.</source>
<translation type="unfinished"></translation>
</message>
@@ -40,57 +40,57 @@
<context>
<name>AppearanceTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="368"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="444"/>
<source>Iconsize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="370"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="446"/>
<source>small</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="371"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="447"/>
<source>medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="372"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="448"/>
<source>large</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="388"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="464"/>
<source>Iconstyle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="390"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="466"/>
<source>just text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="391"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="467"/>
<source>just icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="392"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="468"/>
<source>text and icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="484"/>
<source>Windowstate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="411"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="487"/>
<source>Save window size and position on exit.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="419"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="495"/>
<source>Information Board</source>
<translation type="unfinished"></translation>
</message>
@@ -355,57 +355,57 @@
<context>
<name>GeneralTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="135"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="137"/>
<source>Remember Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="138"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="140"/>
<source>Remember password until closing gpg4usb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="145"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="147"/>
<source>Save Checked Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="150"/>
<source>Save checked private keys on exit and restore them on next start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="157"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="159"/>
<source>Confirm drag&apos;n&apos;drop key import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="160"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="162"/>
<source>Import files dropped on the keylist without confirmation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="167"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="169"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="176"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="178"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; GpgFrontend will restart automatically if you change the language!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="185"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="187"/>
<source>Own key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="193"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="195"/>
<source>&lt;none&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="207"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="209"/>
<source>Key pair for synchronization and identity authentication</source>
<translation type="unfinished"></translation>
</message>
@@ -446,22 +446,22 @@
<context>
<name>GpgPathsTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="635"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="711"/>
<source>Relative path to keydb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="648"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="724"/>
<source>Current keydb path: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="653"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="729"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; Gpg4usb will restart automatically if you change the keydb path!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="682"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="758"/>
<source>Choose keydb directory</source>
<translation type="unfinished"></translation>
</message>
@@ -664,17 +664,18 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/>
- <source> Expiration time no more than 2 years. </source>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/>
+ <source> Expiration time no more than 2 years.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="104"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/>
<source>Generating Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="107"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/>
<source>Collecting random data for key generation.
This may take a while.
To speed up the process use your computer
@@ -682,87 +683,87 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/>
<source>Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="159"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/>
<source>Certification</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="162"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/>
<source>Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>The new key pair has been generated.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>Failure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>An error occurred during key generation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
<source>Email Address:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
<source>Expiration Date:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
<source>KeySize (in Bit):</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
<source>Non Pass Phrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="371"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/>
<source>Basic Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1934,12 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<context>
<name>KeyserverTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="531"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="607"/>
<source>Default Keyserver for import:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="624"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -1956,235 +1957,245 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="37"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="272"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="498"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="858"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="110"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="505"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="682"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="506"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/>
<source>The selected key contains a key that does not actually have a encrypt usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="112"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="64"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="527"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/>
<source>Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="111"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/>
+ <source>Function Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/>
+ <source>Please go to the settings interface to enable and configure this function.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
<source>The selected key contains a key that does not actually have a signature usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="704"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="172"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/>
<source>Decrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="232"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/>
<source>Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="284"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="870"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/>
<source>Invalid KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="285"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="871"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/>
<source>The selected keypair cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="296"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="882"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="889"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/>
<source>Incomplete Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="883"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/>
<source>None of the selected key pairs can provide the encryption function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="304"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="890"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/>
<source>None of the selected key pairs can provide the signature function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/>
<source>Encrypting and Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="374"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="762"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
<source>Select a file before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
<source>No permission to read this file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
<source>No permission to create file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="485"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="586"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="845"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="587"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="663"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>An error occurred during operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="763"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/>
<source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
<source>No permission to read target file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
<source>No permission to read signature file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
<source>Select a file(.gpg/.asc) before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/>
<source>Outdated Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1056"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/>
<source>This version(%1) is out of date, please update the latest version in time. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1058"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1065"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1072"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/>
<source>You can download the latest version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1062"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1076"/>
<source>Unreleased Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1063"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/>
<source>This version(%1) has not been officially released and is not recommended for use in a production environment. &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,44 +2721,6 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
- <name>MimeTab</name>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
- <source>Decode quoted printable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="292"/>
- <source>Try to recognize quoted printable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="296"/>
- <source>Parse PGP/MIME (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="299"/>
- <source>Try to split attachments from PGP-MIME ecrypted messages.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="304"/>
- <source>Open with external application (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="306"/>
- <source>Open attachments with default application for the filetype.&lt;br&gt; There are at least two possible problems with this behaviour:&lt;ol&gt;&lt;li&gt;File needs to be saved unencrypted to attachments folder.&lt;br&gt; Its your job to clean this folder.&lt;/li&gt;&lt;li&gt;The external application may have its own temp files.&lt;/li&gt;&lt;/ol&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
- <source>Enable opening with external applications.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QApplication</name>
<message>
<location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/>
@@ -2879,39 +2852,172 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
+ <name>SendMailDialog</name>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="35"/>
+ <source>Incomplete configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="36"/>
+ <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="83"/>
+ <source> Recipient cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="85"/>
+ <source> Recipient&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="88"/>
+ <source> Sender cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="90"/>
+ <source> Sender&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <source>Fail to Login into SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail to Send Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Succeed in Sending Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendMailTab</name>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="311"/>
+ <source>SMTP Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="313"/>
+ <source>Username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
+ <source>Password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="317"/>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="319"/>
+ <source>Connection Security</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="322"/>
+ <source>Default Sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail to Login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Succeed in connecting and login</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SettingsDialog</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="38"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="39"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
- <source>PGP/Mime</source>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="42"/>
+ <source>Send Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="45"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="56"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="58"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="101"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="103"/>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts
index 03dc57e3..a23519e4 100644
--- a/resource/ts/gpgfrontend_en_us.ts
+++ b/resource/ts/gpgfrontend_en_us.ts
@@ -27,12 +27,12 @@
<context>
<name>AdvancedTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="603"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="679"/>
<source>Show Steganography Options [Advanced]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="605"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="681"/>
<source>Show Steganographic Options.</source>
<translation type="unfinished"></translation>
</message>
@@ -40,57 +40,57 @@
<context>
<name>AppearanceTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="368"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="444"/>
<source>Iconsize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="370"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="446"/>
<source>small</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="371"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="447"/>
<source>medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="372"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="448"/>
<source>large</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="388"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="464"/>
<source>Iconstyle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="390"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="466"/>
<source>just text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="391"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="467"/>
<source>just icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="392"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="468"/>
<source>text and icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="484"/>
<source>Windowstate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="411"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="487"/>
<source>Save window size and position on exit.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="419"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="495"/>
<source>Information Board</source>
<translation type="unfinished"></translation>
</message>
@@ -355,57 +355,57 @@
<context>
<name>GeneralTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="135"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="137"/>
<source>Remember Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="138"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="140"/>
<source>Remember password until closing gpg4usb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="145"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="147"/>
<source>Save Checked Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="150"/>
<source>Save checked private keys on exit and restore them on next start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="157"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="159"/>
<source>Confirm drag&apos;n&apos;drop key import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="160"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="162"/>
<source>Import files dropped on the keylist without confirmation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="167"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="169"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="176"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="178"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; GpgFrontend will restart automatically if you change the language!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="185"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="187"/>
<source>Own key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="193"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="195"/>
<source>&lt;none&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="207"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="209"/>
<source>Key pair for synchronization and identity authentication</source>
<translation type="unfinished"></translation>
</message>
@@ -446,22 +446,22 @@
<context>
<name>GpgPathsTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="635"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="711"/>
<source>Relative path to keydb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="648"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="724"/>
<source>Current keydb path: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="653"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="729"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; Gpg4usb will restart automatically if you change the keydb path!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="682"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="758"/>
<source>Choose keydb directory</source>
<translation type="unfinished"></translation>
</message>
@@ -664,17 +664,18 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/>
- <source> Expiration time no more than 2 years. </source>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/>
+ <source> Expiration time no more than 2 years.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="104"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/>
<source>Generating Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="107"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/>
<source>Collecting random data for key generation.
This may take a while.
To speed up the process use your computer
@@ -682,87 +683,87 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/>
<source>Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="159"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/>
<source>Certification</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="162"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/>
<source>Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>The new key pair has been generated.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>Failure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>An error occurred during key generation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
<source>Email Address:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
<source>Expiration Date:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
<source>KeySize (in Bit):</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
<source>Non Pass Phrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="371"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/>
<source>Basic Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1934,12 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<context>
<name>KeyserverTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="531"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="607"/>
<source>Default Keyserver for import:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="624"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -1956,235 +1957,245 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="37"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="272"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="498"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="858"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="110"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="505"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="682"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="506"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/>
<source>The selected key contains a key that does not actually have a encrypt usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="112"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="64"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="527"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/>
<source>Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="111"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/>
+ <source>Function Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/>
+ <source>Please go to the settings interface to enable and configure this function.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
<source>The selected key contains a key that does not actually have a signature usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="704"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="172"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/>
<source>Decrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="232"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/>
<source>Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="284"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="870"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/>
<source>Invalid KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="285"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="871"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/>
<source>The selected keypair cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="296"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="882"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="889"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/>
<source>Incomplete Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="883"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/>
<source>None of the selected key pairs can provide the encryption function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="304"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="890"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/>
<source>None of the selected key pairs can provide the signature function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/>
<source>Encrypting and Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="374"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="762"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
<source>Select a file before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
<source>No permission to read this file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
<source>No permission to create file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="485"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="586"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="845"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="587"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="663"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>An error occurred during operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="763"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/>
<source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
<source>No permission to read target file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
<source>No permission to read signature file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
<source>Select a file(.gpg/.asc) before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/>
<source>Outdated Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1056"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/>
<source>This version(%1) is out of date, please update the latest version in time. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1058"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1065"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1072"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/>
<source>You can download the latest version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1062"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1076"/>
<source>Unreleased Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1063"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/>
<source>This version(%1) has not been officially released and is not recommended for use in a production environment. &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,44 +2721,6 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
- <name>MimeTab</name>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
- <source>Decode quoted printable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="292"/>
- <source>Try to recognize quoted printable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="296"/>
- <source>Parse PGP/MIME (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="299"/>
- <source>Try to split attachments from PGP-MIME ecrypted messages.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="304"/>
- <source>Open with external application (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="306"/>
- <source>Open attachments with default application for the filetype.&lt;br&gt; There are at least two possible problems with this behaviour:&lt;ol&gt;&lt;li&gt;File needs to be saved unencrypted to attachments folder.&lt;br&gt; Its your job to clean this folder.&lt;/li&gt;&lt;li&gt;The external application may have its own temp files.&lt;/li&gt;&lt;/ol&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
- <source>Enable opening with external applications.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QApplication</name>
<message>
<location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/>
@@ -2879,39 +2852,172 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
+ <name>SendMailDialog</name>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="35"/>
+ <source>Incomplete configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="36"/>
+ <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="83"/>
+ <source> Recipient cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="85"/>
+ <source> Recipient&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="88"/>
+ <source> Sender cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="90"/>
+ <source> Sender&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <source>Fail to Login into SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail to Send Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Succeed in Sending Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendMailTab</name>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="311"/>
+ <source>SMTP Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="313"/>
+ <source>Username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
+ <source>Password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="317"/>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="319"/>
+ <source>Connection Security</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="322"/>
+ <source>Default Sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail to Login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Succeed in connecting and login</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SettingsDialog</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="38"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="39"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
- <source>PGP/Mime</source>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="42"/>
+ <source>Send Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="45"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="56"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="58"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="101"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="103"/>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_zh_chs.ts b/resource/ts/gpgfrontend_zh_chs.ts
index d4e036b2..671c8217 100644
--- a/resource/ts/gpgfrontend_zh_chs.ts
+++ b/resource/ts/gpgfrontend_zh_chs.ts
@@ -27,12 +27,12 @@
<context>
<name>AdvancedTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="603"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="679"/>
<source>Show Steganography Options [Advanced]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="605"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="681"/>
<source>Show Steganographic Options.</source>
<translation type="unfinished"></translation>
</message>
@@ -40,57 +40,57 @@
<context>
<name>AppearanceTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="368"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="444"/>
<source>Iconsize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="370"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="446"/>
<source>small</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="371"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="447"/>
<source>medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="372"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="448"/>
<source>large</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="388"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="464"/>
<source>Iconstyle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="390"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="466"/>
<source>just text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="391"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="467"/>
<source>just icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="392"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="468"/>
<source>text and icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="484"/>
<source>Windowstate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="411"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="487"/>
<source>Save window size and position on exit.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="419"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="495"/>
<source>Information Board</source>
<translation type="unfinished"></translation>
</message>
@@ -355,57 +355,57 @@
<context>
<name>GeneralTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="135"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="137"/>
<source>Remember Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="138"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="140"/>
<source>Remember password until closing gpg4usb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="145"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="147"/>
<source>Save Checked Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="150"/>
<source>Save checked private keys on exit and restore them on next start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="157"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="159"/>
<source>Confirm drag&apos;n&apos;drop key import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="160"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="162"/>
<source>Import files dropped on the keylist without confirmation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="167"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="169"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="176"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="178"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; GpgFrontend will restart automatically if you change the language!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="185"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="187"/>
<source>Own key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="193"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="195"/>
<source>&lt;none&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="207"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="209"/>
<source>Key pair for synchronization and identity authentication</source>
<translation type="unfinished"></translation>
</message>
@@ -446,22 +446,22 @@
<context>
<name>GpgPathsTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="635"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="711"/>
<source>Relative path to keydb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="648"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="724"/>
<source>Current keydb path: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="653"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="729"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; Gpg4usb will restart automatically if you change the keydb path!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="682"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="758"/>
<source>Choose keydb directory</source>
<translation type="unfinished"></translation>
</message>
@@ -664,17 +664,18 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/>
- <source> Expiration time no more than 2 years. </source>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/>
+ <source> Expiration time no more than 2 years.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="104"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/>
<source>Generating Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="107"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/>
<source>Collecting random data for key generation.
This may take a while.
To speed up the process use your computer
@@ -682,87 +683,87 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/>
<source>Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="159"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/>
<source>Certification</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="162"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/>
<source>Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>The new key pair has been generated.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>Failure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>An error occurred during key generation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
<source>Email Address:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
<source>Expiration Date:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
<source>KeySize (in Bit):</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
<source>Non Pass Phrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="371"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/>
<source>Basic Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1934,12 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<context>
<name>KeyserverTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="531"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="607"/>
<source>Default Keyserver for import:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="624"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -1956,235 +1957,245 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="37"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="272"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="498"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="858"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="110"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="505"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="682"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="506"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/>
<source>The selected key contains a key that does not actually have a encrypt usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="112"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="64"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="527"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/>
<source>Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="111"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/>
+ <source>Function Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/>
+ <source>Please go to the settings interface to enable and configure this function.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
<source>The selected key contains a key that does not actually have a signature usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="704"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="172"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/>
<source>Decrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="232"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/>
<source>Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="284"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="870"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/>
<source>Invalid KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="285"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="871"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/>
<source>The selected keypair cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="296"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="882"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="889"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/>
<source>Incomplete Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="883"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/>
<source>None of the selected key pairs can provide the encryption function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="304"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="890"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/>
<source>None of the selected key pairs can provide the signature function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/>
<source>Encrypting and Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="374"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="762"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
<source>Select a file before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
<source>No permission to read this file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
<source>No permission to create file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="485"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="586"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="845"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="587"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="663"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>An error occurred during operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="763"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/>
<source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
<source>No permission to read target file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
<source>No permission to read signature file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
<source>Select a file(.gpg/.asc) before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/>
<source>Outdated Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1056"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/>
<source>This version(%1) is out of date, please update the latest version in time. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1058"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1065"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1072"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/>
<source>You can download the latest version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1062"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1076"/>
<source>Unreleased Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1063"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/>
<source>This version(%1) has not been officially released and is not recommended for use in a production environment. &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,44 +2721,6 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
- <name>MimeTab</name>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
- <source>Decode quoted printable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="292"/>
- <source>Try to recognize quoted printable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="296"/>
- <source>Parse PGP/MIME (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="299"/>
- <source>Try to split attachments from PGP-MIME ecrypted messages.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="304"/>
- <source>Open with external application (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="306"/>
- <source>Open attachments with default application for the filetype.&lt;br&gt; There are at least two possible problems with this behaviour:&lt;ol&gt;&lt;li&gt;File needs to be saved unencrypted to attachments folder.&lt;br&gt; Its your job to clean this folder.&lt;/li&gt;&lt;li&gt;The external application may have its own temp files.&lt;/li&gt;&lt;/ol&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
- <source>Enable opening with external applications.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QApplication</name>
<message>
<location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/>
@@ -2879,39 +2852,172 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
+ <name>SendMailDialog</name>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="35"/>
+ <source>Incomplete configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="36"/>
+ <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="83"/>
+ <source> Recipient cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="85"/>
+ <source> Recipient&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="88"/>
+ <source> Sender cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="90"/>
+ <source> Sender&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <source>Fail to Login into SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail to Send Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Succeed in Sending Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendMailTab</name>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="311"/>
+ <source>SMTP Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="313"/>
+ <source>Username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
+ <source>Password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="317"/>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="319"/>
+ <source>Connection Security</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="322"/>
+ <source>Default Sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail to Login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Succeed in connecting and login</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SettingsDialog</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="38"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="39"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
- <source>PGP/Mime</source>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="42"/>
+ <source>Send Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="45"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="56"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="58"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="101"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="103"/>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
diff --git a/resource/ts/gpgfrontend_zh_cht.ts b/resource/ts/gpgfrontend_zh_cht.ts
index d4e036b2..671c8217 100644
--- a/resource/ts/gpgfrontend_zh_cht.ts
+++ b/resource/ts/gpgfrontend_zh_cht.ts
@@ -27,12 +27,12 @@
<context>
<name>AdvancedTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="603"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="679"/>
<source>Show Steganography Options [Advanced]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="605"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="681"/>
<source>Show Steganographic Options.</source>
<translation type="unfinished"></translation>
</message>
@@ -40,57 +40,57 @@
<context>
<name>AppearanceTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="368"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="444"/>
<source>Iconsize</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="370"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="446"/>
<source>small</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="371"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="447"/>
<source>medium</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="372"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="448"/>
<source>large</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="388"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="464"/>
<source>Iconstyle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="390"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="466"/>
<source>just text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="391"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="467"/>
<source>just icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="392"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="468"/>
<source>text and icons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="484"/>
<source>Windowstate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="411"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="487"/>
<source>Save window size and position on exit.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="419"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="495"/>
<source>Information Board</source>
<translation type="unfinished"></translation>
</message>
@@ -355,57 +355,57 @@
<context>
<name>GeneralTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="135"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="137"/>
<source>Remember Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="138"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="140"/>
<source>Remember password until closing gpg4usb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="145"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="147"/>
<source>Save Checked Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="150"/>
<source>Save checked private keys on exit and restore them on next start.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="157"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="159"/>
<source>Confirm drag&apos;n&apos;drop key import</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="160"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="162"/>
<source>Import files dropped on the keylist without confirmation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="167"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="169"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="176"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="178"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; GpgFrontend will restart automatically if you change the language!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="185"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="187"/>
<source>Own key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="193"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="195"/>
<source>&lt;none&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="207"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="209"/>
<source>Key pair for synchronization and identity authentication</source>
<translation type="unfinished"></translation>
</message>
@@ -446,22 +446,22 @@
<context>
<name>GpgPathsTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="635"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="711"/>
<source>Relative path to keydb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="648"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="724"/>
<source>Current keydb path: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="653"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="729"/>
<source>&lt;b&gt;NOTE: &lt;/b&gt; Gpg4usb will restart automatically if you change the keydb path!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="682"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="758"/>
<source>Choose keydb directory</source>
<translation type="unfinished"></translation>
</message>
@@ -664,17 +664,18 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="78"/>
- <source> Expiration time no more than 2 years. </source>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="77"/>
+ <source> Expiration time no more than 2 years.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="104"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="103"/>
<source>Generating Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="107"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="106"/>
<source>Collecting random data for key generation.
This may take a while.
To speed up the process use your computer
@@ -682,87 +683,87 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="153"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="152"/>
<source>Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="156"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="155"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="159"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="158"/>
<source>Certification</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="162"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="161"/>
<source>Authentication</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="313"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="312"/>
<source>The new key pair has been generated.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>Failure</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="315"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="314"/>
<source>An error occurred during key generation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="350"/>
<source>Name:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="351"/>
<source>Email Address:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="352"/>
<source>Comment:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="353"/>
<source>Expiration Date:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="354"/>
<source>Never Expire</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="355"/>
<source>KeySize (in Bit):</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="356"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="358"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="357"/>
<source>Non Pass Phrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="371"/>
+ <location filename="../../src/ui/keygen/KeygenDialog.cpp" line="370"/>
<source>Basic Information</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1934,12 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<context>
<name>KeyserverTab</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="531"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="607"/>
<source>Default Keyserver for import:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="548"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="624"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -1956,235 +1957,245 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="37"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="103"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="272"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="498"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="675"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="858"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="38"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="117"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="512"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="689"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
<source>No Key Selected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="110"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="505"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="682"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="124"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="519"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="696"/>
<source>Invalid Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="45"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="506"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="683"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="520"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="697"/>
<source>The selected key contains a key that does not actually have a encrypt usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="46"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="112"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="286"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="507"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="684"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="872"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="47"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="126"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="300"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="521"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="698"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="886"/>
<source>&lt;br/&gt;For example the Following Key: &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="64"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="527"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="65"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="541"/>
<source>Encrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="111"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="94"/>
+ <source>Function Disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="95"/>
+ <source>Please go to the settings interface to enable and configure this function.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="125"/>
<source>The selected key contains a key that does not actually have a signature usage.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="128"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="704"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="142"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="718"/>
<source>Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="172"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="186"/>
<source>Decrypting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="232"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="789"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="246"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="803"/>
<source>Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="284"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="870"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="298"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="884"/>
<source>Invalid KeyPair</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="285"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="871"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="299"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="885"/>
<source>The selected keypair cannot be used for signing and encryption at the same time.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="296"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="303"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="882"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="889"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="310"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="317"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="896"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="903"/>
<source>Incomplete Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="297"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="883"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="311"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="897"/>
<source>None of the selected key pairs can provide the encryption function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="304"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="890"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="318"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="904"/>
<source>None of the selected key pairs can provide the signature function.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="321"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="909"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="335"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="923"/>
<source>Encrypting and Signing</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="374"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="987"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="388"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1001"/>
<source>Decrypting and Verifying</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="762"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="776"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="472"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="563"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="648"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="832"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="577"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
<source>Select a file before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="476"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="567"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="652"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="836"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="953"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="490"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="581"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="666"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="850"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="967"/>
<source>No permission to read this file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="480"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="571"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="656"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="840"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="957"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="494"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="585"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="670"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="854"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="971"/>
<source>No permission to create file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="485"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="586"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="662"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="845"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="499"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="600"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="676"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="859"/>
<source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="486"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="587"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="663"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="846"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="500"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="601"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="677"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="860"/>
<source>The target file already exists, do you need to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="550"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="632"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="730"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="819"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="937"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1019"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="564"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="646"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="744"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="833"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="951"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1033"/>
<source>An error occurred during operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="763"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="777"/>
<source>Please select the appropriate target file or signature file. Ensure that both are in this directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="767"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="781"/>
<source>No permission to read target file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="771"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="785"/>
<source>No permission to read signature file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="949"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="963"/>
<source>Select a file(.gpg/.asc) before doing it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1055"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1069"/>
<source>Outdated Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1056"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1070"/>
<source>This version(%1) is out of date, please update the latest version in time. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1058"/>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1065"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1072"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1079"/>
<source>You can download the latest version(%1) on Github Releases Page.&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1062"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1076"/>
<source>Unreleased Version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1063"/>
+ <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="1077"/>
<source>This version(%1) has not been officially released and is not recommended for use in a production environment. &lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,44 +2721,6 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
- <name>MimeTab</name>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
- <source>Decode quoted printable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="292"/>
- <source>Try to recognize quoted printable.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="296"/>
- <source>Parse PGP/MIME (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="299"/>
- <source>Try to split attachments from PGP-MIME ecrypted messages.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="304"/>
- <source>Open with external application (Experimental)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="306"/>
- <source>Open attachments with default application for the filetype.&lt;br&gt; There are at least two possible problems with this behaviour:&lt;ol&gt;&lt;li&gt;File needs to be saved unencrypted to attachments folder.&lt;br&gt; Its your job to clean this folder.&lt;/li&gt;&lt;li&gt;The external application may have its own temp files.&lt;/li&gt;&lt;/ol&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
- <source>Enable opening with external applications.</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QApplication</name>
<message>
<location filename="../../src/gpg/result_analyse/DecryptResultAnalyse.cpp" line="42"/>
@@ -2879,39 +2852,172 @@ This is NOT your Public Key, so DON&apos;T give it away.&lt;br /&gt;Do you REALL
</message>
</context>
<context>
+ <name>SendMailDialog</name>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="35"/>
+ <source>Incomplete configuration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="36"/>
+ <source>The SMTP address is empty, please go to the setting interface to complete the configuration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="83"/>
+ <source> Recipient cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="85"/>
+ <source> Recipient&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="88"/>
+ <source> Sender cannot be empty
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="90"/>
+ <source> Sender&apos;s Email Address is invalid
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="143"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="148"/>
+ <source>Fail to Login into SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="153"/>
+ <source>Fail to Send Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SendMailDialog.cpp" line="159"/>
+ <source>Succeed in Sending Mail to SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendMailTab</name>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="289"/>
+ <source>Enable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="311"/>
+ <source>SMTP Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="313"/>
+ <source>Username</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="315"/>
+ <source>Password</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="317"/>
+ <source>Port</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="319"/>
+ <source>Connection Security</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="322"/>
+ <source>Default Sender</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="404"/>
+ <source>Fail to Connect SMTP Server</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="408"/>
+ <source>Fail to Login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Success</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="413"/>
+ <source>Succeed in connecting and login</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SettingsDialog</name>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="38"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="39"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="40"/>
- <source>PGP/Mime</source>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="42"/>
+ <source>Send Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="41"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
<source>Key Server</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="43"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="45"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="56"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="58"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../src/ui/SettingsDialog.cpp" line="101"/>
+ <location filename="../../src/ui/SettingsDialog.cpp" line="103"/>
<source>System Default</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/ui/SendMailDialog.cpp b/src/ui/SendMailDialog.cpp
new file mode 100644
index 00000000..5bea7cb2
--- /dev/null
+++ b/src/ui/SendMailDialog.cpp
@@ -0,0 +1,173 @@
+/**
+ * This file is part of GPGFrontend.
+ *
+ * GPGFrontend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Foobar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#include "ui/SendMailDialog.h"
+
+#include <utility>
+#include "smtp/SmtpMime"
+
+SendMailDialog::SendMailDialog(QString text, QWidget *parent)
+ : QDialog(parent), appPath(qApp->applicationDirPath()),
+ settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini", QSettings::IniFormat), mText(std::move(text)) {
+
+ if (smtpAddress.isEmpty()) {
+ QMessageBox::critical(this, tr("Incomplete configuration"),
+ tr("The SMTP address is empty, please go to the setting interface to complete the configuration."));
+
+ deleteLater();
+ return;
+
+ }
+
+ senderEdit = new QLineEdit();
+ senderEdit->setText(defaultSender);
+ recipientEdit = new QTextEdit();
+ recipientEdit->setPlaceholderText("One or more email addresses. Please use ; to separate.");
+ subjectEdit = new QLineEdit();
+
+ errorLabel = new QLabel();
+
+ qDebug() << "Send Mail Settings" << smtpAddress << username << password << defaultSender << connectionTypeSettings;
+
+ confirmButton = new QPushButton("Confirm");
+
+ auto layout = new QGridLayout();
+ layout->addWidget(new QLabel("Sender"), 0, 0);
+ layout->addWidget(senderEdit, 0, 1);
+ layout->addWidget(new QLabel("Recipient"), 1, 0);
+ layout->addWidget(recipientEdit, 1, 1);
+ layout->addWidget(new QLabel("Subject"), 2, 0);
+ layout->addWidget(subjectEdit, 2, 1);
+ layout->addWidget(confirmButton, 3, 1);
+ layout->addWidget(errorLabel, 4, 0, 1, 2);
+
+ connect(confirmButton, SIGNAL(clicked(bool)), this, SLOT(slotConfirm()));
+
+ this->setLayout(layout);
+ this->setWindowTitle("Send Mail");
+ this->setModal(true);
+ this->setFixedWidth(320);
+ this->show();
+}
+
+bool SendMailDialog::check_email_address(const QString &str) {
+ return re_email.match(str).hasMatch();
+}
+
+void SendMailDialog::slotConfirm() {
+
+ QString errString;
+ errorLabel->clear();
+
+ QStringList rcptStringList = recipientEdit->toPlainText().split(';');
+
+ if (rcptStringList.isEmpty()) {
+ errString.append(tr(" Recipient cannot be empty \n"));
+ } else {
+ for (const auto& reci : rcptStringList) {
+ qDebug() << "Receiver" << reci.trimmed();
+ if (!check_email_address(reci.trimmed())) {
+ errString.append(tr(" One or more Recipient's Email Address is invalid \n"));
+ break;
+ }
+ }
+ }
+ if (senderEdit->text().isEmpty()) {
+ errString.append(tr(" Sender cannot be empty \n"));
+ } else if (!check_email_address(senderEdit->text())) {
+ errString.append(tr(" Sender's Email Address is invalid \n"));
+ }
+
+ if (!errString.isEmpty()) {
+ errorLabel->setAutoFillBackground(true);
+ QPalette error = errorLabel->palette();
+ error.setColor(QPalette::Window, "#ff8080");
+ errorLabel->setPalette(error);
+ errorLabel->setText(errString);
+ return;
+ }
+
+ SmtpClient::ConnectionType connectionType = SmtpClient::ConnectionType::TcpConnection;
+
+ if (connectionTypeSettings == "SSL") {
+ connectionType = SmtpClient::ConnectionType::SslConnection;
+ } else if (connectionTypeSettings == "TLS") {
+ connectionType = SmtpClient::ConnectionType::TlsConnection;
+ } else if (connectionTypeSettings == "STARTTLS") {
+ connectionType = SmtpClient::ConnectionType::TlsConnection;
+ } else {
+ connectionType = SmtpClient::ConnectionType::TcpConnection;
+ }
+
+ SmtpClient smtp(smtpAddress, port, connectionType);
+
+ // We need to set the username (your email address) and the password
+ // for smtp authentification.
+
+ smtp.setUser(username);
+ smtp.setPassword(password);
+
+ // Now we create a MimeMessage object. This will be the email.
+
+ MimeMessage message;
+
+ message.setSender(new EmailAddress(senderEdit->text()));
+ for (const auto &reci : rcptStringList) {
+ if(!reci.isEmpty())
+ message.addRecipient(new EmailAddress(reci.trimmed()));
+ }
+ message.setSubject(subjectEdit->text());
+
+ // Now add some text to the email.
+ // First we create a MimeText object.
+
+ MimeText text;
+
+ text.setText(mText);
+
+ // Now add it to the mail
+ message.addPart(&text);
+
+ // Now we can send the mail
+ if (!smtp.connectToHost()) {
+ qDebug() << "Connect to SMTP Server Failed";
+ QMessageBox::critical(this, tr("Fail"), tr("Fail to Connect SMTP Server"));
+ return;
+ }
+ if (!smtp.login()) {
+ qDebug() << "Login to SMTP Server Failed";
+ QMessageBox::critical(this, tr("Fail"), tr("Fail to Login into SMTP Server"));
+ return;
+ }
+ if (!smtp.sendMail(message)) {
+ qDebug() << "Send Mail to SMTP Server Failed";
+ QMessageBox::critical(this, tr("Fail"), tr("Fail to Send Mail to SMTP Server"));
+ return;
+ }
+ smtp.quit();
+
+ // Close after sending email
+ QMessageBox::information(this, tr("Success"), tr("Succeed in Sending Mail to SMTP Server"));
+ deleteLater();
+}
diff --git a/src/ui/SettingsDialog.cpp b/src/ui/SettingsDialog.cpp
index 6bcdc971..d0a107c4 100755
--- a/src/ui/SettingsDialog.cpp
+++ b/src/ui/SettingsDialog.cpp
@@ -23,6 +23,8 @@
*/
#include "ui/SettingsDialog.h"
+#include "smtp/SmtpMime"
+#include "ui/WaitingDialog.h"
SettingsDialog::SettingsDialog(GpgME::GpgContext *ctx, QWidget *parent)
: QDialog(parent) {
@@ -30,14 +32,14 @@ SettingsDialog::SettingsDialog(GpgME::GpgContext *ctx, QWidget *parent)
tabWidget = new QTabWidget;
generalTab = new GeneralTab(mCtx);
appearanceTab = new AppearanceTab;
- mimeTab = new MimeTab;
+ sendMailTab = new SendMailTab;
keyserverTab = new KeyserverTab;
advancedTab = new AdvancedTab;
gpgPathsTab = new GpgPathsTab;
tabWidget->addTab(generalTab, tr("General"));
tabWidget->addTab(appearanceTab, tr("Appearance"));
- tabWidget->addTab(mimeTab, tr("PGP/Mime"));
+ tabWidget->addTab(sendMailTab, tr("Send Mail"));
tabWidget->addTab(keyserverTab, tr("Key Server"));
// tabWidget->addTab(gpgPathsTab, tr("Gpg paths"));
tabWidget->addTab(advancedTab, tr("Advanced"));
@@ -61,7 +63,7 @@ SettingsDialog::SettingsDialog(GpgME::GpgContext *ctx, QWidget *parent)
SLOT(slotSetRestartNeeded(bool)));
connect(appearanceTab, SIGNAL(signalRestartNeeded(bool)), this,
SLOT(slotSetRestartNeeded(bool)));
- connect(mimeTab, SIGNAL(signalRestartNeeded(bool)), this,
+ connect(sendMailTab, SIGNAL(signalRestartNeeded(bool)), this,
SLOT(slotSetRestartNeeded(bool)));
connect(keyserverTab, SIGNAL(signalRestartNeeded(bool)), this,
SLOT(slotSetRestartNeeded(bool)));
@@ -82,7 +84,7 @@ void SettingsDialog::slotSetRestartNeeded(bool needed) {
void SettingsDialog::slotAccept() {
generalTab->applySettings();
- mimeTab->applySettings();
+ sendMailTab->applySettings();
appearanceTab->applySettings();
keyserverTab->applySettings();
advancedTab->applySettings();
@@ -279,51 +281,53 @@ void GeneralTab::slotOwnKeyIdChanged() {
// Set ownKeyId to currently selected
}
-MimeTab::MimeTab(QWidget *parent)
+SendMailTab::SendMailTab(QWidget *parent)
: QWidget(parent), appPath(qApp->applicationDirPath()),
settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini",
QSettings::IniFormat) {
- /*****************************************
- * MIME-Parsing-Box
- *****************************************/
- auto *mimeQPBox = new QGroupBox(tr("Decode quoted printable"));
- auto *mimeQPBoxLayout = new QVBoxLayout();
- mimeQPCheckBox =
- new QCheckBox(tr("Try to recognize quoted printable."), this);
- mimeQPBoxLayout->addWidget(mimeQPCheckBox);
- mimeQPBox->setLayout(mimeQPBoxLayout);
-
- auto *mimeParseBox = new QGroupBox(tr("Parse PGP/MIME (Experimental)"));
- auto *mimeParseBoxLayout = new QVBoxLayout();
- mimeParseCheckBox = new QCheckBox(
- tr("Try to split attachments from PGP-MIME ecrypted messages."), this);
- mimeParseBoxLayout->addWidget(mimeParseCheckBox);
- mimeParseBox->setLayout(mimeParseBoxLayout);
-
- auto *mimeOpenAttachmentBox =
- new QGroupBox(tr("Open with external application (Experimental)"));
- auto *mimeOpenAttachmentBoxLayout = new QVBoxLayout();
- auto *mimeOpenAttachmentText = new QLabel(tr(
- "Open attachments with default application for the filetype.<br> "
- "There are at least two possible problems with this behaviour:"
- "<ol><li>File needs to be saved unencrypted to attachments folder.<br> "
- "Its your job to clean this folder.</li>"
- "<li>The external application may have its own temp files.</li></ol>"));
-
- // mimeOpenAttachmentBox->setDisabled(true);
- mimeOpenAttachmentCheckBox =
- new QCheckBox(tr("Enable opening with external applications."), this);
-
- mimeOpenAttachmentBoxLayout->addWidget(mimeOpenAttachmentText);
- mimeOpenAttachmentBoxLayout->addWidget(mimeOpenAttachmentCheckBox);
- mimeOpenAttachmentBox->setLayout(mimeOpenAttachmentBoxLayout);
- auto *mainLayout = new QVBoxLayout;
- mainLayout->addWidget(mimeParseBox);
- mainLayout->addWidget(mimeOpenAttachmentBox);
- mainLayout->addWidget(mimeQPBox);
- mainLayout->addStretch(1);
- setLayout(mainLayout);
+ enableCheckBox = new QCheckBox(tr("Enable"));
+ enableCheckBox->setTristate(false);
+
+ smtpAddress = new QLineEdit();
+ username = new QLineEdit();
+ password = new QLineEdit();
+ password->setEchoMode(QLineEdit::Password);
+
+ portSpin = new QSpinBox();
+ portSpin->setMinimum(1);
+ portSpin->setMaximum(65535);
+ connectionTypeComboBox = new QComboBox();
+ connectionTypeComboBox->addItem("None");
+ connectionTypeComboBox->addItem("SSL");
+ connectionTypeComboBox->addItem("TLS");
+ connectionTypeComboBox->addItem("STARTTLS");
+
+ defaultSender = new QLineEdit();;
+ checkConnectionButton = new QPushButton("Check Connection");
+
+ auto layout = new QGridLayout();
+ layout->addWidget(enableCheckBox, 0, 0);
+ layout->addWidget(new QLabel(tr("SMTP Address")), 1, 0);
+ layout->addWidget(smtpAddress, 1, 1, 1, 4);
+ layout->addWidget(new QLabel(tr("Username")), 2, 0);
+ layout->addWidget(username, 2, 1, 1, 4);
+ layout->addWidget(new QLabel(tr("Password")), 3, 0);
+ layout->addWidget(password, 3, 1, 1, 4);
+ layout->addWidget(new QLabel(tr("Port")), 4, 0);
+ layout->addWidget(portSpin, 4, 1, 1, 1);
+ layout->addWidget(new QLabel(tr("Connection Security")), 5, 0);
+ layout->addWidget(connectionTypeComboBox, 5, 1, 1, 1);
+
+ layout->addWidget(new QLabel(tr("Default Sender")), 6, 0);
+ layout->addWidget(defaultSender, 6, 1, 1, 4);
+ layout->addWidget(checkConnectionButton, 7, 0);
+
+ connect(enableCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotCheckBoxSetEnableDisable(int)));
+ connect(checkConnectionButton, SIGNAL(clicked(bool)), this, SLOT(slotCheckConnection()));
+
+
+ this->setLayout(layout);
setSettings();
}
@@ -332,30 +336,102 @@ MimeTab::MimeTab(QWidget *parent)
* and set the buttons and checkboxes
* appropriately
**********************************/
-void MimeTab::setSettings() {
-
- // MIME-Parsing
- if (settings.value("mime/parsemime").toBool())
- mimeParseCheckBox->setCheckState(Qt::Checked);
+void SendMailTab::setSettings() {
+
+ if (settings.value("sendMail/enable", false).toBool())
+ enableCheckBox->setCheckState(Qt::Checked);
+ else {
+ enableCheckBox->setCheckState(Qt::Unchecked);
+ smtpAddress->setDisabled(true);
+ username->setDisabled(true);
+ password->setDisabled(true);
+ portSpin->setDisabled(true);
+ connectionTypeComboBox->setDisabled(true);
+ defaultSender->setDisabled(true);
+ checkConnectionButton->setDisabled(true);
+ }
- // Qouted Printable
- if (settings.value("mime/parseQP", true).toBool())
- mimeQPCheckBox->setCheckState(Qt::Checked);
+ smtpAddress->setText(settings.value("sendMail/smtpAddress", QString()).toString());
+ username->setText(settings.value("sendMail/username", QString()).toString());
+ password->setText(settings.value("sendMail/password", QString()).toString());
+ portSpin->setValue(settings.value("sendMail/port", 25).toInt());
+ connectionTypeComboBox->setCurrentText(settings.value("sendMail/connectionType", "None").toString());
+ defaultSender->setText(settings.value("sendMail/defaultSender", QString()).toString());
- // Open Attachments with external app
- if (settings.value("mime/openAttachment").toBool())
- mimeOpenAttachmentCheckBox->setCheckState(Qt::Checked);
}
/***********************************
* get the values of the buttons and
* write them to settings-file
*************************************/
-void MimeTab::applySettings() {
- settings.setValue("mime/parsemime", mimeParseCheckBox->isChecked());
- settings.setValue("mime/parseQP", mimeQPCheckBox->isChecked());
- settings.setValue("mime/openAttachment",
- mimeOpenAttachmentCheckBox->isChecked());
+void SendMailTab::applySettings() {
+
+ settings.setValue("sendMail/smtpAddress", smtpAddress->text());
+ settings.setValue("sendMail/username", username->text());
+ settings.setValue("sendMail/password", password->text());
+ settings.setValue("sendMail/port", portSpin->value());
+ settings.setValue("sendMail/connectionType", connectionTypeComboBox->currentText());
+ settings.setValue("sendMail/defaultSender", defaultSender->text());
+
+ settings.setValue("sendMail/enable", enableCheckBox->isChecked());
+}
+
+void SendMailTab::slotCheckConnection() {
+
+ SmtpClient::ConnectionType connectionType = SmtpClient::ConnectionType::TcpConnection;
+
+ if (connectionTypeComboBox->currentText() == "SSL") {
+ connectionType = SmtpClient::ConnectionType::SslConnection;
+ } else if (connectionTypeComboBox->currentText() == "TLS") {
+ connectionType = SmtpClient::ConnectionType::TlsConnection;
+ } else if (connectionTypeComboBox->currentText() == "STARTTLS") {
+ connectionType = SmtpClient::ConnectionType::TlsConnection;
+ } else {
+ connectionType = SmtpClient::ConnectionType::TcpConnection;
+ }
+
+ SmtpClient smtp(smtpAddress->text(), portSpin->value(), connectionType);
+
+ // We need to set the username (your email address) and the password
+ // for smtp authentification.
+
+ smtp.setUser(username->text());
+ smtp.setPassword(password->text());
+
+ bool if_success = true;
+
+ if (!smtp.connectToHost()) {
+ QMessageBox::critical(this, tr("Fail"), tr("Fail to Connect SMTP Server"));
+ if_success = false;
+ }
+ if (if_success && !smtp.login()) {
+ QMessageBox::critical(this, tr("Fail"), tr("Fail to Login"));
+ if_success = false;
+ }
+
+ if (if_success)
+ QMessageBox::information(this, tr("Success"), tr("Succeed in connecting and login"));
+
+}
+
+void SendMailTab::slotCheckBoxSetEnableDisable(int state) {
+ if (state == Qt::Checked) {
+ smtpAddress->setEnabled(true);
+ username->setEnabled(true);
+ password->setEnabled(true);
+ portSpin->setEnabled(true);
+ connectionTypeComboBox->setEnabled(true);
+ defaultSender->setEnabled(true);
+ checkConnectionButton->setEnabled(true);
+ } else {
+ smtpAddress->setDisabled(true);
+ username->setDisabled(true);
+ password->setDisabled(true);
+ portSpin->setDisabled(true);
+ connectionTypeComboBox->setDisabled(true);
+ defaultSender->setDisabled(true);
+ checkConnectionButton->setDisabled(true);
+ }
}
AppearanceTab::AppearanceTab(QWidget *parent)
@@ -480,7 +556,7 @@ void AppearanceTab::setSettings() {
// infoBoardFontSize
auto infoBoardFontSize = settings.value("informationBoard/fontSize", 10).toInt();
- if(infoBoardFontSize < 9 || infoBoardFontSize > 18)
+ if (infoBoardFontSize < 9 || infoBoardFontSize > 18)
infoBoardFontSize = 10;
infoBoardFontSizeSpin->setValue(infoBoardFontSize);
}
diff --git a/src/ui/keygen/KeygenDialog.cpp b/src/ui/keygen/KeygenDialog.cpp
index b9fdae3f..8637a643 100644
--- a/src/ui/keygen/KeygenDialog.cpp
+++ b/src/ui/keygen/KeygenDialog.cpp
@@ -74,8 +74,7 @@ void KeyGenDialog::slotKeyGenAccept() {
* primary keys should have a reasonable expiration date (no more than 2 years in the future)
*/
if(dateEdit->dateTime() > QDateTime::currentDateTime().addYears(2)) {
-
- errorString.append(tr(" Expiration time no more than 2 years. "));
+ errorString.append(tr(" Expiration time no more than 2 years. \n"));
}
if (errorString.isEmpty()) {
diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp
index 0bddb9b2..8a4b786e 100644
--- a/src/ui/main_window/MainWindowSlotFunction.cpp
+++ b/src/ui/main_window/MainWindowSlotFunction.cpp
@@ -23,6 +23,7 @@
*/
#include "MainWindow.h"
+#include "ui/SendMailDialog.h"
void MainWindow::slotEncrypt() {
@@ -83,6 +84,19 @@ void MainWindow::slotEncrypt() {
else
infoBoard->slotRefresh(reportText, INFO_ERROR_WARN);
+ if (resultAnalyse->getStatus() >= 0) {
+ infoBoard->resetOptionActionsMenu();
+ infoBoard->addOptionalAction("Send Mail", [this]() {
+ if(settings.value("sendMail/enable", false).toBool())
+ new SendMailDialog(edit->curTextPage()->toPlainText(), this);
+ else {
+ QMessageBox::warning(nullptr,
+ tr("Function Disabled"),
+ tr("Please go to the settings interface to enable and configure this function."));
+ }
+ });
+ }
+
delete resultAnalyse;
} else if (edit->slotCurPageFileTreeView() != nullptr) {
this->slotFileEncrypt();
@@ -344,6 +358,19 @@ void MainWindow::slotEncryptSign() {
else
infoBoard->slotRefresh(reportText, INFO_ERROR_WARN);
+ if (status >= 0) {
+ infoBoard->resetOptionActionsMenu();
+ infoBoard->addOptionalAction("Send Mail", [this]() {
+ if(settings.value("sendMail/enable", false).toBool())
+ new SendMailDialog(edit->curTextPage()->toPlainText(), this);
+ else {
+ QMessageBox::warning(nullptr,
+ tr("Function Disabled"),
+ tr("Please go to the settings interface to enable and configure this function."));
+ }
+ });
+ }
+
delete resultAnalyseEncr;
delete resultAnalyseSign;
} else if (edit->slotCurPageFileTreeView() != nullptr) {