aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--attachments.cpp2
-rw-r--r--attachmenttablemodel.cpp8
-rw-r--r--gpgwin.cpp37
-rw-r--r--mime.cpp19
-rw-r--r--mime.h36
-rw-r--r--release/ts/gpg4usb_en.ts166
-rw-r--r--release/ts/gpg4usb_es.ts140
-rw-r--r--release/ts/gpg4usb_fr.ts166
-rwxr-xr-xsettingsdialog.cpp6
-rwxr-xr-xsettingsdialog.h1
10 files changed, 340 insertions, 241 deletions
diff --git a/attachments.cpp b/attachments.cpp
index 3debb91..5c08bf1 100644
--- a/attachments.cpp
+++ b/attachments.cpp
@@ -88,7 +88,7 @@ void Attachments::saveFile()
// only singe-selection possible now: TODO: foreach
MimePart mp = table->getMimePart(indexes.at(0).row());
- QString filename = mp.getParam("Content-Type", "name");
+ QString filename = mp.header.getParam("Content-Type", "name");
// TODO: find out why filename is quoted
filename.chop(1);
filename.remove(0, 1);
diff --git a/attachmenttablemodel.cpp b/attachmenttablemodel.cpp
index 2ef3821..9389b7e 100644
--- a/attachmenttablemodel.cpp
+++ b/attachmenttablemodel.cpp
@@ -77,9 +77,9 @@ QVariant AttachmentTableModel::data(const QModelIndex &index, int role) const
MimePart mp = listOfMimeparts.at(index.row());
if (index.column() == 0)
- return mp.getParam("Content-Type", "name");
+ return mp.header.getParam("Content-Type", "name");
if (index.column() == 1)
- return mp.getValue("Content-Type");
+ return mp.header.getValue("Content-Type");
}
@@ -88,10 +88,10 @@ QVariant AttachmentTableModel::data(const QModelIndex &index, int role) const
if (role == Qt::DecorationRole && index.column() == 0) {
MimePart mp = listOfMimeparts.at(index.row());
QString icon;
- if (mp.getValue("Content-Type").startsWith("image")) {
+ if (mp.header.getValue("Content-Type").startsWith("image")) {
icon = iconPath + "/mimetypes/image-x-generic.png";
} else {
- icon = mp.getValue("Content-Type").replace("/", "-");
+ icon = mp.header.getValue("Content-Type").replace("/", "-");
icon = iconPath + "/mimetypes/" + icon + ".png";
}
if (!QFile::exists(icon)) icon = iconPath + "/mimetypes/unknown.png";
diff --git a/gpgwin.cpp b/gpgwin.cpp
index 22dbe89..33c31fa 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -520,10 +520,35 @@ void GpgWin::decrypt()
preventNoDataErr(&text);
mCtx->decrypt(text, tmp);
if (!tmp->isEmpty()) {
- // is it mime?
- if (settings.value("mime/parseMime").toBool()) {
- parseMime(tmp);
+
+ /**
+ * 1) is it mime (content-type:)
+ * 2) parse header
+ * 2) choose action depending on content-type
+ */
+
+ if(Mime::isMime(tmp)) {
+ Header header = Mime::getHeader(tmp);
+
+ // is it multipart, is multipart-parsing enabled
+ if(header.getValue("Content-Type") == "multipart/mixed"
+ && settings.value("mime/parseMime").toBool()) {
+
+ parseMime(tmp);
+
+ } else if(header.getValue("Content-Type") == "text/plain"
+ && settings.value("mime/parseQP").toBool()){
+
+ if (header.getValue("Content-Transfer-Encoding") == "quoted-printable") {
+ QByteArray *decode = new QByteArray();
+ Mime::quotedPrintableDecode(*tmp, *decode);
+ //TODO: remove header
+ tmp = decode;
+
+ }
+ }
}
+
edit->setPlainText(QString::fromUtf8(*tmp));
}
}
@@ -546,11 +571,11 @@ void GpgWin::parseMime(QByteArray *message)
Mime *mime = new Mime(message);
foreach(MimePart tmp, mime->parts()) {
- if (tmp.getValue("Content-Type") == "text/plain"
- && tmp.getValue("Content-Transfer-Encoding") != "base64") {
+ if (tmp.header.getValue("Content-Type") == "text/plain"
+ && tmp.header.getValue("Content-Transfer-Encoding") != "base64") {
QByteArray body;
- if (tmp.getValue("Content-Transfer-Encoding") == "quoted-printable") {
+ if (tmp.header.getValue("Content-Transfer-Encoding") == "quoted-printable") {
Mime::quotedPrintableDecode(tmp.body, body);
} else {
diff --git a/mime.cpp b/mime.cpp
index f2afd65..50c1b3d 100644
--- a/mime.cpp
+++ b/mime.cpp
@@ -113,7 +113,7 @@ void Mime::splitParts(QByteArray *message)
}
}
-QList<HeadElem> Mime::parseHeader(QByteArray *header)
+Header Mime::parseHeader(QByteArray *header)
{
QList<HeadElem> ret;
@@ -144,7 +144,13 @@ QList<HeadElem> Mime::parseHeader(QByteArray *header)
}
ret.append(elem);
}
- return ret;
+ return Header(ret);
+}
+
+Header Mime::getHeader(const QByteArray *message) {
+ int headEnd = message->indexOf("\n\n");
+ QByteArray header = message->mid(0, headEnd);
+ return parseHeader(&header);
}
bool Mime::isMultipart(QByteArray *message)
@@ -152,6 +158,15 @@ bool Mime::isMultipart(QByteArray *message)
return message->startsWith("Content-Type: multipart/mixed;");
}
+/**
+ * if Content-Type is specified, it should be mime
+ *
+ */
+bool Mime::isMime(const QByteArray *message)
+{
+ return message->startsWith("Content-Type:");
+}
+
/***
* quotedPrintableDecode copied from KCodecs, where it is stated:
diff --git a/mime.h b/mime.h
index 7ce4162..b6268e3 100644
--- a/mime.h
+++ b/mime.h
@@ -41,14 +41,23 @@ public:
};
-class MimePart
+class Header
{
public:
- QList<HeadElem> header;
- QByteArray body;
+ QList<HeadElem> headElems;
+
+ Header() {}
+
+ Header(QList <HeadElem> heads) {
+ headElems = heads;
+ }
+
+ void setHeader(QList <HeadElem> heads) {
+ headElems = heads;
+ }
QString getValue(QString key) {
- foreach(HeadElem tmp, header) {
+ foreach(HeadElem tmp, headElems) {
//qDebug() << "gv: " << tmp.name << ":" << tmp.value;
if (tmp.name == key)
return tmp.value;
@@ -57,7 +66,7 @@ public:
}
QHash<QString, QString> getParams(QString key) {
- foreach(HeadElem tmp, header) {
+ foreach(HeadElem tmp, headElems) {
//qDebug() << "gv: " << tmp.name << ":" << tmp.value;
if (tmp.name == key)
//return tmp.value;
@@ -67,7 +76,7 @@ public:
}
QString getParam(QString key, QString pKey) {
- foreach(HeadElem tmp, header) {
+ foreach(HeadElem tmp, headElems) {
//qDebug() << "gv: " << tmp.name << ":" << tmp.value;
if (tmp.name == key)
return tmp.params.value(pKey);
@@ -75,6 +84,17 @@ public:
return "";
}
+
+};
+
+class MimePart
+{
+public:
+ Header header;
+ QByteArray body;
+
+
+
/* QDataStream & operator<<(QDataStream& Stream, const Part& P)
{
foreach(HeadElem tmp, header) {
@@ -91,11 +111,13 @@ public:
Mime(QByteArray *message); // Constructor
~Mime(); // Destructor
static bool isMultipart(QByteArray *message);
+ static bool isMime(const QByteArray *message);
QList<MimePart> parts() {
return mPartList;
}
void splitParts(QByteArray *message);
- QList<HeadElem> parseHeader(QByteArray *header);
+ static Header getHeader(const QByteArray *message);
+ static Header parseHeader(QByteArray *header);
static void quotedPrintableDecode(const QByteArray& in, QByteArray& out);
private:
diff --git a/release/ts/gpg4usb_en.ts b/release/ts/gpg4usb_en.ts
index 514e025..4a3620e 100644
--- a/release/ts/gpg4usb_en.ts
+++ b/release/ts/gpg4usb_en.ts
@@ -107,367 +107,377 @@
<context>
<name>GpgWin</name>
<message>
- <location filename="../../gpgwin.cpp" line="105"/>
+ <location filename="../../gpgwin.cpp" line="125"/>
<source>&amp;Open...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="108"/>
+ <location filename="../../gpgwin.cpp" line="128"/>
<source>Open an existing file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="111"/>
+ <location filename="../../gpgwin.cpp" line="131"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="114"/>
+ <location filename="../../gpgwin.cpp" line="134"/>
<source>Save the current File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="117"/>
+ <location filename="../../gpgwin.cpp" line="137"/>
<source>Save &amp;As</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="120"/>
+ <location filename="../../gpgwin.cpp" line="140"/>
<source>Save the current File as...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="123"/>
+ <location filename="../../gpgwin.cpp" line="143"/>
<source>&amp;Print</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="126"/>
+ <location filename="../../gpgwin.cpp" line="146"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="129"/>
+ <location filename="../../gpgwin.cpp" line="149"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="132"/>
+ <location filename="../../gpgwin.cpp" line="152"/>
<source>Quit Program</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="137"/>
+ <location filename="../../gpgwin.cpp" line="157"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="139"/>
+ <location filename="../../gpgwin.cpp" line="159"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="142"/>
+ <location filename="../../gpgwin.cpp" line="162"/>
+ <source>&amp;Redo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="164"/>
+ <source>Redo Last Edit Action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="167"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="145"/>
+ <location filename="../../gpgwin.cpp" line="170"/>
<source>Paste Text From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="148"/>
+ <location filename="../../gpgwin.cpp" line="173"/>
<source>Cu&amp;t</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="151"/>
+ <location filename="../../gpgwin.cpp" line="176"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="155"/>
+ <location filename="../../gpgwin.cpp" line="180"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="158"/>
+ <location filename="../../gpgwin.cpp" line="183"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="162"/>
+ <location filename="../../gpgwin.cpp" line="187"/>
<source>Select &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="165"/>
+ <location filename="../../gpgwin.cpp" line="190"/>
<source>Select the whole text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="169"/>
+ <location filename="../../gpgwin.cpp" line="194"/>
<source>Open settings dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="175"/>
+ <location filename="../../gpgwin.cpp" line="200"/>
<source>&amp;Encrypt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="178"/>
+ <location filename="../../gpgwin.cpp" line="203"/>
<source>Encrypt Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="181"/>
+ <location filename="../../gpgwin.cpp" line="206"/>
<source>&amp;Decrypt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="184"/>
+ <location filename="../../gpgwin.cpp" line="209"/>
<source>Decrypt Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="187"/>
+ <location filename="../../gpgwin.cpp" line="212"/>
<source>&amp;File Encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="189"/>
+ <location filename="../../gpgwin.cpp" line="214"/>
<source>Encrypt/Decrypt File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="196"/>
+ <location filename="../../gpgwin.cpp" line="221"/>
<source>Import New Key From File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="201"/>
+ <location filename="../../gpgwin.cpp" line="226"/>
<source>Import New Key From Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="209"/>
+ <location filename="../../gpgwin.cpp" line="234"/>
<source>Key Management</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="211"/>
+ <location filename="../../gpgwin.cpp" line="236"/>
<source>Open Keymanagement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="216"/>
+ <location filename="../../gpgwin.cpp" line="241"/>
<source>Open Import New Key Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="221"/>
+ <location filename="../../gpgwin.cpp" line="246"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="223"/>
+ <location filename="../../gpgwin.cpp" line="248"/>
<source>Show the application&apos;s About box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="194"/>
- <location filename="../../gpgwin.cpp" line="240"/>
- <location filename="../../gpgwin.cpp" line="632"/>
+ <location filename="../../gpgwin.cpp" line="219"/>
+ <location filename="../../gpgwin.cpp" line="265"/>
+ <location filename="../../gpgwin.cpp" line="638"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="248"/>
+ <location filename="../../gpgwin.cpp" line="273"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="272"/>
+ <location filename="../../gpgwin.cpp" line="300"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="446"/>
+ <location filename="../../gpgwin.cpp" line="452"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="233"/>
+ <location filename="../../gpgwin.cpp" line="258"/>
<source>Append Selected Key(s) To Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="168"/>
+ <location filename="../../gpgwin.cpp" line="193"/>
<source>Se&amp;ttings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="226"/>
+ <location filename="../../gpgwin.cpp" line="251"/>
<source>Online &amp;Tutorial</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="228"/>
+ <location filename="../../gpgwin.cpp" line="253"/>
<source>Open Online Tutorial</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="234"/>
+ <location filename="../../gpgwin.cpp" line="259"/>
<source>Append The Selected Keys To Text in Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="262"/>
+ <location filename="../../gpgwin.cpp" line="290"/>
<source>&amp;Keys</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="263"/>
+ <location filename="../../gpgwin.cpp" line="291"/>
<source>&amp;Import Key From...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="270"/>
+ <location filename="../../gpgwin.cpp" line="298"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="299"/>
- <location filename="../../gpgwin.cpp" line="472"/>
+ <location filename="../../gpgwin.cpp" line="327"/>
+ <location filename="../../gpgwin.cpp" line="478"/>
<source>Ready</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="306"/>
+ <location filename="../../gpgwin.cpp" line="334"/>
<source>Encrypt for:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="314"/>
+ <location filename="../../gpgwin.cpp" line="342"/>
<source>Attached files:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="391"/>
- <location filename="../../gpgwin.cpp" line="431"/>
+ <location filename="../../gpgwin.cpp" line="397"/>
+ <location filename="../../gpgwin.cpp" line="437"/>
<source>Application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="392"/>
+ <location filename="../../gpgwin.cpp" line="398"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="404"/>
+ <location filename="../../gpgwin.cpp" line="410"/>
<source>File loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="419"/>
+ <location filename="../../gpgwin.cpp" line="425"/>
<source>%1[*] - %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="432"/>
+ <location filename="../../gpgwin.cpp" line="438"/>
<source>The document has been modified.
Do you want to save your changes?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="447"/>
+ <location filename="../../gpgwin.cpp" line="453"/>
<source>Cannot write file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="456"/>
+ <location filename="../../gpgwin.cpp" line="462"/>
<source>Saved &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Key Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>All Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="599"/>
+ <location filename="../../gpgwin.cpp" line="605"/>
<source>couldn&apos;t open file: </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="199"/>
- <location filename="../../gpgwin.cpp" line="633"/>
+ <location filename="../../gpgwin.cpp" line="224"/>
+ <location filename="../../gpgwin.cpp" line="639"/>
<source>&amp;Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="204"/>
- <location filename="../../gpgwin.cpp" line="634"/>
+ <location filename="../../gpgwin.cpp" line="229"/>
+ <location filename="../../gpgwin.cpp" line="640"/>
<source>&amp;Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="206"/>
+ <location filename="../../gpgwin.cpp" line="231"/>
<source>Import New Key From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="214"/>
- <location filename="../../gpgwin.cpp" line="623"/>
+ <location filename="../../gpgwin.cpp" line="239"/>
+ <location filename="../../gpgwin.cpp" line="629"/>
<source>Import Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="256"/>
+ <location filename="../../gpgwin.cpp" line="284"/>
<source>&amp;Crypt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="279"/>
+ <location filename="../../gpgwin.cpp" line="307"/>
<source>Crypt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="285"/>
+ <location filename="../../gpgwin.cpp" line="313"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="290"/>
+ <location filename="../../gpgwin.cpp" line="318"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="478"/>
+ <location filename="../../gpgwin.cpp" line="484"/>
<source>About </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="481"/>
+ <location filename="../../gpgwin.cpp" line="487"/>
<source>&lt;center&gt;This Application allows you to do simple&lt;br&gt;encryption/decryption of your text-message or file.&lt;br&gt;It&apos;s licensed under the GPL v2.0&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt;Translation:&lt;/b&gt;&lt;br&gt;Alessandro (pt_br), Alex (fr), Kirill (ru), Viriato (es)&lt;br&gt;&lt;br&gt;If you have any questions and/or&lt;br&gt;suggestions, contact us at&lt;br&gt;gpg4usb at cpunk.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;or feel free to meet us in our xmpp-channel:&lt;br&gt;gpg4usb at conference.jabber.ccc.de&lt;/center&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="631"/>
+ <location filename="../../gpgwin.cpp" line="637"/>
<source>Import Key From...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/release/ts/gpg4usb_es.ts b/release/ts/gpg4usb_es.ts
index a8b162b..9afb72d 100644
--- a/release/ts/gpg4usb_es.ts
+++ b/release/ts/gpg4usb_es.ts
@@ -190,6 +190,16 @@
</message>
<message>
<location filename="../../gpgwin.cpp" line="162"/>
+ <source>&amp;Redo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="164"/>
+ <source>Redo Last Edit Action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="167"/>
<source>&amp;Paste</source>
<translation>&amp;Pegar</translation>
</message>
@@ -198,12 +208,12 @@
<translation type="obsolete">Crtl+V</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="165"/>
+ <location filename="../../gpgwin.cpp" line="170"/>
<source>Paste Text From Clipboard</source>
<translation>Pegar Texto desde Portapapeles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="168"/>
+ <location filename="../../gpgwin.cpp" line="173"/>
<source>Cu&amp;t</source>
<translation>Corta&amp;r</translation>
</message>
@@ -212,12 +222,12 @@
<translation type="obsolete">Crtl+X</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="171"/>
+ <location filename="../../gpgwin.cpp" line="176"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation>Cortar contenido seleccion actual al portapapeles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="175"/>
+ <location filename="../../gpgwin.cpp" line="180"/>
<source>&amp;Copy</source>
<translation>&amp;Copiar</translation>
</message>
@@ -226,12 +236,12 @@
<translation type="obsolete">Crtl+C</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="178"/>
+ <location filename="../../gpgwin.cpp" line="183"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation>Copiar contenido seleccion actual al portapapeles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="182"/>
+ <location filename="../../gpgwin.cpp" line="187"/>
<source>Select &amp;All</source>
<translation>Seleccionar &amp;Todo</translation>
</message>
@@ -240,22 +250,22 @@
<translation type="obsolete">Crtl+A</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="185"/>
+ <location filename="../../gpgwin.cpp" line="190"/>
<source>Select the whole text</source>
<translation>Seleccionar todo el texto</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="188"/>
+ <location filename="../../gpgwin.cpp" line="193"/>
<source>Se&amp;ttings</source>
<translation>Con&amp;figuracion</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="189"/>
+ <location filename="../../gpgwin.cpp" line="194"/>
<source>Open settings dialog</source>
<translation>Abrir dialogo configuracion</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="195"/>
+ <location filename="../../gpgwin.cpp" line="200"/>
<source>&amp;Encrypt</source>
<translation>&amp;Cifrar</translation>
</message>
@@ -264,12 +274,12 @@
<translation type="obsolete">Crtl+E</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="198"/>
+ <location filename="../../gpgwin.cpp" line="203"/>
<source>Encrypt Message</source>
<translation>Cifrar Mensaje</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="201"/>
+ <location filename="../../gpgwin.cpp" line="206"/>
<source>&amp;Decrypt</source>
<translation>&amp;Descifrar</translation>
</message>
@@ -278,220 +288,220 @@
<translation type="obsolete">Crtl+D</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="204"/>
+ <location filename="../../gpgwin.cpp" line="209"/>
<source>Decrypt Message</source>
<translation>Descifrar Mensaje</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="207"/>
+ <location filename="../../gpgwin.cpp" line="212"/>
<source>&amp;File Encryption</source>
<translation>&amp;Cifrado Archivo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="209"/>
+ <location filename="../../gpgwin.cpp" line="214"/>
<source>Encrypt/Decrypt File</source>
<translation>Cifrar / Descifrar Archivo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="214"/>
- <location filename="../../gpgwin.cpp" line="260"/>
- <location filename="../../gpgwin.cpp" line="632"/>
+ <location filename="../../gpgwin.cpp" line="219"/>
+ <location filename="../../gpgwin.cpp" line="265"/>
+ <location filename="../../gpgwin.cpp" line="638"/>
<source>&amp;File</source>
<translation>&amp;Archivo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="216"/>
+ <location filename="../../gpgwin.cpp" line="221"/>
<source>Import New Key From File</source>
<translation>Importar Nueva Llave Desde Archivo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="219"/>
- <location filename="../../gpgwin.cpp" line="633"/>
+ <location filename="../../gpgwin.cpp" line="224"/>
+ <location filename="../../gpgwin.cpp" line="639"/>
<source>&amp;Editor</source>
<translation>&amp;Editor</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="221"/>
+ <location filename="../../gpgwin.cpp" line="226"/>
<source>Import New Key From Editor</source>
<translation>Importar Nueva Llave Desde Editor</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="224"/>
- <location filename="../../gpgwin.cpp" line="634"/>
+ <location filename="../../gpgwin.cpp" line="229"/>
+ <location filename="../../gpgwin.cpp" line="640"/>
<source>&amp;Clipboard</source>
<translation>&amp;Portapapeles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="226"/>
+ <location filename="../../gpgwin.cpp" line="231"/>
<source>Import New Key From Clipboard</source>
<translation>Importar Nueva Llave Desde Portapapeles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="229"/>
+ <location filename="../../gpgwin.cpp" line="234"/>
<source>Key Management</source>
<translation>Administar Llaves</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="231"/>
+ <location filename="../../gpgwin.cpp" line="236"/>
<source>Open Keymanagement</source>
<translation>Abrir Administrar Llaves</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="234"/>
- <location filename="../../gpgwin.cpp" line="623"/>
+ <location filename="../../gpgwin.cpp" line="239"/>
+ <location filename="../../gpgwin.cpp" line="629"/>
<source>Import Key</source>
<translation>Importar Llave</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="236"/>
+ <location filename="../../gpgwin.cpp" line="241"/>
<source>Open Import New Key Dialog</source>
<translation>Abrir Dialogo Importar Nueva Llave</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="241"/>
+ <location filename="../../gpgwin.cpp" line="246"/>
<source>&amp;About</source>
<translation>&amp;Acerca de</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="243"/>
+ <location filename="../../gpgwin.cpp" line="248"/>
<source>Show the application&apos;s About box</source>
<translation>Mostrar caja Acerca de programa</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="246"/>
+ <location filename="../../gpgwin.cpp" line="251"/>
<source>Online &amp;Tutorial</source>
<translation>Tutorial &amp;Online</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="248"/>
+ <location filename="../../gpgwin.cpp" line="253"/>
<source>Open Online Tutorial</source>
<translation>Abrir Tutorial Online</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="253"/>
+ <location filename="../../gpgwin.cpp" line="258"/>
<source>Append Selected Key(s) To Text</source>
<translation>Adjuntar Llave(s) Seleccionadas Al Texto</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="254"/>
+ <location filename="../../gpgwin.cpp" line="259"/>
<source>Append The Selected Keys To Text in Editor</source>
<translation>Adjuntar Llaves Seleccionadas Al Texto en Editor</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="268"/>
+ <location filename="../../gpgwin.cpp" line="273"/>
<source>&amp;Edit</source>
<translation>&amp;Editar</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="278"/>
+ <location filename="../../gpgwin.cpp" line="284"/>
<source>&amp;Crypt</source>
<translation>&amp;Cifrar</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="284"/>
+ <location filename="../../gpgwin.cpp" line="290"/>
<source>&amp;Keys</source>
<translation>&amp;Llaves</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="285"/>
+ <location filename="../../gpgwin.cpp" line="291"/>
<source>&amp;Import Key From...</source>
<translation>&amp;Importar Llave Desde...</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="292"/>
+ <location filename="../../gpgwin.cpp" line="298"/>
<source>&amp;View</source>
<translation>&amp;Ver</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="294"/>
+ <location filename="../../gpgwin.cpp" line="300"/>
<source>&amp;Help</source>
<translation>&amp;Ayuda</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="301"/>
+ <location filename="../../gpgwin.cpp" line="307"/>
<source>Crypt</source>
<translation>Cifrar</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="307"/>
+ <location filename="../../gpgwin.cpp" line="313"/>
<source>Key</source>
<translation>Llave</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="312"/>
+ <location filename="../../gpgwin.cpp" line="318"/>
<source>Edit</source>
<translation>Editar</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="321"/>
- <location filename="../../gpgwin.cpp" line="472"/>
+ <location filename="../../gpgwin.cpp" line="327"/>
+ <location filename="../../gpgwin.cpp" line="478"/>
<source>Ready</source>
<translation>Listo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="328"/>
+ <location filename="../../gpgwin.cpp" line="334"/>
<source>Encrypt for:</source>
<translation>Cifrar para:</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="336"/>
+ <location filename="../../gpgwin.cpp" line="342"/>
<source>Attached files:</source>
<translation>Archivos Adjuntos:</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="391"/>
- <location filename="../../gpgwin.cpp" line="431"/>
+ <location filename="../../gpgwin.cpp" line="397"/>
+ <location filename="../../gpgwin.cpp" line="437"/>
<source>Application</source>
<translation>Programa</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="392"/>
+ <location filename="../../gpgwin.cpp" line="398"/>
<source>Cannot read file %1:
%2.</source>
<translation>No puedo leer archivo %1:
%2.</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="404"/>
+ <location filename="../../gpgwin.cpp" line="410"/>
<source>File loaded</source>
<translation>Archivo cargado</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="419"/>
+ <location filename="../../gpgwin.cpp" line="425"/>
<source>%1[*] - %2</source>
<translation>%1[*] - %2</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="432"/>
+ <location filename="../../gpgwin.cpp" line="438"/>
<source>The document has been modified.
Do you want to save your changes?</source>
<translation>El documento ha sido modificado.
Quiere usted guardar los cambios?</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="446"/>
+ <location filename="../../gpgwin.cpp" line="452"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="447"/>
+ <location filename="../../gpgwin.cpp" line="453"/>
<source>Cannot write file %1:
%2.</source>
<translation>No puedo escribir archivo %1:
%2.</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="456"/>
+ <location filename="../../gpgwin.cpp" line="462"/>
<source>Saved &apos;%1&apos;</source>
<translation>Guardado &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="478"/>
+ <location filename="../../gpgwin.cpp" line="484"/>
<source>About </source>
<translation>Acerca de&apos;</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="481"/>
+ <location filename="../../gpgwin.cpp" line="487"/>
<source>&lt;center&gt;This Application allows you to do simple&lt;br&gt;encryption/decryption of your text-message or file.&lt;br&gt;It&apos;s licensed under the GPL v2.0&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt;Translation:&lt;/b&gt;&lt;br&gt;Alessandro (pt_br), Alex (fr), Kirill (ru), Viriato (es)&lt;br&gt;&lt;br&gt;If you have any questions and/or&lt;br&gt;suggestions, contact us at&lt;br&gt;gpg4usb at cpunk.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;or feel free to meet us in our xmpp-channel:&lt;br&gt;gpg4usb at conference.jabber.ccc.de&lt;/center&gt;</source>
<translatorcomment>duplicate entry</translatorcomment>
<translation>&lt;center&gt;Este Programa le permite hacer un facil&lt;br&gt;cifrado/descifrado de sus mensajes de texto o archivos.&lt;br&gt;Esta licenciado bajo el GPL v2.0&lt;br&gt;&lt;br&gt;&lt;b&gt;Programadores:&lt;/b&gt;&lt;br&gt;Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt;Traduccion:&lt;/b&gt;&lt;br&gt;Alessandro (pt_br), Alex (fr), Kirill (ru), Viriato13 (es)&lt;br&gt;&lt;br&gt;Si usted tiene alguna pregunta y/ o &lt;br&gt;sugerencia, contacte con nosotros en&lt;br&gt;gpg4usb en cpunk.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;o puede encontrarnos en nuestro xmpp-channel:&lt;br&gt;gpg4usb en conference.jabber.ccc.de&lt;/center&gt;</translation>
@@ -501,27 +511,27 @@ Quiere usted guardar los cambios?</translation>
<translation type="obsolete">&lt;center&gt;Este Programa le permite hacer un facil&lt;br&gt;cifrado/descifrado de sus mensajes de texto o archivos.&lt;br&gt;Esta licenciado bajo el GPL v2.0&lt;br&gt;&lt;br&gt;&lt;b&gt;Programadores:&lt;/b&gt;&lt;br&gt;Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt;Traduccion:&lt;/b&gt;&lt;br&gt;Alessandro (pt_br), Alex (fr), Kirill (ru), Viriato13 (es)&lt;br&gt;&lt;br&gt;Si usted tiene alguna pregunta y/ o &lt;br&gt;sugerencia, contacte con nosotros en&lt;br&gt;gpg4usb en cpunk.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;o puede encontrarnos en nuestro xmpp-channel:&lt;br&gt;gpg4usb en conference.jabber.ccc.de&lt;/center&gt;</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Open Key</source>
<translation>Abrir Llave</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Key Files</source>
<translation>Archivos de Llaves</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>All Files</source>
<translation>Todos Archivos</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="599"/>
+ <location filename="../../gpgwin.cpp" line="605"/>
<source>couldn&apos;t open file: </source>
<translation>no se pudo abrir el archivo:</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="631"/>
+ <location filename="../../gpgwin.cpp" line="637"/>
<source>Import Key From...</source>
<translation>Importar Llave Desde...</translation>
</message>
diff --git a/release/ts/gpg4usb_fr.ts b/release/ts/gpg4usb_fr.ts
index e992d65..bd8878a 100644
--- a/release/ts/gpg4usb_fr.ts
+++ b/release/ts/gpg4usb_fr.ts
@@ -119,344 +119,354 @@
<context>
<name>GpgWin</name>
<message>
- <location filename="../../gpgwin.cpp" line="105"/>
+ <location filename="../../gpgwin.cpp" line="125"/>
<source>&amp;Open...</source>
<translation>&amp;Ouvrir...</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="108"/>
+ <location filename="../../gpgwin.cpp" line="128"/>
<source>Open an existing file</source>
<translation>Ouvrir un fichier existant</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="111"/>
+ <location filename="../../gpgwin.cpp" line="131"/>
<source>&amp;Save</source>
<translation>&amp;Enregistrer</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="114"/>
+ <location filename="../../gpgwin.cpp" line="134"/>
<source>Save the current File</source>
<translation>Enregistrer le fichier en cours</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="117"/>
+ <location filename="../../gpgwin.cpp" line="137"/>
<source>Save &amp;As</source>
<translation>Enregistrer &amp;sous</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="120"/>
+ <location filename="../../gpgwin.cpp" line="140"/>
<source>Save the current File as...</source>
<translation>Enregistrer le fichier en cours sous...</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="123"/>
+ <location filename="../../gpgwin.cpp" line="143"/>
<source>&amp;Print</source>
<translation>&amp;Imprimer</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="126"/>
+ <location filename="../../gpgwin.cpp" line="146"/>
<source>Print Document</source>
<translation>Imprimer fichier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="129"/>
+ <location filename="../../gpgwin.cpp" line="149"/>
<source>&amp;Quit</source>
<translation>&amp;Fermer</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="132"/>
+ <location filename="../../gpgwin.cpp" line="152"/>
<source>Quit Program</source>
<translation>Fermer programme</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="137"/>
+ <location filename="../../gpgwin.cpp" line="157"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="139"/>
+ <location filename="../../gpgwin.cpp" line="159"/>
<source>Undo Last Edit Action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="142"/>
+ <location filename="../../gpgwin.cpp" line="162"/>
+ <source>&amp;Redo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="164"/>
+ <source>Redo Last Edit Action</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../../gpgwin.cpp" line="167"/>
<source>&amp;Paste</source>
<translation>&amp;Coller</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="145"/>
+ <location filename="../../gpgwin.cpp" line="170"/>
<source>Paste Text From Clipboard</source>
<translation>Coller depuis le presse-papiers</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="148"/>
+ <location filename="../../gpgwin.cpp" line="173"/>
<source>Cu&amp;t</source>
<translation>Cou&amp;per</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="151"/>
+ <location filename="../../gpgwin.cpp" line="176"/>
<source>Cut the current selection&apos;s contents to the clipboard</source>
<translation>Couper et ajouter dans le presse papiers</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="155"/>
+ <location filename="../../gpgwin.cpp" line="180"/>
<source>&amp;Copy</source>
<translation>&amp;Copier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="158"/>
+ <location filename="../../gpgwin.cpp" line="183"/>
<source>Copy the current selection&apos;s contents to the clipboard</source>
<translation>Copier et ajouter dans le presse papiers</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="162"/>
+ <location filename="../../gpgwin.cpp" line="187"/>
<source>Select &amp;All</source>
<translation>Selectionner &amp;tout</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="165"/>
+ <location filename="../../gpgwin.cpp" line="190"/>
<source>Select the whole text</source>
<translation>Selectionner tout le texte</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="168"/>
+ <location filename="../../gpgwin.cpp" line="193"/>
<source>Se&amp;ttings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="169"/>
+ <location filename="../../gpgwin.cpp" line="194"/>
<source>Open settings dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="175"/>
+ <location filename="../../gpgwin.cpp" line="200"/>
<source>&amp;Encrypt</source>
<translation>&amp;Crypter</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="178"/>
+ <location filename="../../gpgwin.cpp" line="203"/>
<source>Encrypt Message</source>
<translation>Crypter message</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="181"/>
+ <location filename="../../gpgwin.cpp" line="206"/>
<source>&amp;Decrypt</source>
<translation>&amp;Decrypter</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="184"/>
+ <location filename="../../gpgwin.cpp" line="209"/>
<source>Decrypt Message</source>
<translation>Decrypter message</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="187"/>
+ <location filename="../../gpgwin.cpp" line="212"/>
<source>&amp;File Encryption</source>
<translation>Cryptage du &amp;fichier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="189"/>
+ <location filename="../../gpgwin.cpp" line="214"/>
<source>Encrypt/Decrypt File</source>
<translation>Crypter/Decrypter fichier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="194"/>
- <location filename="../../gpgwin.cpp" line="240"/>
- <location filename="../../gpgwin.cpp" line="632"/>
+ <location filename="../../gpgwin.cpp" line="219"/>
+ <location filename="../../gpgwin.cpp" line="265"/>
+ <location filename="../../gpgwin.cpp" line="638"/>
<source>&amp;File</source>
<translatorcomment>&amp;Fichier</translatorcomment>
<translation></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="196"/>
+ <location filename="../../gpgwin.cpp" line="221"/>
<source>Import New Key From File</source>
<translation>Importer nouvelle cle depuis le fichier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="199"/>
- <location filename="../../gpgwin.cpp" line="633"/>
+ <location filename="../../gpgwin.cpp" line="224"/>
+ <location filename="../../gpgwin.cpp" line="639"/>
<source>&amp;Editor</source>
<translation>&amp;Editeur</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="201"/>
+ <location filename="../../gpgwin.cpp" line="226"/>
<source>Import New Key From Editor</source>
<translation>Importer nouvelle cle depuis l&apos;editeur</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="204"/>
- <location filename="../../gpgwin.cpp" line="634"/>
+ <location filename="../../gpgwin.cpp" line="229"/>
+ <location filename="../../gpgwin.cpp" line="640"/>
<source>&amp;Clipboard</source>
<translation>&amp;Presse papiers</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="206"/>
+ <location filename="../../gpgwin.cpp" line="231"/>
<source>Import New Key From Clipboard</source>
<translation>Importer nouvelle cle depuis le presse papiers</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="209"/>
+ <location filename="../../gpgwin.cpp" line="234"/>
<source>Key Management</source>
<translation>gestion des cles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="211"/>
+ <location filename="../../gpgwin.cpp" line="236"/>
<source>Open Keymanagement</source>
<translation>Ouvrir le gestionaire des cles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="214"/>
- <location filename="../../gpgwin.cpp" line="623"/>
+ <location filename="../../gpgwin.cpp" line="239"/>
+ <location filename="../../gpgwin.cpp" line="629"/>
<source>Import Key</source>
<translation>Importer cles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="216"/>
+ <location filename="../../gpgwin.cpp" line="241"/>
<source>Open Import New Key Dialog</source>
<translation>Ouvrir la fenetre d&apos;import de nouvelle cle</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="226"/>
+ <location filename="../../gpgwin.cpp" line="251"/>
<source>Online &amp;Tutorial</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="228"/>
+ <location filename="../../gpgwin.cpp" line="253"/>
<source>Open Online Tutorial</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="279"/>
+ <location filename="../../gpgwin.cpp" line="307"/>
<source>Crypt</source>
<translation type="unfinished">Crypt-Toolbar</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="285"/>
+ <location filename="../../gpgwin.cpp" line="313"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="290"/>
+ <location filename="../../gpgwin.cpp" line="318"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="314"/>
+ <location filename="../../gpgwin.cpp" line="342"/>
<source>Attached files:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="481"/>
+ <location filename="../../gpgwin.cpp" line="487"/>
<source>&lt;center&gt;This Application allows you to do simple&lt;br&gt;encryption/decryption of your text-message or file.&lt;br&gt;It&apos;s licensed under the GPL v2.0&lt;br&gt;&lt;br&gt;&lt;b&gt;Developer:&lt;/b&gt;&lt;br&gt;Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt;Translation:&lt;/b&gt;&lt;br&gt;Alessandro (pt_br), Alex (fr), Kirill (ru), Viriato (es)&lt;br&gt;&lt;br&gt;If you have any questions and/or&lt;br&gt;suggestions, contact us at&lt;br&gt;gpg4usb at cpunk.de&lt;/a&gt;&lt;br&gt;&lt;br&gt;or feel free to meet us in our xmpp-channel:&lt;br&gt;gpg4usb at conference.jabber.ccc.de&lt;/center&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="221"/>
+ <location filename="../../gpgwin.cpp" line="246"/>
<source>&amp;About</source>
<translation>&amp;A propos</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="223"/>
+ <location filename="../../gpgwin.cpp" line="248"/>
<source>Show the application&apos;s About box</source>
<translation>Afficher la fenetre d&apos;information</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="233"/>
+ <location filename="../../gpgwin.cpp" line="258"/>
<source>Append Selected Key(s) To Text</source>
<translation>joindre les cles selectionees au texte</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="234"/>
+ <location filename="../../gpgwin.cpp" line="259"/>
<source>Append The Selected Keys To Text in Editor</source>
<translation>joindre les cles selectionees au texte dans l&apos;editeur</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="248"/>
+ <location filename="../../gpgwin.cpp" line="273"/>
<source>&amp;Edit</source>
<translatorcomment>bla</translatorcomment>
<translation></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="256"/>
+ <location filename="../../gpgwin.cpp" line="284"/>
<source>&amp;Crypt</source>
<translation>&amp;Crypter</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="262"/>
+ <location filename="../../gpgwin.cpp" line="290"/>
<source>&amp;Keys</source>
<translation>&amp;Cles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="263"/>
+ <location filename="../../gpgwin.cpp" line="291"/>
<source>&amp;Import Key From...</source>
<translation>&amp;Importer une cle depuis...</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="270"/>
+ <location filename="../../gpgwin.cpp" line="298"/>
<source>&amp;View</source>
<translation>&amp;Affichage</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="272"/>
+ <location filename="../../gpgwin.cpp" line="300"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="299"/>
- <location filename="../../gpgwin.cpp" line="472"/>
+ <location filename="../../gpgwin.cpp" line="327"/>
+ <location filename="../../gpgwin.cpp" line="478"/>
<source>Ready</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="306"/>
+ <location filename="../../gpgwin.cpp" line="334"/>
<source>Encrypt for:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="391"/>
- <location filename="../../gpgwin.cpp" line="431"/>
+ <location filename="../../gpgwin.cpp" line="397"/>
+ <location filename="../../gpgwin.cpp" line="437"/>
<source>Application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="392"/>
+ <location filename="../../gpgwin.cpp" line="398"/>
<source>Cannot read file %1:
%2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="404"/>
+ <location filename="../../gpgwin.cpp" line="410"/>
<source>File loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="419"/>
+ <location filename="../../gpgwin.cpp" line="425"/>
<source>%1[*] - %2</source>
<translation></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="432"/>
+ <location filename="../../gpgwin.cpp" line="438"/>
<source>The document has been modified.
Do you want to save your changes?</source>
<translation>Le document a ete modifie. Voulez-vous enregistrer les modifications?</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="446"/>
+ <location filename="../../gpgwin.cpp" line="452"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="447"/>
+ <location filename="../../gpgwin.cpp" line="453"/>
<source>Cannot write file %1:
%2.</source>
<translation>Fichier protege en ecriture %1: %2.</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="456"/>
+ <location filename="../../gpgwin.cpp" line="462"/>
<source>Saved &apos;%1&apos;</source>
<translation>Fichiers enregistres &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="478"/>
+ <location filename="../../gpgwin.cpp" line="484"/>
<source>About </source>
<translation>A propos </translation>
</message>
@@ -465,27 +475,27 @@ Do you want to save your changes?</source>
<translation type="obsolete">&lt;center&gt;Cette application vous permet de crypter ou decrypter&lt;br&gt; simplement votre texte-message ou fichier.&lt;br&gt; Logiciel libre v2.0&lt;br&gt; &lt;b&gt;Developpeurs:&lt;/b&gt; Bene, Heimer, Juergen, Nils, Ubbo&lt;br&gt;&lt;br&gt;&lt;b&gt; Traduction:&lt;/b&gt;&lt;br&gt;Kirill (ru), Axel (fr)&lt;br&gt;&lt;br&gt; Si vous avez questions ou propositions, &lt;br&gt;contactez nous sur notre email &lt;br&gt;gpgusb at cpunk.de&lt;/a&gt; ou par xmpp-chat &lt;br&gt;gpg4usb at conference.jabber.ccc.de&lt;/center&gt;</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Open Key</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>Key Files</source>
<translation type="unfinished">Fichiers des cles</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="595"/>
+ <location filename="../../gpgwin.cpp" line="601"/>
<source>All Files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="599"/>
+ <location filename="../../gpgwin.cpp" line="605"/>
<source>couldn&apos;t open file: </source>
<translation type="unfinished">Fichier non-ouvrable:</translation>
</message>
<message>
- <location filename="../../gpgwin.cpp" line="631"/>
+ <location filename="../../gpgwin.cpp" line="637"/>
<source>Import Key From...</source>
<translation type="unfinished"></translation>
</message>
diff --git a/settingsdialog.cpp b/settingsdialog.cpp
index 1b64acd..ed71294 100755
--- a/settingsdialog.cpp
+++ b/settingsdialog.cpp
@@ -125,6 +125,8 @@ SettingsDialog::SettingsDialog(QWidget *parent)
mimeParseBoxLayout = new QHBoxLayout();
mimeParseCheckBox = new QCheckBox(tr("Try to split attachments from PGP-MIME ecrypted messages."), this);
mimeParseBoxLayout->addWidget(mimeParseCheckBox);
+ mimeQPCheckBox = new QCheckBox(tr("Try to recognice quoted printable."), this);
+ mimeParseBoxLayout->addWidget(mimeQPCheckBox);
mimeParseBox->setLayout(mimeParseBoxLayout);
/*****************************************
@@ -193,6 +195,9 @@ void SettingsDialog::setSettings()
// MIME-Parsing
if (settings.value("mime/parsemime").toBool()) mimeParseCheckBox->setCheckState(Qt::Checked);
+ // Qouted Printable
+ if (settings.value("mime/parseQP").toBool()) mimeQPCheckBox->setCheckState(Qt::Checked);
+
//Language setting
QString langKey = settings.value("int/lang").toString();
QString langValue = lang.value(langKey);
@@ -230,6 +235,7 @@ void SettingsDialog::applySettings()
settings.setValue("keys/keySave", saveCheckedKeysCheckBox->isChecked());
settings.setValue("mime/parsemime" , mimeParseCheckBox->isChecked());
+ settings.setValue("mime/parseQP" , mimeQPCheckBox->isChecked());
settings.setValue("int/lang", lang.key(langSelectBox->currentText()));
diff --git a/settingsdialog.h b/settingsdialog.h
index f0833ee..a1480b8 100755
--- a/settingsdialog.h
+++ b/settingsdialog.h
@@ -61,6 +61,7 @@ private:
QCheckBox *windowSizeCheckBox;
QCheckBox *saveCheckedKeysCheckBox;
QCheckBox *mimeParseCheckBox;
+ QCheckBox *mimeQPCheckBox;
QComboBox *langSelectBox;
QHash<QString, QString> lang;