diff options
author | Saturneric <[email protected]> | 2021-06-25 07:04:22 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-06-25 07:04:22 +0000 |
commit | 6f5d4672972c87486f5a34d6dc8b0c8668f9a2a4 (patch) | |
tree | 651bc6b2ac5ae26bbb0bee334630a786bef9bc29 | |
parent | Updated Document; (diff) | |
download | GpgFrontend-6f5d4672972c87486f5a34d6dc8b0c8668f9a2a4.tar.gz GpgFrontend-6f5d4672972c87486f5a34d6dc8b0c8668f9a2a4.zip |
Update Project Structure;
Update Version;
Add FilePage;
27 files changed, 2272 insertions, 2032 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a3a3ea4c..0f3bcf20 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(GpgFrontend VERSION 1.0.5 LANGUAGES CXX) +project(GpgFrontend VERSION 1.1.0 LANGUAGES CXX) message(STATUS "GPGFrontend Build Configuration Started CMAKE Version ${CMAKE_VERSION}") @@ -258,7 +258,7 @@ in one of these ways: (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a + dirModel, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no diff --git a/include/MainWindow.h b/include/MainWindow.h index 95a10210..c5937e0d 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -26,9 +26,9 @@ #define __GPGWIN_H__ #include "gpg/GpgConstants.h" -#include "ui/Attachments.h" +#include "ui/widgets/Attachments.h" #include "ui/KeyMgmt.h" -#include "ui/TextEdit.h" +#include "ui/widgets/TextEdit.h" #include "ui/FileEncryptionDialog.h" #include "ui/SettingsDialog.h" #include "ui/AboutDialog.h" @@ -176,6 +176,11 @@ private slots: void slotFileVerify(); /** + * @details Open File Opera Tab + */ + void slotOpenFileTab(); + + /** * @details Open settings-dialog. */ void slotOpenSettingsDialog(); @@ -339,6 +344,7 @@ private: GpgME::GpgContext *mCtx; /**< TODO */ KeyMgmt *keyMgmt; /**< TODO */ KeyServerImportDialog *importDialog; /**< TODO */ + bool attachmentDockCreated; bool restartNeeded; }; diff --git a/include/ui/FindWidget.h b/include/ui/FindWidget.h index 2e9c67b0..1142b649 100644 --- a/include/ui/FindWidget.h +++ b/include/ui/FindWidget.h @@ -25,7 +25,7 @@ #ifndef FINDWIDGET_H #define FINDWIDGET_H -#include "EditorPage.h" +#include "ui/widgets/EditorPage.h" /** * @brief Class for handling the find widget shown at buttom of a textedit-page diff --git a/include/ui/VerifyDetailsDialog.h b/include/ui/VerifyDetailsDialog.h index a1f28e5d..ece2f1e7 100644 --- a/include/ui/VerifyDetailsDialog.h +++ b/include/ui/VerifyDetailsDialog.h @@ -25,7 +25,7 @@ #ifndef __VERIFYDETAILSDIALOG_H__ #define __VERIFYDETAILSDIALOG_H__ -#include "ui/EditorPage.h" +#include "ui/widgets/EditorPage.h" #include "ui/widgets/VerifyKeyDetailBox.h" class VerifyDetailsDialog : public QDialog { diff --git a/include/ui/Attachments.h b/include/ui/widgets/Attachments.h index 19b6ef37..00433028 100644 --- a/include/ui/Attachments.h +++ b/include/ui/widgets/Attachments.h @@ -25,7 +25,7 @@ #ifndef __ATTACHMENTS_H__ #define __ATTACHMENTS_H__ -#include "AttachmentTableModel.h" +#include "ui/AttachmentTableModel.h" class Attachments : public QWidget { Q_OBJECT diff --git a/include/ui/EditorPage.h b/include/ui/widgets/EditorPage.h index a06d6cd6..a06d6cd6 100644 --- a/include/ui/EditorPage.h +++ b/include/ui/widgets/EditorPage.h diff --git a/include/ui/widgets/FilePage.h b/include/ui/widgets/FilePage.h new file mode 100644 index 00000000..6585bed9 --- /dev/null +++ b/include/ui/widgets/FilePage.h @@ -0,0 +1,56 @@ +/** + * 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_FILEPAGE_H +#define GPGFRONTEND_FILEPAGE_H + +#include <GpgFrontend.h> + +class FilePage : public QWidget { +Q_OBJECT +public: + + explicit FilePage(QWidget* parent = nullptr); + + void getSelected(QString &path); + + +private slots: + + void fileTreeViewItemClicked(const QModelIndex &index); + void fileTreeViewItemDoubleClicked(const QModelIndex &index); + + void slotUpLevel(); + +private: + QFileSystemModel *dirModel; + QTreeView *dirTreeView; + QString mPath; + + QPushButton *upLevelButton; + +}; + + +#endif //GPGFRONTEND_FILEPAGE_H diff --git a/include/ui/HelpPage.h b/include/ui/widgets/HelpPage.h index 0b5e4ca3..0b5e4ca3 100644 --- a/include/ui/HelpPage.h +++ b/include/ui/widgets/HelpPage.h diff --git a/include/ui/widgets/InfoBoardWidget.h b/include/ui/widgets/InfoBoardWidget.h index 88c7cb04..9d3dbd16 100644 --- a/include/ui/widgets/InfoBoardWidget.h +++ b/include/ui/widgets/InfoBoardWidget.h @@ -25,7 +25,7 @@ #ifndef __VERIFYNOTIFICATION_H__ #define __VERIFYNOTIFICATION_H__ -#include "ui/EditorPage.h" +#include "EditorPage.h" #include "ui/VerifyDetailsDialog.h" #include "gpg/result_analyse/VerifyResultAnalyse.h" diff --git a/include/ui/TextEdit.h b/include/ui/widgets/TextEdit.h index 8219814b..f98da145 100644 --- a/include/ui/TextEdit.h +++ b/include/ui/widgets/TextEdit.h @@ -25,9 +25,10 @@ #ifndef __TEXTEDIT_H__ #define __TEXTEDIT_H__ -#include "ui/EditorPage.h" -#include "ui/HelpPage.h" -#include "QuitDialog.h" +#include "ui/widgets/EditorPage.h" +#include "ui/widgets/HelpPage.h" +#include "ui/widgets/FilePage.h" +#include "ui/QuitDialog.h" /** @@ -59,22 +60,22 @@ public: */ bool maybeSaveAnyTab(); - int tabCount() const; + [[nodiscard]] int tabCount() const; /** * @details textpage of the currently activated tab * @return \li reference to QTextEdit if tab has one * \li 0 otherwise (e.g. if helppage) */ - QTextEdit *curTextPage() const; + [[nodiscard]] QTextEdit *curTextPage() const; - QTextBrowser *curHelpPage() const; + [[nodiscard]] QTextBrowser *curHelpPage() const; /** * @details List of currently unsaved tabs. * @returns QHash<int, QString> Hash of tabindexes and title of unsaved tabs. */ - QHash<int, QString> unsavedDocuments() const; + [[nodiscard]] QHash<int, QString> unsavedDocuments() const; QTabWidget *tabWidget; /** Widget containing the tabs of the editor */ @@ -84,7 +85,7 @@ public slots: * @details Return pointer to the currently activated tabpage. * */ - EditorPage *slotCurPage() const; + [[nodiscard]] EditorPage *slotCurPage() const; /** * @details Insert a ">" at the begining of every line of current textedit. @@ -137,6 +138,11 @@ public slots: void slotNewHelpTab(const QString& title, const QString& path) const; /** + * New File Tab to do file operation + */ + void slotNewFileTab() const; + + /** * @details put a * in front of current tabs title, if current textedit is modified */ void slotShowModified() const; @@ -240,8 +246,7 @@ private slots: void slotSelectAll() const; protected: - // void dragEnterEvent(QDragEnterEvent *event); - // void dropEvent(QDropEvent* event); + /**************************************************************************************** * Name: saveFile * Description: Saves the content of currentTab to the file filename diff --git a/resource/COPYING b/resource/COPYING index b4e13b15..78af1af5 100644 --- a/resource/COPYING +++ b/resource/COPYING @@ -258,7 +258,7 @@ in one of these ways: (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a + dirModel, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no diff --git a/resource/ts/gpg_frontend_fr.ts b/resource/ts/gpg_frontend_fr.ts index 57983343..78ca3d4f 100644 --- a/resource/ts/gpg_frontend_fr.ts +++ b/resource/ts/gpg_frontend_fr.ts @@ -101,35 +101,35 @@ <context> <name>Attachments</name> <message> - <location filename="../../src/ui/Attachments.cpp" line="78"/> - <location filename="../../src/ui/Attachments.cpp" line="113"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="78"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="113"/> <source>Save File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="79"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="79"/> <source>Save this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="83"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="83"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="84"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="84"/> <source>Open this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="119"/> - <location filename="../../src/ui/Attachments.cpp" line="164"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="119"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="164"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="120"/> - <location filename="../../src/ui/Attachments.cpp" line="165"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="120"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="165"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> @@ -1307,16 +1307,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> - <source>Upload Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> - <source>Update Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> @@ -1339,12 +1329,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Couldn't open %1 for writing</source> + <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Export Error</source> + <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> @@ -1352,6 +1342,16 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source>Never Expire</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> + <source>Upload Key Pair</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> + <source>Update Key Pair</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1697,6 +1697,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> + <source>Not Key Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> + <source>Timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> + <source>Key Server Not Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> + <source>Connection Error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/> <source><h4>CToo many responses from keyserver!</h4></source> <translation type="unfinished"></translation> @@ -1737,34 +1760,6 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> - <source>Upload Keys from Keyserver</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> - <source>Timeout</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> - <source>Not Key Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> - <source>Key Server Not Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> - <source>Connection Error</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/> <source><h4>Key Updated</h4></source> <translation type="unfinished"></translation> @@ -1774,6 +1769,11 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source><h4>Key Imported</h4></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> + <source>Upload Keys from Keyserver</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeySetExpireDateDialog</name> @@ -1875,546 +1875,546 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>MainWindow</name> <message> - <location filename="../../src/MainWindow.cpp" line="175"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="36"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="83"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="281"/> + <source>No Key Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="43"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="90"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="288"/> + <source>Invalid Operation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> + <source>The selected key contains a key that does not actually have a encrypt function.<br/></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="92"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="290"/> + <source><br/>For example the Following Key: <br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="91"/> + <source>The selected key contains a key that does not actually have a signature function.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="54"/> + <source>There is one unencrypted file in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source>There are </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source> unencrypted files in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="181"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="184"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="187"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="190"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="193"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="48"/> <source>Save the current File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="196"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="51"/> <source>Save &As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="54"/> <source>Save the current File as...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="202"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="57"/> <source>&Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="205"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="60"/> <source>Print Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="208"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="63"/> <source>&Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="210"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Close file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="213"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Quit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="216"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="71"/> <source>Quit Program</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="221"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>&Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="223"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="78"/> <source>Undo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="226"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="228"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Redo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="231"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>Zoom In</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="235"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="90"/> <source>Zoom Out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="239"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="94"/> <source>&Paste</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="242"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="97"/> <source>Paste Text From Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="245"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="100"/> <source>Cu&t</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="248"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="103"/> <source>Cut the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="252"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="107"/> <source>&Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="255"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="110"/> <source>Copy the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="259"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="114"/> <source>&Quote</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="261"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="116"/> <source>Quote whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="264"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>Select &All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="267"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="122"/> <source>Select the whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="270"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="125"/> <source>&Find</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="272"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Find a word</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="275"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>Remove &spacing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="278"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="133"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="281"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="136"/> <source>Se&ttings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="282"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="137"/> <source>Open settings dialog</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="288"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="143"/> <source>&Encrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="291"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="146"/> <source>Encrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="294"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="149"/> <source>&Encrypt &Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="297"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="152"/> <source>Encrypt and Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="300"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="155"/> <source>&Decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="158"/> <source>Decrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="306"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="161"/> <source>&Decrypt &Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="309"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="164"/> <source>Decrypt and Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="315"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="170"/> <source>&Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="316"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="171"/> <source>Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="319"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="174"/> <source>&Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="323"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="178"/> <source>&Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="324"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="327"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="182"/> <source>&Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="328"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="332"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="335"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="190"/> <source>Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="193"/> <source>&Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="341"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="196"/> <source>Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="347"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="202"/> <source>&Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="349"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="204"/> <source>Import New Key From Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="352"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>Manage &keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="354"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Open Keymanagement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="359"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="361"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="216"/> <source>Show the application's About box</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="364"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="219"/> <source>Open &Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="365"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>Open the wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="370"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="225"/> <source>Append Selected Key(s) To Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="371"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="226"/> <source>Append The Selected Keys To Text in Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="374"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="229"/> <source>Copy EMail-address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="375"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Copy selected EMailaddress to clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="379"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Show Key Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="380"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="235"/> <source>Show Details for this Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="383"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="238"/> <source>Refresh Key From Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="384"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Refresh key from default key server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="387"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="242"/> <source>Upload Public Key(s) To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="388"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Upload The Selected Public Keys To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="402"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Remove PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="405"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="260"/> <source>Add PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="446"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="265"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="458"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="277"/> <source>&Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="476"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="295"/> <source>&File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="482"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="301"/> <source>&Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="493"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="312"/> <source>&Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="494"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="313"/> <source>&Import Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="322"/> <source>&Steganography</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="331"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="514"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="333"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="522"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="341"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="530"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="540"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="359"/> <source>Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="545"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="364"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="552"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="371"/> <source>Special Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="383"/> <source>Import key from...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="565"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="384"/> <source>Import key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="573"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="393"/> <source>Opera File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="394"/> <source>File Crypto</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="592"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="412"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="599"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="419"/> <source>Key ToolBox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="607"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="427"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="627"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="447"/> <source>Attached files:</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/MainWindow.cpp" line="690"/> - <source>There is one unencrypted file in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source>There are </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source> unencrypted files in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="724"/> - <location filename="../../src/MainWindow.cpp" line="771"/> - <location filename="../../src/MainWindow.cpp" line="1074"/> - <source>No Key Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="731"/> - <location filename="../../src/MainWindow.cpp" line="778"/> - <location filename="../../src/MainWindow.cpp" line="1081"/> - <source>Invalid Operation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="732"/> - <source>The selected key contains a key that does not actually have a encrypt function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="733"/> - <location filename="../../src/MainWindow.cpp" line="780"/> - <location filename="../../src/MainWindow.cpp" line="1083"/> - <source><br/>For example the Following Key: <br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="779"/> - <source>The selected key contains a key that does not actually have a signature function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="1082"/> - <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>MimeTab</name> @@ -2717,56 +2717,56 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>TextEdit</name> <message> - <location filename="../../src/ui/TextEdit.cpp" line="49"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="49"/> <source>untitled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="68"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="76"/> <source>Open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="93"/> - <location filename="../../src/ui/TextEdit.cpp" line="371"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="101"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="379"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="94"/> - <location filename="../../src/ui/TextEdit.cpp" line="372"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="102"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="380"/> <source>Cannot read file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="143"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="151"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="144"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="152"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="165"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="173"/> <source>Save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="229"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="237"/> <source>Unsaved document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="230"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="238"/> <source><h3>The document "%1" has been modified.<br/>Do you want to save your changes?</h3></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="232"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="240"/> <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpg_frontend_ru.ts b/resource/ts/gpg_frontend_ru.ts index 16f73ce5..370d406c 100644 --- a/resource/ts/gpg_frontend_ru.ts +++ b/resource/ts/gpg_frontend_ru.ts @@ -101,35 +101,35 @@ <context> <name>Attachments</name> <message> - <location filename="../../src/ui/Attachments.cpp" line="78"/> - <location filename="../../src/ui/Attachments.cpp" line="113"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="78"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="113"/> <source>Save File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="79"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="79"/> <source>Save this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="83"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="83"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="84"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="84"/> <source>Open this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="119"/> - <location filename="../../src/ui/Attachments.cpp" line="164"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="119"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="164"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="120"/> - <location filename="../../src/ui/Attachments.cpp" line="165"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="120"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="165"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> @@ -1307,16 +1307,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> - <source>Upload Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> - <source>Update Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> @@ -1339,12 +1329,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Couldn't open %1 for writing</source> + <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Export Error</source> + <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> @@ -1352,6 +1342,16 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source>Never Expire</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> + <source>Upload Key Pair</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> + <source>Update Key Pair</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1697,6 +1697,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> + <source>Not Key Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> + <source>Timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> + <source>Key Server Not Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> + <source>Connection Error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/> <source><h4>CToo many responses from keyserver!</h4></source> <translation type="unfinished"></translation> @@ -1737,34 +1760,6 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> - <source>Upload Keys from Keyserver</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> - <source>Timeout</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> - <source>Not Key Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> - <source>Key Server Not Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> - <source>Connection Error</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/> <source><h4>Key Updated</h4></source> <translation type="unfinished"></translation> @@ -1774,6 +1769,11 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source><h4>Key Imported</h4></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> + <source>Upload Keys from Keyserver</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeySetExpireDateDialog</name> @@ -1875,546 +1875,546 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>MainWindow</name> <message> - <location filename="../../src/MainWindow.cpp" line="175"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="36"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="83"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="281"/> + <source>No Key Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="43"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="90"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="288"/> + <source>Invalid Operation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> + <source>The selected key contains a key that does not actually have a encrypt function.<br/></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="92"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="290"/> + <source><br/>For example the Following Key: <br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="91"/> + <source>The selected key contains a key that does not actually have a signature function.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="54"/> + <source>There is one unencrypted file in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source>There are </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source> unencrypted files in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="181"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="184"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="187"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="190"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="193"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="48"/> <source>Save the current File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="196"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="51"/> <source>Save &As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="54"/> <source>Save the current File as...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="202"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="57"/> <source>&Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="205"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="60"/> <source>Print Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="208"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="63"/> <source>&Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="210"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Close file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="213"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Quit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="216"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="71"/> <source>Quit Program</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="221"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>&Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="223"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="78"/> <source>Undo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="226"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="228"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Redo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="231"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>Zoom In</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="235"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="90"/> <source>Zoom Out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="239"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="94"/> <source>&Paste</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="242"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="97"/> <source>Paste Text From Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="245"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="100"/> <source>Cu&t</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="248"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="103"/> <source>Cut the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="252"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="107"/> <source>&Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="255"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="110"/> <source>Copy the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="259"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="114"/> <source>&Quote</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="261"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="116"/> <source>Quote whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="264"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>Select &All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="267"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="122"/> <source>Select the whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="270"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="125"/> <source>&Find</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="272"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Find a word</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="275"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>Remove &spacing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="278"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="133"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="281"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="136"/> <source>Se&ttings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="282"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="137"/> <source>Open settings dialog</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="288"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="143"/> <source>&Encrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="291"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="146"/> <source>Encrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="294"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="149"/> <source>&Encrypt &Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="297"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="152"/> <source>Encrypt and Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="300"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="155"/> <source>&Decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="158"/> <source>Decrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="306"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="161"/> <source>&Decrypt &Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="309"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="164"/> <source>Decrypt and Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="315"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="170"/> <source>&Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="316"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="171"/> <source>Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="319"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="174"/> <source>&Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="323"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="178"/> <source>&Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="324"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="327"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="182"/> <source>&Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="328"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="332"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="335"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="190"/> <source>Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="193"/> <source>&Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="341"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="196"/> <source>Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="347"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="202"/> <source>&Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="349"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="204"/> <source>Import New Key From Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="352"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>Manage &keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="354"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Open Keymanagement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="359"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="361"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="216"/> <source>Show the application's About box</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="364"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="219"/> <source>Open &Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="365"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>Open the wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="370"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="225"/> <source>Append Selected Key(s) To Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="371"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="226"/> <source>Append The Selected Keys To Text in Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="374"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="229"/> <source>Copy EMail-address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="375"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Copy selected EMailaddress to clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="379"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Show Key Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="380"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="235"/> <source>Show Details for this Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="383"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="238"/> <source>Refresh Key From Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="384"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Refresh key from default key server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="387"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="242"/> <source>Upload Public Key(s) To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="388"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Upload The Selected Public Keys To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="402"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Remove PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="405"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="260"/> <source>Add PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="446"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="265"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="458"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="277"/> <source>&Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="476"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="295"/> <source>&File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="482"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="301"/> <source>&Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="493"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="312"/> <source>&Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="494"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="313"/> <source>&Import Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="322"/> <source>&Steganography</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="331"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="514"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="333"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="522"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="341"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="530"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="540"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="359"/> <source>Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="545"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="364"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="552"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="371"/> <source>Special Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="383"/> <source>Import key from...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="565"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="384"/> <source>Import key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="573"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="393"/> <source>Opera File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="394"/> <source>File Crypto</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="592"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="412"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="599"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="419"/> <source>Key ToolBox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="607"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="427"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="627"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="447"/> <source>Attached files:</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/MainWindow.cpp" line="690"/> - <source>There is one unencrypted file in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source>There are </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source> unencrypted files in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="724"/> - <location filename="../../src/MainWindow.cpp" line="771"/> - <location filename="../../src/MainWindow.cpp" line="1074"/> - <source>No Key Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="731"/> - <location filename="../../src/MainWindow.cpp" line="778"/> - <location filename="../../src/MainWindow.cpp" line="1081"/> - <source>Invalid Operation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="732"/> - <source>The selected key contains a key that does not actually have a encrypt function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="733"/> - <location filename="../../src/MainWindow.cpp" line="780"/> - <location filename="../../src/MainWindow.cpp" line="1083"/> - <source><br/>For example the Following Key: <br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="779"/> - <source>The selected key contains a key that does not actually have a signature function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="1082"/> - <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>MimeTab</name> @@ -2717,56 +2717,56 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>TextEdit</name> <message> - <location filename="../../src/ui/TextEdit.cpp" line="49"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="49"/> <source>untitled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="68"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="76"/> <source>Open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="93"/> - <location filename="../../src/ui/TextEdit.cpp" line="371"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="101"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="379"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="94"/> - <location filename="../../src/ui/TextEdit.cpp" line="372"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="102"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="380"/> <source>Cannot read file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="143"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="151"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="144"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="152"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="165"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="173"/> <source>Save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="229"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="237"/> <source>Unsaved document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="230"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="238"/> <source><h3>The document "%1" has been modified.<br/>Do you want to save your changes?</h3></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="232"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="240"/> <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_en_us.ts b/resource/ts/gpgfrontend_en_us.ts index ac4ccb41..09ec9879 100644 --- a/resource/ts/gpgfrontend_en_us.ts +++ b/resource/ts/gpgfrontend_en_us.ts @@ -101,35 +101,35 @@ <context> <name>Attachments</name> <message> - <location filename="../../src/ui/Attachments.cpp" line="78"/> - <location filename="../../src/ui/Attachments.cpp" line="113"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="78"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="113"/> <source>Save File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="79"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="79"/> <source>Save this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="83"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="83"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="84"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="84"/> <source>Open this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="119"/> - <location filename="../../src/ui/Attachments.cpp" line="164"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="119"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="164"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="120"/> - <location filename="../../src/ui/Attachments.cpp" line="165"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="120"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="165"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> @@ -1307,16 +1307,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> - <source>Upload Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> - <source>Update Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> @@ -1339,12 +1329,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Couldn't open %1 for writing</source> + <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Export Error</source> + <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> @@ -1352,6 +1342,16 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source>Never Expire</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> + <source>Upload Key Pair</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> + <source>Update Key Pair</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1697,6 +1697,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> + <source>Not Key Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> + <source>Timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> + <source>Key Server Not Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> + <source>Connection Error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/> <source><h4>CToo many responses from keyserver!</h4></source> <translation type="unfinished"></translation> @@ -1737,34 +1760,6 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> - <source>Upload Keys from Keyserver</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> - <source>Timeout</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> - <source>Not Key Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> - <source>Key Server Not Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> - <source>Connection Error</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/> <source><h4>Key Updated</h4></source> <translation type="unfinished"></translation> @@ -1774,6 +1769,11 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source><h4>Key Imported</h4></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> + <source>Upload Keys from Keyserver</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeySetExpireDateDialog</name> @@ -1875,546 +1875,546 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>MainWindow</name> <message> - <location filename="../../src/MainWindow.cpp" line="175"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="36"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="83"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="281"/> + <source>No Key Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="43"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="90"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="288"/> + <source>Invalid Operation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> + <source>The selected key contains a key that does not actually have a encrypt function.<br/></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="92"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="290"/> + <source><br/>For example the Following Key: <br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="91"/> + <source>The selected key contains a key that does not actually have a signature function.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="54"/> + <source>There is one unencrypted file in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source>There are </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source> unencrypted files in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="181"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="184"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="187"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="190"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="193"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="48"/> <source>Save the current File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="196"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="51"/> <source>Save &As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="54"/> <source>Save the current File as...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="202"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="57"/> <source>&Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="205"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="60"/> <source>Print Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="208"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="63"/> <source>&Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="210"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Close file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="213"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Quit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="216"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="71"/> <source>Quit Program</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="221"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>&Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="223"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="78"/> <source>Undo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="226"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="228"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Redo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="231"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>Zoom In</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="235"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="90"/> <source>Zoom Out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="239"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="94"/> <source>&Paste</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="242"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="97"/> <source>Paste Text From Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="245"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="100"/> <source>Cu&t</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="248"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="103"/> <source>Cut the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="252"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="107"/> <source>&Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="255"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="110"/> <source>Copy the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="259"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="114"/> <source>&Quote</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="261"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="116"/> <source>Quote whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="264"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>Select &All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="267"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="122"/> <source>Select the whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="270"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="125"/> <source>&Find</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="272"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Find a word</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="275"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>Remove &spacing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="278"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="133"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="281"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="136"/> <source>Se&ttings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="282"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="137"/> <source>Open settings dialog</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="288"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="143"/> <source>&Encrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="291"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="146"/> <source>Encrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="294"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="149"/> <source>&Encrypt &Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="297"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="152"/> <source>Encrypt and Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="300"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="155"/> <source>&Decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="158"/> <source>Decrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="306"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="161"/> <source>&Decrypt &Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="309"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="164"/> <source>Decrypt and Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="315"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="170"/> <source>&Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="316"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="171"/> <source>Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="319"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="174"/> <source>&Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="323"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="178"/> <source>&Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="324"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="327"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="182"/> <source>&Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="328"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="332"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="335"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="190"/> <source>Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="193"/> <source>&Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="341"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="196"/> <source>Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="347"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="202"/> <source>&Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="349"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="204"/> <source>Import New Key From Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="352"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>Manage &keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="354"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Open Keymanagement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="359"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="361"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="216"/> <source>Show the application's About box</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="364"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="219"/> <source>Open &Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="365"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>Open the wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="370"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="225"/> <source>Append Selected Key(s) To Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="371"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="226"/> <source>Append The Selected Keys To Text in Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="374"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="229"/> <source>Copy EMail-address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="375"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Copy selected EMailaddress to clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="379"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Show Key Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="380"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="235"/> <source>Show Details for this Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="383"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="238"/> <source>Refresh Key From Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="384"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Refresh key from default key server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="387"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="242"/> <source>Upload Public Key(s) To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="388"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Upload The Selected Public Keys To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="402"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Remove PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="405"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="260"/> <source>Add PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="446"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="265"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="458"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="277"/> <source>&Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="476"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="295"/> <source>&File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="482"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="301"/> <source>&Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="493"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="312"/> <source>&Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="494"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="313"/> <source>&Import Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="322"/> <source>&Steganography</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="331"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="514"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="333"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="522"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="341"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="530"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="540"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="359"/> <source>Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="545"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="364"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="552"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="371"/> <source>Special Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="383"/> <source>Import key from...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="565"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="384"/> <source>Import key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="573"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="393"/> <source>Opera File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="394"/> <source>File Crypto</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="592"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="412"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="599"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="419"/> <source>Key ToolBox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="607"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="427"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="627"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="447"/> <source>Attached files:</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/MainWindow.cpp" line="690"/> - <source>There is one unencrypted file in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source>There are </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source> unencrypted files in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="724"/> - <location filename="../../src/MainWindow.cpp" line="771"/> - <location filename="../../src/MainWindow.cpp" line="1074"/> - <source>No Key Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="731"/> - <location filename="../../src/MainWindow.cpp" line="778"/> - <location filename="../../src/MainWindow.cpp" line="1081"/> - <source>Invalid Operation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="732"/> - <source>The selected key contains a key that does not actually have a encrypt function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="733"/> - <location filename="../../src/MainWindow.cpp" line="780"/> - <location filename="../../src/MainWindow.cpp" line="1083"/> - <source><br/>For example the Following Key: <br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="779"/> - <source>The selected key contains a key that does not actually have a signature function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="1082"/> - <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>MimeTab</name> @@ -2717,56 +2717,56 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>TextEdit</name> <message> - <location filename="../../src/ui/TextEdit.cpp" line="49"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="49"/> <source>untitled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="68"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="76"/> <source>Open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="93"/> - <location filename="../../src/ui/TextEdit.cpp" line="371"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="101"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="379"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="94"/> - <location filename="../../src/ui/TextEdit.cpp" line="372"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="102"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="380"/> <source>Cannot read file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="143"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="151"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="144"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="152"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="165"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="173"/> <source>Save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="229"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="237"/> <source>Unsaved document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="230"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="238"/> <source><h3>The document "%1" has been modified.<br/>Do you want to save your changes?</h3></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="232"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="240"/> <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_chs.ts b/resource/ts/gpgfrontend_zh_chs.ts index cade93a5..c6722829 100644 --- a/resource/ts/gpgfrontend_zh_chs.ts +++ b/resource/ts/gpgfrontend_zh_chs.ts @@ -101,35 +101,35 @@ <context> <name>Attachments</name> <message> - <location filename="../../src/ui/Attachments.cpp" line="78"/> - <location filename="../../src/ui/Attachments.cpp" line="113"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="78"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="113"/> <source>Save File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="79"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="79"/> <source>Save this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="83"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="83"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="84"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="84"/> <source>Open this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="119"/> - <location filename="../../src/ui/Attachments.cpp" line="164"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="119"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="164"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="120"/> - <location filename="../../src/ui/Attachments.cpp" line="165"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="120"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="165"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> @@ -1307,16 +1307,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> - <source>Upload Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> - <source>Update Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> @@ -1339,12 +1329,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Couldn't open %1 for writing</source> + <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Export Error</source> + <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> @@ -1352,6 +1342,16 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source>Never Expire</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> + <source>Upload Key Pair</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> + <source>Update Key Pair</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1697,6 +1697,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> + <source>Not Key Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> + <source>Timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> + <source>Key Server Not Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> + <source>Connection Error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/> <source><h4>CToo many responses from keyserver!</h4></source> <translation type="unfinished"></translation> @@ -1737,34 +1760,6 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> - <source>Upload Keys from Keyserver</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> - <source>Timeout</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> - <source>Not Key Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> - <source>Key Server Not Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> - <source>Connection Error</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/> <source><h4>Key Updated</h4></source> <translation type="unfinished"></translation> @@ -1774,6 +1769,11 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source><h4>Key Imported</h4></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> + <source>Upload Keys from Keyserver</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeySetExpireDateDialog</name> @@ -1875,546 +1875,546 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>MainWindow</name> <message> - <location filename="../../src/MainWindow.cpp" line="175"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="36"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="83"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="281"/> + <source>No Key Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="43"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="90"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="288"/> + <source>Invalid Operation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> + <source>The selected key contains a key that does not actually have a encrypt function.<br/></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="92"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="290"/> + <source><br/>For example the Following Key: <br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="91"/> + <source>The selected key contains a key that does not actually have a signature function.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="54"/> + <source>There is one unencrypted file in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source>There are </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source> unencrypted files in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="181"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="184"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="187"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="190"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="193"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="48"/> <source>Save the current File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="196"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="51"/> <source>Save &As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="54"/> <source>Save the current File as...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="202"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="57"/> <source>&Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="205"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="60"/> <source>Print Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="208"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="63"/> <source>&Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="210"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Close file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="213"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Quit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="216"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="71"/> <source>Quit Program</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="221"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>&Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="223"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="78"/> <source>Undo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="226"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="228"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Redo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="231"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>Zoom In</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="235"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="90"/> <source>Zoom Out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="239"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="94"/> <source>&Paste</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="242"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="97"/> <source>Paste Text From Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="245"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="100"/> <source>Cu&t</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="248"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="103"/> <source>Cut the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="252"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="107"/> <source>&Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="255"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="110"/> <source>Copy the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="259"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="114"/> <source>&Quote</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="261"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="116"/> <source>Quote whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="264"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>Select &All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="267"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="122"/> <source>Select the whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="270"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="125"/> <source>&Find</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="272"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Find a word</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="275"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>Remove &spacing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="278"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="133"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="281"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="136"/> <source>Se&ttings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="282"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="137"/> <source>Open settings dialog</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="288"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="143"/> <source>&Encrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="291"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="146"/> <source>Encrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="294"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="149"/> <source>&Encrypt &Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="297"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="152"/> <source>Encrypt and Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="300"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="155"/> <source>&Decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="158"/> <source>Decrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="306"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="161"/> <source>&Decrypt &Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="309"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="164"/> <source>Decrypt and Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="315"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="170"/> <source>&Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="316"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="171"/> <source>Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="319"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="174"/> <source>&Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="323"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="178"/> <source>&Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="324"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="327"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="182"/> <source>&Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="328"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="332"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="335"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="190"/> <source>Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="193"/> <source>&Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="341"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="196"/> <source>Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="347"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="202"/> <source>&Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="349"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="204"/> <source>Import New Key From Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="352"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>Manage &keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="354"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Open Keymanagement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="359"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="361"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="216"/> <source>Show the application's About box</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="364"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="219"/> <source>Open &Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="365"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>Open the wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="370"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="225"/> <source>Append Selected Key(s) To Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="371"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="226"/> <source>Append The Selected Keys To Text in Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="374"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="229"/> <source>Copy EMail-address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="375"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Copy selected EMailaddress to clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="379"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Show Key Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="380"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="235"/> <source>Show Details for this Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="383"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="238"/> <source>Refresh Key From Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="384"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Refresh key from default key server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="387"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="242"/> <source>Upload Public Key(s) To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="388"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Upload The Selected Public Keys To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="402"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Remove PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="405"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="260"/> <source>Add PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="446"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="265"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="458"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="277"/> <source>&Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="476"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="295"/> <source>&File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="482"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="301"/> <source>&Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="493"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="312"/> <source>&Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="494"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="313"/> <source>&Import Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="322"/> <source>&Steganography</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="331"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="514"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="333"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="522"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="341"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="530"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="540"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="359"/> <source>Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="545"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="364"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="552"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="371"/> <source>Special Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="383"/> <source>Import key from...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="565"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="384"/> <source>Import key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="573"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="393"/> <source>Opera File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="394"/> <source>File Crypto</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="592"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="412"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="599"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="419"/> <source>Key ToolBox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="607"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="427"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="627"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="447"/> <source>Attached files:</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/MainWindow.cpp" line="690"/> - <source>There is one unencrypted file in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source>There are </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source> unencrypted files in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="724"/> - <location filename="../../src/MainWindow.cpp" line="771"/> - <location filename="../../src/MainWindow.cpp" line="1074"/> - <source>No Key Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="731"/> - <location filename="../../src/MainWindow.cpp" line="778"/> - <location filename="../../src/MainWindow.cpp" line="1081"/> - <source>Invalid Operation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="732"/> - <source>The selected key contains a key that does not actually have a encrypt function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="733"/> - <location filename="../../src/MainWindow.cpp" line="780"/> - <location filename="../../src/MainWindow.cpp" line="1083"/> - <source><br/>For example the Following Key: <br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="779"/> - <source>The selected key contains a key that does not actually have a signature function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="1082"/> - <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>MimeTab</name> @@ -2717,56 +2717,56 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>TextEdit</name> <message> - <location filename="../../src/ui/TextEdit.cpp" line="49"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="49"/> <source>untitled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="68"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="76"/> <source>Open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="93"/> - <location filename="../../src/ui/TextEdit.cpp" line="371"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="101"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="379"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="94"/> - <location filename="../../src/ui/TextEdit.cpp" line="372"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="102"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="380"/> <source>Cannot read file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="143"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="151"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="144"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="152"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="165"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="173"/> <source>Save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="229"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="237"/> <source>Unsaved document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="230"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="238"/> <source><h3>The document "%1" has been modified.<br/>Do you want to save your changes?</h3></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="232"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="240"/> <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> <translation type="unfinished"></translation> </message> diff --git a/resource/ts/gpgfrontend_zh_cht.ts b/resource/ts/gpgfrontend_zh_cht.ts index cade93a5..c6722829 100644 --- a/resource/ts/gpgfrontend_zh_cht.ts +++ b/resource/ts/gpgfrontend_zh_cht.ts @@ -101,35 +101,35 @@ <context> <name>Attachments</name> <message> - <location filename="../../src/ui/Attachments.cpp" line="78"/> - <location filename="../../src/ui/Attachments.cpp" line="113"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="78"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="113"/> <source>Save File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="79"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="79"/> <source>Save this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="83"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="83"/> <source>Open File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="84"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="84"/> <source>Open this file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="119"/> - <location filename="../../src/ui/Attachments.cpp" line="164"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="119"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="164"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/Attachments.cpp" line="120"/> - <location filename="../../src/ui/Attachments.cpp" line="165"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="120"/> + <location filename="../../src/ui/widgets/Attachments.cpp" line="165"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> @@ -1307,16 +1307,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> - <source>Upload Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> - <source>Update Key Pair</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="191"/> <source>Exporting private Key</source> <translation type="unfinished"></translation> @@ -1339,12 +1329,12 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Couldn't open %1 for writing</source> + <source>Export Error</source> <translation type="unfinished"></translation> </message> <message> <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="208"/> - <source>Export Error</source> + <source>Couldn't open %1 for writing</source> <translation type="unfinished"></translation> </message> <message> @@ -1352,6 +1342,16 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source>Never Expire</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="298"/> + <source>Upload Key Pair</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/keypair_details/KeyPairDetailTab.cpp" line="300"/> + <source>Update Key Pair</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeyPairSubkeyTab</name> @@ -1697,6 +1697,29 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> + <source>Not Key Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> + <source>Timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> + <source>Key Server Not Found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> + <source>Connection Error</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="233"/> <source><h4>CToo many responses from keyserver!</h4></source> <translation type="unfinished"></translation> @@ -1737,34 +1760,6 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> - <source>Upload Keys from Keyserver</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="219"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="389"/> - <source>Timeout</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="216"/> - <source>Not Key Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="222"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="392"/> - <source>Key Server Not Found</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="225"/> - <location filename="../../src/ui/KeyServerImportDialog.cpp" line="395"/> - <source>Connection Error</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../../src/ui/KeyServerImportDialog.cpp" line="413"/> <source><h4>Key Updated</h4></source> <translation type="unfinished"></translation> @@ -1774,6 +1769,11 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <source><h4>Key Imported</h4></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../src/ui/KeyServerImportDialog.cpp" line="476"/> + <source>Upload Keys from Keyserver</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>KeySetExpireDateDialog</name> @@ -1875,546 +1875,546 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>MainWindow</name> <message> - <location filename="../../src/MainWindow.cpp" line="175"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="36"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="83"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="281"/> + <source>No Key Selected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="43"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="90"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="288"/> + <source>Invalid Operation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="44"/> + <source>The selected key contains a key that does not actually have a encrypt function.<br/></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="92"/> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="290"/> + <source><br/>For example the Following Key: <br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="91"/> + <source>The selected key contains a key that does not actually have a signature function.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotFunction.cpp" line="289"/> + <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="54"/> + <source>There is one unencrypted file in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source>There are </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowSlotUI.cpp" line="56"/> + <source> unencrypted files in attachment folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="30"/> <source>&New</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="181"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="36"/> <source>Open a new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="184"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="39"/> <source>&Open...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="187"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="42"/> <source>Open an existing file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="190"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="45"/> <source>&Save</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="193"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="48"/> <source>Save the current File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="196"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="51"/> <source>Save &As</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="199"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="54"/> <source>Save the current File as...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="202"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="57"/> <source>&Print</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="205"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="60"/> <source>Print Document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="208"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="63"/> <source>&Close</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="210"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="65"/> <source>Close file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="213"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="68"/> <source>&Quit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="216"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="71"/> <source>Quit Program</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="221"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="76"/> <source>&Undo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="223"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="78"/> <source>Undo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="226"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="81"/> <source>&Redo</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="228"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="83"/> <source>Redo Last Edit Action</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="231"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="86"/> <source>Zoom In</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="235"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="90"/> <source>Zoom Out</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="239"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="94"/> <source>&Paste</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="242"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="97"/> <source>Paste Text From Clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="245"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="100"/> <source>Cu&t</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="248"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="103"/> <source>Cut the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="252"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="107"/> <source>&Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="255"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="110"/> <source>Copy the current selection's contents to the clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="259"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="114"/> <source>&Quote</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="261"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="116"/> <source>Quote whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="264"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="119"/> <source>Select &All</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="267"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="122"/> <source>Select the whole text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="270"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="125"/> <source>&Find</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="272"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="127"/> <source>Find a word</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="275"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="130"/> <source>Remove &spacing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="278"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="133"/> <source>Remove double linebreaks, e.g. in pasted text from webmailer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="281"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="136"/> <source>Se&ttings</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="282"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="137"/> <source>Open settings dialog</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="288"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="143"/> <source>&Encrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="291"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="146"/> <source>Encrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="294"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="149"/> <source>&Encrypt &Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="297"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="152"/> <source>Encrypt and Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="300"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="155"/> <source>&Decrypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="303"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="158"/> <source>Decrypt Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="306"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="161"/> <source>&Decrypt &Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="309"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="164"/> <source>Decrypt and Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="315"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="170"/> <source>&Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="316"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="171"/> <source>Encrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="319"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="174"/> <source>&Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="320"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="175"/> <source>Decrypt File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="323"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="178"/> <source>&Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="324"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="179"/> <source>Sign File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="327"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="182"/> <source>&Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="328"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="183"/> <source>Verify File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="332"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="187"/> <source>&Sign</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="335"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="190"/> <source>Sign Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="338"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="193"/> <source>&Verify</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="341"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="196"/> <source>Verify Message</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="347"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="202"/> <source>&Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="349"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="204"/> <source>Import New Key From Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="352"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="207"/> <source>Manage &keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="354"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="209"/> <source>Open Keymanagement</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="359"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="214"/> <source>&About</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="361"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="216"/> <source>Show the application's About box</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="364"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="219"/> <source>Open &Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="365"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="220"/> <source>Open the wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="370"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="225"/> <source>Append Selected Key(s) To Text</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="371"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="226"/> <source>Append The Selected Keys To Text in Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="374"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="229"/> <source>Copy EMail-address</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="375"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="230"/> <source>Copy selected EMailaddress to clipboard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="379"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="234"/> <source>Show Key Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="380"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="235"/> <source>Show Details for this Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="383"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="238"/> <source>Refresh Key From Key Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="384"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="239"/> <source>Refresh key from default key server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="387"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="242"/> <source>Upload Public Key(s) To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="388"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="243"/> <source>Upload The Selected Public Keys To Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="402"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="257"/> <source>Remove PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="405"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="260"/> <source>Add PGP Header</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="446"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="265"/> <source>&File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="458"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="277"/> <source>&Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="476"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="295"/> <source>&File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="482"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="301"/> <source>&Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="493"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="312"/> <source>&Keys</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="494"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="313"/> <source>&Import Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="503"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="322"/> <source>&Steganography</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="512"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="331"/> <source>&View</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="514"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="333"/> <source>&Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="522"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="341"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="530"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="349"/> <source>Crypt</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="540"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="359"/> <source>Key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="545"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="364"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="552"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="371"/> <source>Special Edit</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="564"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="383"/> <source>Import key from...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="565"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="384"/> <source>Import key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="573"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="393"/> <source>Opera File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="574"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="394"/> <source>File Crypto</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="592"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="412"/> <source>Ready</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="599"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="419"/> <source>Key ToolBox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="607"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="427"/> <source>Information Board</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/MainWindow.cpp" line="627"/> + <location filename="../../src/ui/main_window/MainWindowUI.cpp" line="447"/> <source>Attached files:</source> <translation type="unfinished"></translation> </message> - <message> - <location filename="../../src/MainWindow.cpp" line="690"/> - <source>There is one unencrypted file in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source>There are </source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="692"/> - <source> unencrypted files in attachment folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="724"/> - <location filename="../../src/MainWindow.cpp" line="771"/> - <location filename="../../src/MainWindow.cpp" line="1074"/> - <source>No Key Selected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="731"/> - <location filename="../../src/MainWindow.cpp" line="778"/> - <location filename="../../src/MainWindow.cpp" line="1081"/> - <source>Invalid Operation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="732"/> - <source>The selected key contains a key that does not actually have a encrypt function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="733"/> - <location filename="../../src/MainWindow.cpp" line="780"/> - <location filename="../../src/MainWindow.cpp" line="1083"/> - <source><br/>For example the Following Key: <br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="779"/> - <source>The selected key contains a key that does not actually have a signature function.<br/></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../src/MainWindow.cpp" line="1082"/> - <source>The selected key cannot be used for signing and encryption at the same time.<br/></source> - <translation type="unfinished"></translation> - </message> </context> <context> <name>MimeTab</name> @@ -2717,56 +2717,56 @@ This is NOT your Public Key, so DON'T give it away.<br />Do you REALL <context> <name>TextEdit</name> <message> - <location filename="../../src/ui/TextEdit.cpp" line="49"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="49"/> <source>untitled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="68"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="76"/> <source>Open file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="93"/> - <location filename="../../src/ui/TextEdit.cpp" line="371"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="101"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="379"/> <source>Application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="94"/> - <location filename="../../src/ui/TextEdit.cpp" line="372"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="102"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="380"/> <source>Cannot read file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="143"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="151"/> <source>File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="144"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="152"/> <source>Cannot write file %1: %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="165"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="173"/> <source>Save file </source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="229"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="237"/> <source>Unsaved document</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="230"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="238"/> <source><h3>The document "%1" has been modified.<br/>Do you want to save your changes?</h3></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../src/ui/TextEdit.cpp" line="232"/> + <location filename="../../src/ui/widgets/TextEdit.cpp" line="240"/> <source><b>Note:</b> If you don't save these files, all changes are lost.<br/></source> <translation type="unfinished"></translation> </message> diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 471de47d..6fa77e5a 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -169,472 +169,6 @@ void MainWindow::saveSettings() { } } -void MainWindow::createActions() { - /* Main Menu - */ - newTabAct = new QAction(tr("&New"), this); - newTabAct->setIcon(QIcon(":misc_doc.png")); - QList<QKeySequence> newTabActShortcutList; - newTabActShortcutList.append(QKeySequence(Qt::CTRL + Qt::Key_N)); - newTabActShortcutList.append(QKeySequence(Qt::CTRL + Qt::Key_T)); - newTabAct->setShortcuts(newTabActShortcutList); - newTabAct->setToolTip(tr("Open a new file")); - connect(newTabAct, SIGNAL(triggered()), edit, SLOT(slotNewTab())); - - openAct = new QAction(tr("&Open..."), this); - openAct->setIcon(QIcon(":fileopen.png")); - openAct->setShortcut(QKeySequence::Open); - openAct->setToolTip(tr("Open an existing file")); - connect(openAct, SIGNAL(triggered()), edit, SLOT(slotOpen())); - - saveAct = new QAction(tr("&Save"), this); - saveAct->setIcon(QIcon(":filesave.png")); - saveAct->setShortcut(QKeySequence::Save); - saveAct->setToolTip(tr("Save the current File")); - connect(saveAct, SIGNAL(triggered()), edit, SLOT(slotSave())); - - saveAsAct = new QAction(tr("Save &As") + "...", this); - saveAsAct->setIcon(QIcon(":filesaveas.png")); - saveAsAct->setShortcut(QKeySequence::SaveAs); - saveAsAct->setToolTip(tr("Save the current File as...")); - connect(saveAsAct, SIGNAL(triggered()), edit, SLOT(slotSaveAs())); - - printAct = new QAction(tr("&Print"), this); - printAct->setIcon(QIcon(":fileprint.png")); - printAct->setShortcut(QKeySequence::Print); - printAct->setToolTip(tr("Print Document")); - connect(printAct, SIGNAL(triggered()), edit, SLOT(slotPrint())); - - closeTabAct = new QAction(tr("&Close"), this); - closeTabAct->setShortcut(QKeySequence::Close); - closeTabAct->setToolTip(tr("Close file")); - connect(closeTabAct, SIGNAL(triggered()), edit, SLOT(slotCloseTab())); - - quitAct = new QAction(tr("&Quit"), this); - quitAct->setShortcut(QKeySequence::Quit); - quitAct->setIcon(QIcon(":exit.png")); - quitAct->setToolTip(tr("Quit Program")); - connect(quitAct, SIGNAL(triggered()), this, SLOT(close())); - - /* Edit Menu - */ - undoAct = new QAction(tr("&Undo"), this); - undoAct->setShortcut(QKeySequence::Undo); - undoAct->setToolTip(tr("Undo Last Edit Action")); - connect(undoAct, SIGNAL(triggered()), edit, SLOT(slotUndo())); - - redoAct = new QAction(tr("&Redo"), this); - redoAct->setShortcut(QKeySequence::Redo); - redoAct->setToolTip(tr("Redo Last Edit Action")); - connect(redoAct, SIGNAL(triggered()), edit, SLOT(slotRedo())); - - zoomInAct = new QAction(tr("Zoom In"), this); - zoomInAct->setShortcut(QKeySequence::ZoomIn); - connect(zoomInAct, SIGNAL(triggered()), edit, SLOT(slotZoomIn())); - - zoomOutAct = new QAction(tr("Zoom Out"), this); - zoomOutAct->setShortcut(QKeySequence::ZoomOut); - connect(zoomOutAct, SIGNAL(triggered()), edit, SLOT(slotZoomOut())); - - pasteAct = new QAction(tr("&Paste"), this); - pasteAct->setIcon(QIcon(":button_paste.png")); - pasteAct->setShortcut(QKeySequence::Paste); - pasteAct->setToolTip(tr("Paste Text From Clipboard")); - connect(pasteAct, SIGNAL(triggered()), edit, SLOT(slotPaste())); - - cutAct = new QAction(tr("Cu&t"), this); - cutAct->setIcon(QIcon(":button_cut.png")); - cutAct->setShortcut(QKeySequence::Cut); - cutAct->setToolTip(tr("Cut the current selection's contents to the " - "clipboard")); - connect(cutAct, SIGNAL(triggered()), edit, SLOT(slotCut())); - - copyAct = new QAction(tr("&Copy"), this); - copyAct->setIcon(QIcon(":button_copy.png")); - copyAct->setShortcut(QKeySequence::Copy); - copyAct->setToolTip(tr("Copy the current selection's contents to the " - "clipboard")); - connect(copyAct, SIGNAL(triggered()), edit, SLOT(slotCopy())); - - quoteAct = new QAction(tr("&Quote"), this); - quoteAct->setIcon(QIcon(":quote.png")); - quoteAct->setToolTip(tr("Quote whole text")); - connect(quoteAct, SIGNAL(triggered()), edit, SLOT(slotQuote())); - - selectAllAct = new QAction(tr("Select &All"), this); - selectAllAct->setIcon(QIcon(":edit.png")); - selectAllAct->setShortcut(QKeySequence::SelectAll); - selectAllAct->setToolTip(tr("Select the whole text")); - connect(selectAllAct, SIGNAL(triggered()), edit, SLOT(slotSelectAll())); - - findAct = new QAction(tr("&Find"), this); - findAct->setShortcut(QKeySequence::Find); - findAct->setToolTip(tr("Find a word")); - connect(findAct, SIGNAL(triggered()), this, SLOT(slotFind())); - - cleanDoubleLinebreaksAct = new QAction(tr("Remove &spacing"), this); - cleanDoubleLinebreaksAct->setIcon(QIcon(":format-line-spacing-triple.png")); - //cleanDoubleLineBreaksAct->setShortcut(QKeySequence::SelectAll); - cleanDoubleLinebreaksAct->setToolTip(tr("Remove double linebreaks, e.g. in pasted text from webmailer")); - connect(cleanDoubleLinebreaksAct, SIGNAL(triggered()), this, SLOT(slotCleanDoubleLinebreaks())); - - openSettingsAct = new QAction(tr("Se&ttings"), this); - openSettingsAct->setToolTip(tr("Open settings dialog")); - openSettingsAct->setShortcut(QKeySequence::Preferences); - connect(openSettingsAct, SIGNAL(triggered()), this, SLOT(slotOpenSettingsDialog())); - - /* Crypt Menu - */ - encryptAct = new QAction(tr("&Encrypt"), this); - encryptAct->setIcon(QIcon(":encrypted.png")); - encryptAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E)); - encryptAct->setToolTip(tr("Encrypt Message")); - connect(encryptAct, SIGNAL(triggered()), this, SLOT(slotEncrypt())); - - encryptSignAct = new QAction(tr("&Encrypt &Sign"), this); - encryptSignAct->setIcon(QIcon(":encrypted_signed.png")); - encryptSignAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_E)); - encryptSignAct->setToolTip(tr("Encrypt and Sign Message")); - connect(encryptSignAct, SIGNAL(triggered()), this, SLOT(slotEncryptSign())); - - decryptAct = new QAction(tr("&Decrypt"), this); - decryptAct->setIcon(QIcon(":decrypted.png")); - decryptAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_D)); - decryptAct->setToolTip(tr("Decrypt Message")); - connect(decryptAct, SIGNAL(triggered()), this, SLOT(slotDecrypt())); - - decryptVerifyAct = new QAction(tr("&Decrypt &Verify"), this); - decryptVerifyAct->setIcon(QIcon(":decrypted_verified.png")); - decryptVerifyAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D)); - decryptVerifyAct->setToolTip(tr("Decrypt and Verify Message")); - connect(decryptVerifyAct, SIGNAL(triggered()), this, SLOT(slotDecryptVerify())); - - /* - * File encryption submenu - */ - fileEncryptAct = new QAction(tr("&Encrypt File"), this); - fileEncryptAct->setToolTip(tr("Encrypt File")); - connect(fileEncryptAct, SIGNAL(triggered()), this, SLOT(slotFileEncrypt())); - - fileDecryptAct = new QAction(tr("&Decrypt File"), this); - fileDecryptAct->setToolTip(tr("Decrypt File")); - connect(fileDecryptAct, SIGNAL(triggered()), this, SLOT(slotFileDecrypt())); - - fileSignAct = new QAction(tr("&Sign File"), this); - fileSignAct->setToolTip(tr("Sign File")); - connect(fileSignAct, SIGNAL(triggered()), this, SLOT(slotFileSign())); - - fileVerifyAct = new QAction(tr("&Verify File"), this); - fileVerifyAct->setToolTip(tr("Verify File")); - connect(fileVerifyAct, SIGNAL(triggered()), this, SLOT(slotFileVerify())); - - - signAct = new QAction(tr("&Sign"), this); - signAct->setIcon(QIcon(":signature.png")); - signAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I)); - signAct->setToolTip(tr("Sign Message")); - connect(signAct, SIGNAL(triggered()), this, SLOT(slotSign())); - - verifyAct = new QAction(tr("&Verify"), this); - verifyAct->setIcon(QIcon(":verify.png")); - verifyAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_V)); - verifyAct->setToolTip(tr("Verify Message")); - connect(verifyAct, SIGNAL(triggered()), this, SLOT(slotVerify())); - - /* Key Menu - */ - - importKeyFromEditAct = new QAction(tr("&Editor"), this); - importKeyFromEditAct->setIcon(QIcon(":txt.png")); - importKeyFromEditAct->setToolTip(tr("Import New Key From Editor")); - connect(importKeyFromEditAct, SIGNAL(triggered()), this, SLOT(slotImportKeyFromEdit())); - - openKeyManagementAct = new QAction(tr("Manage &keys"), this); - openKeyManagementAct->setIcon(QIcon(":keymgmt.png")); - openKeyManagementAct->setToolTip(tr("Open Keymanagement")); - connect(openKeyManagementAct, SIGNAL(triggered()), this, SLOT(slotOpenKeyManagement())); - - /* About Menu - */ - aboutAct = new QAction(tr("&About"), this); - aboutAct->setIcon(QIcon(":help.png")); - aboutAct->setToolTip(tr("Show the application's About box")); - connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotAbout())); - - startWizardAct = new QAction(tr("Open &Wizard"), this); - startWizardAct->setToolTip(tr("Open the wizard")); - connect(startWizardAct, SIGNAL(triggered()), this, SLOT(slotStartWizard())); - - /* Popup-Menu-Action for KeyList - */ - appendSelectedKeysAct = new QAction(tr("Append Selected Key(s) To Text"), this); - appendSelectedKeysAct->setToolTip(tr("Append The Selected Keys To Text in Editor")); - connect(appendSelectedKeysAct, SIGNAL(triggered()), this, SLOT(slotAppendSelectedKeys())); - - copyMailAddressToClipboardAct = new QAction(tr("Copy EMail-address"), this); - copyMailAddressToClipboardAct->setToolTip(tr("Copy selected EMailaddress to clipboard")); - connect(copyMailAddressToClipboardAct, SIGNAL(triggered()), this, SLOT(slotCopyMailAddressToClipboard())); - - // TODO: find central place for shared actions, to avoid code-duplication with keymgmt.cpp - showKeyDetailsAct = new QAction(tr("Show Key Details"), this); - showKeyDetailsAct->setToolTip(tr("Show Details for this Key")); - connect(showKeyDetailsAct, SIGNAL(triggered()), this, SLOT(slotShowKeyDetails())); - - refreshKeysFromKeyserverAct = new QAction(tr("Refresh Key From Key Server"), this); - refreshKeysFromKeyserverAct->setToolTip(tr("Refresh key from default key server")); - connect(refreshKeysFromKeyserverAct, SIGNAL(triggered()), this, SLOT(refreshKeysFromKeyserver())); - - uploadKeyToServerAct = new QAction(tr("Upload Public Key(s) To Server"), this); - uploadKeyToServerAct->setToolTip(tr("Upload The Selected Public Keys To Server")); - connect(uploadKeyToServerAct, SIGNAL(triggered()), this, SLOT(uploadKeyToServer())); - /* Key-Shortcuts for Tab-Switchung-Action - */ - switchTabUpAct = new QAction(this); - switchTabUpAct->setShortcut(QKeySequence::NextChild); - connect(switchTabUpAct, SIGNAL(triggered()), edit, SLOT(slotSwitchTabUp())); - this->addAction(switchTabUpAct); - - switchTabDownAct = new QAction(this); - switchTabDownAct->setShortcut(QKeySequence::PreviousChild); - connect(switchTabDownAct, SIGNAL(triggered()), edit, SLOT(slotSwitchTabDown())); - this->addAction(switchTabDownAct); - - cutPgpHeaderAct = new QAction(tr("Remove PGP Header"), this); - connect(cutPgpHeaderAct, SIGNAL(triggered()), this, SLOT(slotCutPgpHeader())); - - addPgpHeaderAct = new QAction(tr("Add PGP Header"), this); - connect(addPgpHeaderAct, SIGNAL(triggered()), this, SLOT(slotAddPgpHeader())); -} - -void MainWindow::slotDisableTabActions(int number) { - bool disable; - - if (number == -1) { - disable = true; - } else { - disable = false; - } - printAct->setDisabled(disable); - saveAct->setDisabled(disable); - saveAsAct->setDisabled(disable); - quoteAct->setDisabled(disable); - cutAct->setDisabled(disable); - copyAct->setDisabled(disable); - pasteAct->setDisabled(disable); - closeTabAct->setDisabled(disable); - selectAllAct->setDisabled(disable); - findAct->setDisabled(disable); - verifyAct->setDisabled(disable); - signAct->setDisabled(disable); - encryptAct->setDisabled(disable); - decryptAct->setDisabled(disable); - - redoAct->setDisabled(disable); - undoAct->setDisabled(disable); - zoomOutAct->setDisabled(disable); - zoomInAct->setDisabled(disable); - cleanDoubleLinebreaksAct->setDisabled(disable); - quoteAct->setDisabled(disable); - appendSelectedKeysAct->setDisabled(disable); - importKeyFromEditAct->setDisabled(disable); - - cutPgpHeaderAct->setDisabled(disable); - addPgpHeaderAct->setDisabled(disable); -} - -void MainWindow::createMenus() { - fileMenu = menuBar()->addMenu(tr("&File")); - fileMenu->addAction(newTabAct); - fileMenu->addAction(openAct); - fileMenu->addSeparator(); - fileMenu->addAction(saveAct); - fileMenu->addAction(saveAsAct); - fileMenu->addSeparator(); - fileMenu->addAction(printAct); - fileMenu->addSeparator(); - fileMenu->addAction(closeTabAct); - fileMenu->addAction(quitAct); - - editMenu = menuBar()->addMenu(tr("&Edit")); - editMenu->addAction(undoAct); - editMenu->addAction(redoAct); - editMenu->addSeparator(); - editMenu->addAction(zoomInAct); - editMenu->addAction(zoomOutAct); - editMenu->addSeparator(); - editMenu->addAction(copyAct); - editMenu->addAction(cutAct); - editMenu->addAction(pasteAct); - editMenu->addAction(selectAllAct); - editMenu->addAction(findAct); - editMenu->addSeparator(); - editMenu->addAction(quoteAct); - editMenu->addAction(cleanDoubleLinebreaksAct); - editMenu->addSeparator(); - editMenu->addAction(openSettingsAct); - - fileEncMenu = new QMenu(tr("&File...")); - fileEncMenu->addAction(fileEncryptAct); - fileEncMenu->addAction(fileDecryptAct); - fileEncMenu->addAction(fileSignAct); - fileEncMenu->addAction(fileVerifyAct); - - cryptMenu = menuBar()->addMenu(tr("&Crypt")); - cryptMenu->addAction(encryptAct); - cryptMenu->addAction(encryptSignAct); - cryptMenu->addAction(decryptAct); - cryptMenu->addAction(decryptVerifyAct); - cryptMenu->addSeparator(); - cryptMenu->addAction(signAct); - cryptMenu->addAction(verifyAct); - cryptMenu->addSeparator(); - cryptMenu->addMenu(fileEncMenu); - - keyMenu = menuBar()->addMenu(tr("&Keys")); - importKeyMenu = keyMenu->addMenu(tr("&Import Key")); - importKeyMenu->setIcon(QIcon(":key_import.png")); - importKeyMenu->addAction(keyMgmt->importKeyFromFileAct); - importKeyMenu->addAction(importKeyFromEditAct); - importKeyMenu->addAction(keyMgmt->importKeyFromClipboardAct); - importKeyMenu->addAction(keyMgmt->importKeyFromKeyServerAct); - importKeyMenu->addAction(keyMgmt->importKeyFromKeyServerAct); - keyMenu->addAction(openKeyManagementAct); - - steganoMenu = menuBar()->addMenu(tr("&Steganography")); - steganoMenu->addAction(cutPgpHeaderAct); - steganoMenu->addAction(addPgpHeaderAct); - - // Hide menu, when steganography menu is disabled in settings - if (!settings.value("advanced/steganography").toBool()) { - this->menuBar()->removeAction(steganoMenu->menuAction()); - } - - viewMenu = menuBar()->addMenu(tr("&View")); - - helpMenu = menuBar()->addMenu(tr("&Help")); - helpMenu->addAction(startWizardAct); - helpMenu->addSeparator(); - helpMenu->addAction(aboutAct); - -} - -void MainWindow::createToolBars() { - fileToolBar = addToolBar(tr("File")); - fileToolBar->setObjectName("fileToolBar"); - fileToolBar->addAction(newTabAct); - fileToolBar->addAction(openAct); - fileToolBar->addAction(saveAct); - fileToolBar->hide(); - viewMenu->addAction(fileToolBar->toggleViewAction()); - - cryptToolBar = addToolBar(tr("Crypt")); - cryptToolBar->setObjectName("cryptToolBar"); - cryptToolBar->addAction(encryptAct); - cryptToolBar->addAction(encryptSignAct); - cryptToolBar->addAction(decryptAct); - cryptToolBar->addAction(decryptVerifyAct); - cryptToolBar->addAction(signAct); - cryptToolBar->addAction(verifyAct); - viewMenu->addAction(cryptToolBar->toggleViewAction()); - - keyToolBar = addToolBar(tr("Key")); - keyToolBar->setObjectName("keyToolBar"); - keyToolBar->addAction(openKeyManagementAct); - viewMenu->addAction(keyToolBar->toggleViewAction()); - - editToolBar = addToolBar(tr("Edit")); - editToolBar->setObjectName("editToolBar"); - editToolBar->addAction(copyAct); - editToolBar->addAction(pasteAct); - editToolBar->addAction(selectAllAct); - viewMenu->addAction(editToolBar->toggleViewAction()); - - specialEditToolBar = addToolBar(tr("Special Edit")); - specialEditToolBar->setObjectName("specialEditToolBar"); - specialEditToolBar->addAction(quoteAct); - specialEditToolBar->addAction(cleanDoubleLinebreaksAct); - specialEditToolBar->hide(); - viewMenu->addAction(specialEditToolBar->toggleViewAction()); - - // Add dropdown menu for key import to keytoolbar - importButton = new QToolButton(); - importButton->setMenu(importKeyMenu); - importButton->setPopupMode(QToolButton::InstantPopup); - importButton->setIcon(QIcon(":key_import.png")); - importButton->setToolTip(tr("Import key from...")); - importButton->setText(tr("Import key")); - keyToolBar->addWidget(importButton); - - // Add dropdown menu for file encryption/decryption to crypttoolbar - fileEncButton = new QToolButton(); - fileEncButton->setMenu(fileEncMenu); - fileEncButton->setPopupMode(QToolButton::InstantPopup); - fileEncButton->setIcon(QIcon(":fileencryption.png")); - fileEncButton->setToolTip(tr("Opera File")); - fileEncButton->setText(tr("File Crypto")); - cryptToolBar->addWidget(fileEncButton); - -} - -void MainWindow::createStatusBar() { - auto *statusBarBox = new QWidget(); - auto *statusBarBoxLayout = new QHBoxLayout(); - QPixmap *pixmap; - - // icon which should be shown if there are files in attachments-folder - pixmap = new QPixmap(":statusbar_icon.png"); - statusBarIcon = new QLabel(); - statusBar()->addWidget(statusBarIcon); - - statusBarIcon->setPixmap(*pixmap); - statusBar()->insertPermanentWidget(0, statusBarIcon, 0); - statusBarIcon->hide(); - statusBar()->showMessage(tr("Ready"), 2000); - statusBarBox->setLayout(statusBarBoxLayout); -} - -void MainWindow::createDockWindows() { - /* KeyList-Dockwindow - */ - keyListDock = new QDockWidget(tr("Key ToolBox"), this); - keyListDock->setObjectName("EncryptDock"); - keyListDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - keyListDock->setMinimumWidth(460); - addDockWidget(Qt::RightDockWidgetArea, keyListDock); - keyListDock->setWidget(mKeyList); - viewMenu->addAction(keyListDock->toggleViewAction()); - - infoBoardDock = new QDockWidget(tr("Information Board"), this); - infoBoardDock->setObjectName("Information Board"); - infoBoardDock->setAllowedAreas(Qt::BottomDockWidgetArea); - addDockWidget(Qt::BottomDockWidgetArea, infoBoardDock); - infoBoardDock->setWidget(infoBoard); - infoBoardDock->widget()->layout()->setContentsMargins(0, 0, 0, 0); - viewMenu->addAction(infoBoardDock->toggleViewAction()); - - /* Attachments-Dockwindow - */ - if (settings.value("mime/parseMime").toBool()) { - createAttachmentDock(); - } -} - -void MainWindow::createAttachmentDock() { - if (attachmentDockCreated) { - return; - } - mAttachments = new Attachments(); - attachmentDock = new QDockWidget(tr("Attached files:"), this); - attachmentDock->setObjectName("AttachmentDock"); - attachmentDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); - addDockWidget(Qt::LeftDockWidgetArea, attachmentDock); - attachmentDock->setWidget(mAttachments); - // hide till attachment is decrypted - viewMenu->addAction(attachmentDock->toggleViewAction()); - attachmentDock->hide(); - attachmentDockCreated = true; -} - void MainWindow::closeAttachmentDock() { if (!attachmentDockCreated) { return; @@ -660,494 +194,3 @@ void MainWindow::closeEvent(QCloseEvent *event) { mCtx->clearPasswordCache(); } -void MainWindow::slotAbout() { - new AboutDialog(this); -} - -void MainWindow::slotSetStatusBarText(const QString &text) { - statusBar()->showMessage(text, 20000); -} - -void MainWindow::slotStartWizard() { - auto *wizard = new Wizard(mCtx, keyMgmt, this); - wizard->show(); - wizard->setModal(true); -} - - -void MainWindow::slotCheckAttachmentFolder() { - // TODO: always check? - if (!settings.value("mime/parseMime").toBool()) { - return; - } - - QString attachmentDir = qApp->applicationDirPath() + "/attachments/"; - // filenum minus . and .. - uint filenum = QDir(attachmentDir).count() - 2; - if (filenum > 0) { - QString statusText; - if (filenum == 1) { - statusText = tr("There is one unencrypted file in attachment folder"); - } else { - statusText = tr("There are ") + QString::number(filenum) + tr(" unencrypted files in attachment folder"); - } - statusBarIcon->setStatusTip(statusText); - statusBarIcon->show(); - } else { - statusBarIcon->hide(); - } -} - -void MainWindow::slotImportKeyFromEdit() { - if (edit->tabCount() == 0 || edit->slotCurPage() == 0) { - return; - } - - keyMgmt->slotImportKeys(edit->curTextPage()->toPlainText().toUtf8()); -} - -void MainWindow::slotOpenKeyManagement() { - keyMgmt->show(); - keyMgmt->raise(); - keyMgmt->activateWindow(); -} - -void MainWindow::slotEncrypt() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QVector<GpgKey> keys; - mKeyList->getCheckedKeys(keys); - - if (keys.count() == 0) { - QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); - return; - } - - for (const auto &key : keys) { - if (!GpgME::GpgContext::checkIfKeyCanEncr(key)) { - QMessageBox::information(nullptr, - tr("Invalid Operation"), - tr("The selected key contains a key that does not actually have a encrypt function.<br/>") - + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); - return; - - } - } - - auto *tmp = new QByteArray(); - - gpgme_encrypt_result_t result = nullptr; - auto error = mCtx->encrypt(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, &result); - - auto resultAnalyse = new EncryptResultAnalyse(error, result); - auto &reportText = resultAnalyse->getResultReport(); - - auto *tmp2 = new QString(*tmp); - edit->slotFillTextEditWithText(*tmp2); - infoBoard->associateTextEdit(edit->curTextPage()); - - if (resultAnalyse->getStatus() < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (resultAnalyse->getStatus() > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - delete resultAnalyse; -} - -void MainWindow::slotSign() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QVector<GpgKey> keys; - - mKeyList->getPrivateCheckedKeys(keys); - - if (keys.isEmpty()) { - QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); - return; - } - - for (const auto &key : keys) { - if (!GpgME::GpgContext::checkIfKeyCanSign(key)) { - QMessageBox::information(nullptr, - tr("Invalid Operation"), - tr("The selected key contains a key that does not actually have a signature function.<br/>") - + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); - return; - } - } - - auto *tmp = new QByteArray(); - - gpgme_sign_result_t result = nullptr; - - auto error = mCtx->sign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, false, &result); - infoBoard->associateTextEdit(edit->curTextPage()); - edit->slotFillTextEditWithText(QString::fromUtf8(*tmp)); - - auto resultAnalyse = new SignResultAnalyse(error, result); - - auto &reportText = resultAnalyse->getResultReport(); - if (resultAnalyse->getStatus() < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (resultAnalyse->getStatus() > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - delete resultAnalyse; -} - -void MainWindow::slotDecrypt() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - auto *decrypted = new QByteArray(); - QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); - GpgME::GpgContext::preventNoDataErr(&text); - - gpgme_decrypt_result_t result = nullptr; - // try decrypt, if fail do nothing, especially don't replace text - auto error = mCtx->decrypt(text, decrypted, &result); - infoBoard->associateTextEdit(edit->curTextPage()); - - if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) - edit->slotFillTextEditWithText(QString::fromUtf8(*decrypted)); - - auto resultAnalyse = new DecryptResultAnalyse(mCtx, error, result); - - auto &reportText = resultAnalyse->getResultReport(); - if (resultAnalyse->getStatus() < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (resultAnalyse->getStatus() > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - delete resultAnalyse; -} - -void MainWindow::slotFind() { - if (edit->tabCount() == 0 || edit->curTextPage() == nullptr) { - return; - } - - // At first close verifynotification, if existing - edit->slotCurPage()->closeNoteByClass("findwidget"); - - auto *fw = new FindWidget(this, edit->curTextPage()); - edit->slotCurPage()->showNotificationWidget(fw, "findWidget"); - -} - -void MainWindow::slotVerify() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - // If an unknown key is found, enable the importfromkeyserveraction - - QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); - GpgME::GpgContext::preventNoDataErr(&text); - - - gpgme_verify_result_t result; - - auto error = mCtx->verify(&text, nullptr, &result); - - auto resultAnalyse = new VerifyResultAnalyse(mCtx, error, result); - infoBoard->associateTextEdit(edit->curTextPage()); - - auto &reportText = resultAnalyse->getResultReport(); - if (resultAnalyse->getStatus() < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (resultAnalyse->getStatus() > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - if (resultAnalyse->getStatus() >= 0) { - infoBoard->resetOptionActionsMenu(); - infoBoard->addOptionalAction("Show Verify Details", [this, error, result]() { - VerifyDetailsDialog(this, mCtx, mKeyList, error, result); - }); - } - - delete resultAnalyse; -} - -/* - * Append the selected (not checked!) Key(s) To Textedit - */ -void MainWindow::slotAppendSelectedKeys() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - auto *keyArray = new QByteArray(); - mCtx->exportKeys(mKeyList->getSelected(), keyArray); - edit->curTextPage()->append(*keyArray); -} - -void MainWindow::slotCopyMailAddressToClipboard() { - if (mKeyList->getSelected()->isEmpty()) { - return; - } - auto &key = mCtx->getKeyById(mKeyList->getSelected()->first()); - QClipboard *cb = QApplication::clipboard(); - QString mail = key.email; - cb->setText(mail); -} - -void MainWindow::slotShowKeyDetails() { - if (mKeyList->getSelected()->isEmpty()) { - return; - } - auto &key = mCtx->getKeyById(mKeyList->getSelected()->first()); - if (key.good) { - new KeyDetailsDialog(mCtx, key, this); - } -} - -void MainWindow::refreshKeysFromKeyserver() { - if (mKeyList->getSelected()->isEmpty()) { - return; - } - - auto *dialog = new KeyServerImportDialog(mCtx, mKeyList, true, this); - dialog->show(); - dialog->slotImport(*mKeyList->getSelected()); - -} - -void MainWindow::uploadKeyToServer() { - QVector<GpgKey> keys; - keys.append(mKeyList->getSelectedKey()); - auto *dialog = new KeyUploadDialog(mCtx, keys); -} - -void MainWindow::slotFileEncrypt() { - QStringList *keyList; - keyList = mKeyList->getChecked(); - new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Encrypt, this); -} - -void MainWindow::slotFileDecrypt() { - QStringList *keyList; - keyList = mKeyList->getChecked(); - new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Decrypt, this); -} - -void MainWindow::slotFileSign() { - QStringList *keyList; - keyList = mKeyList->getChecked(); - new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Sign, this); -} - -void MainWindow::slotFileVerify() { - QStringList *keyList; - keyList = mKeyList->getChecked(); - new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Verify, this); -} - -void MainWindow::slotOpenSettingsDialog() { - - QString preLang = settings.value("int/lang").toString(); - QString preKeydbPath = settings.value("gpgpaths/keydbpath").toString(); - - auto dialog = new SettingsDialog(mCtx, this); - - connect(dialog, &SettingsDialog::finished, this, [&] () -> void { - - qDebug() << "Setting Dialog Finished"; - - // Iconsize - QSize iconSize = settings.value("toolbar/iconsize", QSize(32, 32)).toSize(); - this->setIconSize(iconSize); - importButton->setIconSize(iconSize); - fileEncButton->setIconSize(iconSize); - - // Iconstyle - Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", - Qt::ToolButtonTextUnderIcon).toUInt()); - this->setToolButtonStyle(buttonStyle); - importButton->setToolButtonStyle(buttonStyle); - fileEncButton->setToolButtonStyle(buttonStyle); - - // Mime-settings - if (settings.value("mime/parseMime").toBool()) { - createAttachmentDock(); - } else if (attachmentDockCreated) { - closeAttachmentDock(); - } - - // restart mainwindow if necessary - if (getRestartNeeded()) { - if (edit->maybeSaveAnyTab()) { - saveSettings(); - qApp->exit(RESTART_CODE); - } - } - - // steganography hide/show - if (!settings.value("advanced/steganography").toBool()) { - this->menuBar()->removeAction(steganoMenu->menuAction()); - } else { - this->menuBar()->insertAction(viewMenu->menuAction(), steganoMenu->menuAction()); - } - }); - -} - -void MainWindow::slotCleanDoubleLinebreaks() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QString content = edit->curTextPage()->toPlainText(); - content.replace("\n\n", "\n"); - edit->slotFillTextEditWithText(content); -} - -void MainWindow::slotAddPgpHeader() { - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QString content = edit->curTextPage()->toPlainText().trimmed(); - - content.prepend("\n\n").prepend(GpgConstants::PGP_CRYPT_BEGIN); - content.append("\n").append(GpgConstants::PGP_CRYPT_END); - - edit->slotFillTextEditWithText(content); -} - -void MainWindow::slotCutPgpHeader() { - - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QString content = edit->curTextPage()->toPlainText(); - int start = content.indexOf(GpgConstants::PGP_CRYPT_BEGIN); - int end = content.indexOf(GpgConstants::PGP_CRYPT_END); - - if (start < 0 || end < 0) { - return; - } - - // remove head - int headEnd = content.indexOf("\n\n", start) + 2; - content.remove(start, headEnd - start); - - // remove tail - end = content.indexOf(GpgConstants::PGP_CRYPT_END); - content.remove(end, QString(GpgConstants::PGP_CRYPT_END).size()); - - edit->slotFillTextEditWithText(content.trimmed()); -} - -void MainWindow::slotSetRestartNeeded(bool needed) { - this->restartNeeded = needed; -} - -bool MainWindow::getRestartNeeded() const { - return this->restartNeeded; -} - -void MainWindow::slotEncryptSign() { - - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - QVector<GpgKey> keys; - mKeyList->getCheckedKeys(keys); - - if (keys.empty()) { - QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); - return; - } - - for (const auto &key : keys) { - if (!GpgME::GpgContext::checkIfKeyCanSign(key) || !GpgME::GpgContext::checkIfKeyCanEncr(key)) { - QMessageBox::information(nullptr, - tr("Invalid Operation"), - tr("The selected key cannot be used for signing and encryption at the same time.<br/>") - + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); - return; - } - } - - auto *tmp = new QByteArray(); - gpgme_encrypt_result_t encr_result = nullptr; - gpgme_sign_result_t sign_result = nullptr; - - auto error = mCtx->encryptSign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, &encr_result, &sign_result); - auto *tmp2 = new QString(*tmp); - edit->slotFillTextEditWithText(*tmp2); - - auto resultAnalyseEncr = new EncryptResultAnalyse(error, encr_result); - auto resultAnalyseSign = new SignResultAnalyse(error, sign_result); - int status = std::min(resultAnalyseEncr->getStatus(), resultAnalyseSign->getStatus()); - auto reportText = resultAnalyseEncr->getResultReport() + resultAnalyseSign->getResultReport(); - - infoBoard->associateTextEdit(edit->curTextPage()); - - if (status < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (status > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - delete resultAnalyseEncr; - delete resultAnalyseSign; -} - -void MainWindow::slotDecryptVerify() { - - if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { - return; - } - - auto *decrypted = new QByteArray(); - QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); - GpgME::GpgContext::preventNoDataErr(&text); - - gpgme_decrypt_result_t d_result = nullptr; - gpgme_verify_result_t v_result = nullptr; - // try decrypt, if fail do nothing, especially don't replace text - auto error = mCtx->decryptVerify(text, decrypted, &d_result, &v_result); - infoBoard->associateTextEdit(edit->curTextPage()); - - if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) - edit->slotFillTextEditWithText(QString::fromUtf8(*decrypted)); - - auto resultAnalyseDecrypt = new DecryptResultAnalyse(mCtx, error, d_result); - auto resultAnalyseVerify = new VerifyResultAnalyse(mCtx, error, v_result); - - int status = std::min(resultAnalyseDecrypt->getStatus(), resultAnalyseVerify->getStatus()); - auto &reportText = resultAnalyseDecrypt->getResultReport() + resultAnalyseVerify->getResultReport(); - if (status < 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); - else if (status > 0) - infoBoard->slotRefresh(reportText, INFO_ERROR_OK); - else - infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); - - if (resultAnalyseVerify->getStatus() >= 0) { - infoBoard->resetOptionActionsMenu(); - infoBoard->addOptionalAction("Show Verify Details", [this, error, v_result]() { - VerifyDetailsDialog(this, mCtx, mKeyList, error, v_result); - }); - } - delete resultAnalyseDecrypt; - delete resultAnalyseVerify; -} diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index d92a63ed..68f57b81 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -2,6 +2,7 @@ aux_source_directory(. UI_SOURCE) aux_source_directory(./keypair_details UI_SOURCE) aux_source_directory(./widgets UI_SOURCE) aux_source_directory(./keygen UI_SOURCE) +aux_source_directory(./main_window UI_SOURCE) add_library(gpgfrontend-ui STATIC ${UI_SOURCE}) diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp new file mode 100644 index 00000000..60c33d83 --- /dev/null +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -0,0 +1,360 @@ +/** + * 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 "MainWindow.h" + +void MainWindow::slotEncrypt() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QVector<GpgKey> keys; + mKeyList->getCheckedKeys(keys); + + if (keys.count() == 0) { + QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); + return; + } + + for (const auto &key : keys) { + if (!GpgME::GpgContext::checkIfKeyCanEncr(key)) { + QMessageBox::information(nullptr, + tr("Invalid Operation"), + tr("The selected key contains a key that does not actually have a encrypt function.<br/>") + + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); + return; + + } + } + + auto *tmp = new QByteArray(); + + gpgme_encrypt_result_t result = nullptr; + auto error = mCtx->encrypt(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, &result); + + auto resultAnalyse = new EncryptResultAnalyse(error, result); + auto &reportText = resultAnalyse->getResultReport(); + + auto *tmp2 = new QString(*tmp); + edit->slotFillTextEditWithText(*tmp2); + infoBoard->associateTextEdit(edit->curTextPage()); + + if (resultAnalyse->getStatus() < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (resultAnalyse->getStatus() > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + delete resultAnalyse; +} + +void MainWindow::slotSign() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QVector<GpgKey> keys; + + mKeyList->getPrivateCheckedKeys(keys); + + if (keys.isEmpty()) { + QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); + return; + } + + for (const auto &key : keys) { + if (!GpgME::GpgContext::checkIfKeyCanSign(key)) { + QMessageBox::information(nullptr, + tr("Invalid Operation"), + tr("The selected key contains a key that does not actually have a signature function.<br/>") + + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); + return; + } + } + + auto *tmp = new QByteArray(); + + gpgme_sign_result_t result = nullptr; + + auto error = mCtx->sign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, false, &result); + infoBoard->associateTextEdit(edit->curTextPage()); + edit->slotFillTextEditWithText(QString::fromUtf8(*tmp)); + + auto resultAnalyse = new SignResultAnalyse(error, result); + + auto &reportText = resultAnalyse->getResultReport(); + if (resultAnalyse->getStatus() < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (resultAnalyse->getStatus() > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + delete resultAnalyse; +} + +void MainWindow::slotDecrypt() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + auto *decrypted = new QByteArray(); + QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); + GpgME::GpgContext::preventNoDataErr(&text); + + gpgme_decrypt_result_t result = nullptr; + // try decrypt, if fail do nothing, especially don't replace text + auto error = mCtx->decrypt(text, decrypted, &result); + infoBoard->associateTextEdit(edit->curTextPage()); + + if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) + edit->slotFillTextEditWithText(QString::fromUtf8(*decrypted)); + + auto resultAnalyse = new DecryptResultAnalyse(mCtx, error, result); + + auto &reportText = resultAnalyse->getResultReport(); + if (resultAnalyse->getStatus() < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (resultAnalyse->getStatus() > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + delete resultAnalyse; +} + +void MainWindow::slotFind() { + if (edit->tabCount() == 0 || edit->curTextPage() == nullptr) { + return; + } + + // At first close verifynotification, if existing + edit->slotCurPage()->closeNoteByClass("findwidget"); + + auto *fw = new FindWidget(this, edit->curTextPage()); + edit->slotCurPage()->showNotificationWidget(fw, "findWidget"); + +} + +void MainWindow::slotVerify() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + // If an unknown key is found, enable the importfromkeyserveraction + + QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); + GpgME::GpgContext::preventNoDataErr(&text); + + + gpgme_verify_result_t result; + + auto error = mCtx->verify(&text, nullptr, &result); + + auto resultAnalyse = new VerifyResultAnalyse(mCtx, error, result); + infoBoard->associateTextEdit(edit->curTextPage()); + + auto &reportText = resultAnalyse->getResultReport(); + if (resultAnalyse->getStatus() < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (resultAnalyse->getStatus() > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + if (resultAnalyse->getStatus() >= 0) { + infoBoard->resetOptionActionsMenu(); + infoBoard->addOptionalAction("Show Verify Details", [this, error, result]() { + VerifyDetailsDialog(this, mCtx, mKeyList, error, result); + }); + } + + delete resultAnalyse; +} + +/* + * Append the selected (not checked!) Key(s) To Textedit + */ +void MainWindow::slotAppendSelectedKeys() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + auto *keyArray = new QByteArray(); + mCtx->exportKeys(mKeyList->getSelected(), keyArray); + edit->curTextPage()->append(*keyArray); +} + +void MainWindow::slotCopyMailAddressToClipboard() { + if (mKeyList->getSelected()->isEmpty()) { + return; + } + auto &key = mCtx->getKeyById(mKeyList->getSelected()->first()); + QClipboard *cb = QApplication::clipboard(); + QString mail = key.email; + cb->setText(mail); +} + +void MainWindow::slotShowKeyDetails() { + if (mKeyList->getSelected()->isEmpty()) { + return; + } + auto &key = mCtx->getKeyById(mKeyList->getSelected()->first()); + if (key.good) { + new KeyDetailsDialog(mCtx, key, this); + } +} + +void MainWindow::refreshKeysFromKeyserver() { + if (mKeyList->getSelected()->isEmpty()) { + return; + } + + auto *dialog = new KeyServerImportDialog(mCtx, mKeyList, true, this); + dialog->show(); + dialog->slotImport(*mKeyList->getSelected()); + +} + +void MainWindow::uploadKeyToServer() { + QVector<GpgKey> keys; + keys.append(mKeyList->getSelectedKey()); + auto *dialog = new KeyUploadDialog(mCtx, keys); +} + +void MainWindow::slotFileEncrypt() { + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Encrypt, this); +} + +void MainWindow::slotFileDecrypt() { + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Decrypt, this); +} + +void MainWindow::slotFileSign() { + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Sign, this); +} + +void MainWindow::slotFileVerify() { + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, *keyList, FileEncryptionDialog::Verify, this); +} + +void MainWindow::slotEncryptSign() { + + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QVector<GpgKey> keys; + mKeyList->getCheckedKeys(keys); + + if (keys.empty()) { + QMessageBox::critical(nullptr, tr("No Key Selected"), tr("No Key Selected")); + return; + } + + for (const auto &key : keys) { + if (!GpgME::GpgContext::checkIfKeyCanSign(key) || !GpgME::GpgContext::checkIfKeyCanEncr(key)) { + QMessageBox::information(nullptr, + tr("Invalid Operation"), + tr("The selected key cannot be used for signing and encryption at the same time.<br/>") + + tr("<br/>For example the Following Key: <br/>") + key.uids.first().uid); + return; + } + } + + auto *tmp = new QByteArray(); + gpgme_encrypt_result_t encr_result = nullptr; + gpgme_sign_result_t sign_result = nullptr; + + auto error = mCtx->encryptSign(keys, edit->curTextPage()->toPlainText().toUtf8(), tmp, &encr_result, &sign_result); + auto *tmp2 = new QString(*tmp); + edit->slotFillTextEditWithText(*tmp2); + + auto resultAnalyseEncr = new EncryptResultAnalyse(error, encr_result); + auto resultAnalyseSign = new SignResultAnalyse(error, sign_result); + int status = std::min(resultAnalyseEncr->getStatus(), resultAnalyseSign->getStatus()); + auto reportText = resultAnalyseEncr->getResultReport() + resultAnalyseSign->getResultReport(); + + infoBoard->associateTextEdit(edit->curTextPage()); + + if (status < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (status > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + delete resultAnalyseEncr; + delete resultAnalyseSign; +} + +void MainWindow::slotDecryptVerify() { + + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + auto *decrypted = new QByteArray(); + QByteArray text = edit->curTextPage()->toPlainText().toUtf8(); + GpgME::GpgContext::preventNoDataErr(&text); + + gpgme_decrypt_result_t d_result = nullptr; + gpgme_verify_result_t v_result = nullptr; + // try decrypt, if fail do nothing, especially don't replace text + auto error = mCtx->decryptVerify(text, decrypted, &d_result, &v_result); + infoBoard->associateTextEdit(edit->curTextPage()); + + if(gpgme_err_code(error) == GPG_ERR_NO_ERROR) + edit->slotFillTextEditWithText(QString::fromUtf8(*decrypted)); + + auto resultAnalyseDecrypt = new DecryptResultAnalyse(mCtx, error, d_result); + auto resultAnalyseVerify = new VerifyResultAnalyse(mCtx, error, v_result); + + int status = std::min(resultAnalyseDecrypt->getStatus(), resultAnalyseVerify->getStatus()); + auto &reportText = resultAnalyseDecrypt->getResultReport() + resultAnalyseVerify->getResultReport(); + if (status < 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_CRITICAL); + else if (status > 0) + infoBoard->slotRefresh(reportText, INFO_ERROR_OK); + else + infoBoard->slotRefresh(reportText, INFO_ERROR_WARN); + + if (resultAnalyseVerify->getStatus() >= 0) { + infoBoard->resetOptionActionsMenu(); + infoBoard->addOptionalAction("Show Verify Details", [this, error, v_result]() { + VerifyDetailsDialog(this, mCtx, mKeyList, error, v_result); + }); + } + delete resultAnalyseDecrypt; + delete resultAnalyseVerify; +} diff --git a/src/ui/main_window/MainWindowSlotUI.cpp b/src/ui/main_window/MainWindowSlotUI.cpp new file mode 100644 index 00000000..8ee09f64 --- /dev/null +++ b/src/ui/main_window/MainWindowSlotUI.cpp @@ -0,0 +1,219 @@ +/** + * 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 "MainWindow.h" + +void MainWindow::slotAbout() { + new AboutDialog(this); +} + +void MainWindow::slotSetStatusBarText(const QString &text) { + statusBar()->showMessage(text, 20000); +} + +void MainWindow::slotStartWizard() { + auto *wizard = new Wizard(mCtx, keyMgmt, this); + wizard->show(); + wizard->setModal(true); +} + + +void MainWindow::slotCheckAttachmentFolder() { + // TODO: always check? + if (!settings.value("mime/parseMime").toBool()) { + return; + } + + QString attachmentDir = qApp->applicationDirPath() + "/attachments/"; + // filenum minus . and .. + uint filenum = QDir(attachmentDir).count() - 2; + if (filenum > 0) { + QString statusText; + if (filenum == 1) { + statusText = tr("There is one unencrypted file in attachment folder"); + } else { + statusText = tr("There are ") + QString::number(filenum) + tr(" unencrypted files in attachment folder"); + } + statusBarIcon->setStatusTip(statusText); + statusBarIcon->show(); + } else { + statusBarIcon->hide(); + } +} + +void MainWindow::slotImportKeyFromEdit() { + if (edit->tabCount() == 0 || edit->slotCurPage() == 0) { + return; + } + + keyMgmt->slotImportKeys(edit->curTextPage()->toPlainText().toUtf8()); +} + +void MainWindow::slotOpenKeyManagement() { + keyMgmt->show(); + keyMgmt->raise(); + keyMgmt->activateWindow(); +} + +void MainWindow::slotOpenFileTab() { + edit->slotNewFileTab(); +} + +void MainWindow::slotDisableTabActions(int number) { + bool disable; + + if (number == -1) + disable = true; + else + disable = false; + + printAct->setDisabled(disable); + saveAct->setDisabled(disable); + saveAsAct->setDisabled(disable); + quoteAct->setDisabled(disable); + cutAct->setDisabled(disable); + copyAct->setDisabled(disable); + pasteAct->setDisabled(disable); + closeTabAct->setDisabled(disable); + selectAllAct->setDisabled(disable); + findAct->setDisabled(disable); + verifyAct->setDisabled(disable); + signAct->setDisabled(disable); + encryptAct->setDisabled(disable); + decryptAct->setDisabled(disable); + + redoAct->setDisabled(disable); + undoAct->setDisabled(disable); + zoomOutAct->setDisabled(disable); + zoomInAct->setDisabled(disable); + cleanDoubleLinebreaksAct->setDisabled(disable); + quoteAct->setDisabled(disable); + appendSelectedKeysAct->setDisabled(disable); + importKeyFromEditAct->setDisabled(disable); + + cutPgpHeaderAct->setDisabled(disable); + addPgpHeaderAct->setDisabled(disable); +} + +void MainWindow::slotOpenSettingsDialog() { + + auto dialog = new SettingsDialog(mCtx, this); + + connect(dialog, &SettingsDialog::finished, this, [&] () -> void { + + qDebug() << "Setting Dialog Finished"; + + // Iconsize + QSize iconSize = settings.value("toolbar/iconsize", QSize(32, 32)).toSize(); + this->setIconSize(iconSize); + importButton->setIconSize(iconSize); + fileEncButton->setIconSize(iconSize); + + // Iconstyle + Qt::ToolButtonStyle buttonStyle = static_cast<Qt::ToolButtonStyle>(settings.value("toolbar/iconstyle", + Qt::ToolButtonTextUnderIcon).toUInt()); + this->setToolButtonStyle(buttonStyle); + importButton->setToolButtonStyle(buttonStyle); + fileEncButton->setToolButtonStyle(buttonStyle); + + // Mime-settings + if (settings.value("mime/parseMime").toBool()) { + createAttachmentDock(); + } else if (attachmentDockCreated) { + closeAttachmentDock(); + } + + // restart mainwindow if necessary + if (getRestartNeeded()) { + if (edit->maybeSaveAnyTab()) { + saveSettings(); + qApp->exit(RESTART_CODE); + } + } + + // steganography hide/show + if (!settings.value("advanced/steganography").toBool()) { + this->menuBar()->removeAction(steganoMenu->menuAction()); + } else { + this->menuBar()->insertAction(viewMenu->menuAction(), steganoMenu->menuAction()); + } + }); + +} + +void MainWindow::slotCleanDoubleLinebreaks() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QString content = edit->curTextPage()->toPlainText(); + content.replace("\n\n", "\n"); + edit->slotFillTextEditWithText(content); +} + +void MainWindow::slotAddPgpHeader() { + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QString content = edit->curTextPage()->toPlainText().trimmed(); + + content.prepend("\n\n").prepend(GpgConstants::PGP_CRYPT_BEGIN); + content.append("\n").append(GpgConstants::PGP_CRYPT_END); + + edit->slotFillTextEditWithText(content); +} + +void MainWindow::slotCutPgpHeader() { + + if (edit->tabCount() == 0 || edit->slotCurPage() == nullptr) { + return; + } + + QString content = edit->curTextPage()->toPlainText(); + int start = content.indexOf(GpgConstants::PGP_CRYPT_BEGIN); + int end = content.indexOf(GpgConstants::PGP_CRYPT_END); + + if (start < 0 || end < 0) { + return; + } + + // remove head + int headEnd = content.indexOf("\n\n", start) + 2; + content.remove(start, headEnd - start); + + // remove tail + end = content.indexOf(GpgConstants::PGP_CRYPT_END); + content.remove(end, QString(GpgConstants::PGP_CRYPT_END).size()); + + edit->slotFillTextEditWithText(content.trimmed()); +} + +void MainWindow::slotSetRestartNeeded(bool needed) { + this->restartNeeded = needed; +} + +bool MainWindow::getRestartNeeded() const { + return this->restartNeeded; +} diff --git a/src/ui/main_window/MainWindowUI.cpp b/src/ui/main_window/MainWindowUI.cpp new file mode 100644 index 00000000..fba2fe62 --- /dev/null +++ b/src/ui/main_window/MainWindowUI.cpp @@ -0,0 +1,456 @@ +/** + * 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 "MainWindow.h" + +void MainWindow::createActions() { + /* Main Menu + */ + newTabAct = new QAction(tr("&New"), this); + newTabAct->setIcon(QIcon(":misc_doc.png")); + QList<QKeySequence> newTabActShortcutList; + newTabActShortcutList.append(QKeySequence(Qt::CTRL + Qt::Key_N)); + newTabActShortcutList.append(QKeySequence(Qt::CTRL + Qt::Key_T)); + newTabAct->setShortcuts(newTabActShortcutList); + newTabAct->setToolTip(tr("Open a new file")); + connect(newTabAct, SIGNAL(triggered()), edit, SLOT(slotNewTab())); + + openAct = new QAction(tr("&Open..."), this); + openAct->setIcon(QIcon(":fileopen.png")); + openAct->setShortcut(QKeySequence::Open); + openAct->setToolTip(tr("Open an existing file")); + connect(openAct, SIGNAL(triggered()), edit, SLOT(slotOpen())); + + saveAct = new QAction(tr("&Save"), this); + saveAct->setIcon(QIcon(":filesave.png")); + saveAct->setShortcut(QKeySequence::Save); + saveAct->setToolTip(tr("Save the current File")); + connect(saveAct, SIGNAL(triggered()), edit, SLOT(slotSave())); + + saveAsAct = new QAction(tr("Save &As") + "...", this); + saveAsAct->setIcon(QIcon(":filesaveas.png")); + saveAsAct->setShortcut(QKeySequence::SaveAs); + saveAsAct->setToolTip(tr("Save the current File as...")); + connect(saveAsAct, SIGNAL(triggered()), edit, SLOT(slotSaveAs())); + + printAct = new QAction(tr("&Print"), this); + printAct->setIcon(QIcon(":fileprint.png")); + printAct->setShortcut(QKeySequence::Print); + printAct->setToolTip(tr("Print Document")); + connect(printAct, SIGNAL(triggered()), edit, SLOT(slotPrint())); + + closeTabAct = new QAction(tr("&Close"), this); + closeTabAct->setShortcut(QKeySequence::Close); + closeTabAct->setToolTip(tr("Close file")); + connect(closeTabAct, SIGNAL(triggered()), edit, SLOT(slotCloseTab())); + + quitAct = new QAction(tr("&Quit"), this); + quitAct->setShortcut(QKeySequence::Quit); + quitAct->setIcon(QIcon(":exit.png")); + quitAct->setToolTip(tr("Quit Program")); + connect(quitAct, SIGNAL(triggered()), this, SLOT(close())); + + /* Edit Menu + */ + undoAct = new QAction(tr("&Undo"), this); + undoAct->setShortcut(QKeySequence::Undo); + undoAct->setToolTip(tr("Undo Last Edit Action")); + connect(undoAct, SIGNAL(triggered()), edit, SLOT(slotUndo())); + + redoAct = new QAction(tr("&Redo"), this); + redoAct->setShortcut(QKeySequence::Redo); + redoAct->setToolTip(tr("Redo Last Edit Action")); + connect(redoAct, SIGNAL(triggered()), edit, SLOT(slotRedo())); + + zoomInAct = new QAction(tr("Zoom In"), this); + zoomInAct->setShortcut(QKeySequence::ZoomIn); + connect(zoomInAct, SIGNAL(triggered()), edit, SLOT(slotZoomIn())); + + zoomOutAct = new QAction(tr("Zoom Out"), this); + zoomOutAct->setShortcut(QKeySequence::ZoomOut); + connect(zoomOutAct, SIGNAL(triggered()), edit, SLOT(slotZoomOut())); + + pasteAct = new QAction(tr("&Paste"), this); + pasteAct->setIcon(QIcon(":button_paste.png")); + pasteAct->setShortcut(QKeySequence::Paste); + pasteAct->setToolTip(tr("Paste Text From Clipboard")); + connect(pasteAct, SIGNAL(triggered()), edit, SLOT(slotPaste())); + + cutAct = new QAction(tr("Cu&t"), this); + cutAct->setIcon(QIcon(":button_cut.png")); + cutAct->setShortcut(QKeySequence::Cut); + cutAct->setToolTip(tr("Cut the current selection's contents to the " + "clipboard")); + connect(cutAct, SIGNAL(triggered()), edit, SLOT(slotCut())); + + copyAct = new QAction(tr("&Copy"), this); + copyAct->setIcon(QIcon(":button_copy.png")); + copyAct->setShortcut(QKeySequence::Copy); + copyAct->setToolTip(tr("Copy the current selection's contents to the " + "clipboard")); + connect(copyAct, SIGNAL(triggered()), edit, SLOT(slotCopy())); + + quoteAct = new QAction(tr("&Quote"), this); + quoteAct->setIcon(QIcon(":quote.png")); + quoteAct->setToolTip(tr("Quote whole text")); + connect(quoteAct, SIGNAL(triggered()), edit, SLOT(slotQuote())); + + selectAllAct = new QAction(tr("Select &All"), this); + selectAllAct->setIcon(QIcon(":edit.png")); + selectAllAct->setShortcut(QKeySequence::SelectAll); + selectAllAct->setToolTip(tr("Select the whole text")); + connect(selectAllAct, SIGNAL(triggered()), edit, SLOT(slotSelectAll())); + + findAct = new QAction(tr("&Find"), this); + findAct->setShortcut(QKeySequence::Find); + findAct->setToolTip(tr("Find a word")); + connect(findAct, SIGNAL(triggered()), this, SLOT(slotFind())); + + cleanDoubleLinebreaksAct = new QAction(tr("Remove &spacing"), this); + cleanDoubleLinebreaksAct->setIcon(QIcon(":format-line-spacing-triple.png")); + //cleanDoubleLineBreaksAct->setShortcut(QKeySequence::SelectAll); + cleanDoubleLinebreaksAct->setToolTip(tr("Remove double linebreaks, e.g. in pasted text from webmailer")); + connect(cleanDoubleLinebreaksAct, SIGNAL(triggered()), this, SLOT(slotCleanDoubleLinebreaks())); + + openSettingsAct = new QAction(tr("Se&ttings"), this); + openSettingsAct->setToolTip(tr("Open settings dialog")); + openSettingsAct->setShortcut(QKeySequence::Preferences); + connect(openSettingsAct, SIGNAL(triggered()), this, SLOT(slotOpenSettingsDialog())); + + /* Crypt Menu + */ + encryptAct = new QAction(tr("&Encrypt"), this); + encryptAct->setIcon(QIcon(":encrypted.png")); + encryptAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_E)); + encryptAct->setToolTip(tr("Encrypt Message")); + connect(encryptAct, SIGNAL(triggered()), this, SLOT(slotEncrypt())); + + encryptSignAct = new QAction(tr("&Encrypt &Sign"), this); + encryptSignAct->setIcon(QIcon(":encrypted_signed.png")); + encryptSignAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_E)); + encryptSignAct->setToolTip(tr("Encrypt and Sign Message")); + connect(encryptSignAct, SIGNAL(triggered()), this, SLOT(slotEncryptSign())); + + decryptAct = new QAction(tr("&Decrypt"), this); + decryptAct->setIcon(QIcon(":decrypted.png")); + decryptAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_D)); + decryptAct->setToolTip(tr("Decrypt Message")); + connect(decryptAct, SIGNAL(triggered()), this, SLOT(slotDecrypt())); + + decryptVerifyAct = new QAction(tr("&Decrypt &Verify"), this); + decryptVerifyAct->setIcon(QIcon(":decrypted_verified.png")); + decryptVerifyAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_D)); + decryptVerifyAct->setToolTip(tr("Decrypt and Verify Message")); + connect(decryptVerifyAct, SIGNAL(triggered()), this, SLOT(slotDecryptVerify())); + + /* + * File encryption submenu + */ + fileEncryptAct = new QAction(tr("&Encrypt File"), this); + fileEncryptAct->setToolTip(tr("Encrypt File")); + connect(fileEncryptAct, SIGNAL(triggered()), this, SLOT(slotFileEncrypt())); + + fileDecryptAct = new QAction(tr("&Decrypt File"), this); + fileDecryptAct->setToolTip(tr("Decrypt File")); + connect(fileDecryptAct, SIGNAL(triggered()), this, SLOT(slotFileDecrypt())); + + fileSignAct = new QAction(tr("&Sign File"), this); + fileSignAct->setToolTip(tr("Sign File")); + connect(fileSignAct, SIGNAL(triggered()), this, SLOT(slotFileSign())); + + fileVerifyAct = new QAction(tr("&Verify File"), this); + fileVerifyAct->setToolTip(tr("Verify File")); + connect(fileVerifyAct, SIGNAL(triggered()), this, SLOT(slotFileVerify())); + + + signAct = new QAction(tr("&Sign"), this); + signAct->setIcon(QIcon(":signature.png")); + signAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I)); + signAct->setToolTip(tr("Sign Message")); + connect(signAct, SIGNAL(triggered()), this, SLOT(slotSign())); + + verifyAct = new QAction(tr("&Verify"), this); + verifyAct->setIcon(QIcon(":verify.png")); + verifyAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_V)); + verifyAct->setToolTip(tr("Verify Message")); + connect(verifyAct, SIGNAL(triggered()), this, SLOT(slotVerify())); + + /* Key Menu + */ + + importKeyFromEditAct = new QAction(tr("&Editor"), this); + importKeyFromEditAct->setIcon(QIcon(":txt.png")); + importKeyFromEditAct->setToolTip(tr("Import New Key From Editor")); + connect(importKeyFromEditAct, SIGNAL(triggered()), this, SLOT(slotImportKeyFromEdit())); + + openKeyManagementAct = new QAction(tr("Manage &keys"), this); + openKeyManagementAct->setIcon(QIcon(":keymgmt.png")); + openKeyManagementAct->setToolTip(tr("Open Keymanagement")); + connect(openKeyManagementAct, SIGNAL(triggered()), this, SLOT(slotOpenKeyManagement())); + + /* About Menu + */ + aboutAct = new QAction(tr("&About"), this); + aboutAct->setIcon(QIcon(":help.png")); + aboutAct->setToolTip(tr("Show the application's About box")); + connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotAbout())); + + startWizardAct = new QAction(tr("Open &Wizard"), this); + startWizardAct->setToolTip(tr("Open the wizard")); + connect(startWizardAct, SIGNAL(triggered()), this, SLOT(slotStartWizard())); + + /* Popup-Menu-Action for KeyList + */ + appendSelectedKeysAct = new QAction(tr("Append Selected Key(s) To Text"), this); + appendSelectedKeysAct->setToolTip(tr("Append The Selected Keys To Text in Editor")); + connect(appendSelectedKeysAct, SIGNAL(triggered()), this, SLOT(slotAppendSelectedKeys())); + + copyMailAddressToClipboardAct = new QAction(tr("Copy EMail-address"), this); + copyMailAddressToClipboardAct->setToolTip(tr("Copy selected EMailaddress to clipboard")); + connect(copyMailAddressToClipboardAct, SIGNAL(triggered()), this, SLOT(slotCopyMailAddressToClipboard())); + + // TODO: find central place for shared actions, to avoid code-duplication with keymgmt.cpp + showKeyDetailsAct = new QAction(tr("Show Key Details"), this); + showKeyDetailsAct->setToolTip(tr("Show Details for this Key")); + connect(showKeyDetailsAct, SIGNAL(triggered()), this, SLOT(slotShowKeyDetails())); + + refreshKeysFromKeyserverAct = new QAction(tr("Refresh Key From Key Server"), this); + refreshKeysFromKeyserverAct->setToolTip(tr("Refresh key from default key server")); + connect(refreshKeysFromKeyserverAct, SIGNAL(triggered()), this, SLOT(refreshKeysFromKeyserver())); + + uploadKeyToServerAct = new QAction(tr("Upload Public Key(s) To Server"), this); + uploadKeyToServerAct->setToolTip(tr("Upload The Selected Public Keys To Server")); + connect(uploadKeyToServerAct, SIGNAL(triggered()), this, SLOT(uploadKeyToServer())); + /* Key-Shortcuts for Tab-Switchung-Action + */ + switchTabUpAct = new QAction(this); + switchTabUpAct->setShortcut(QKeySequence::NextChild); + connect(switchTabUpAct, SIGNAL(triggered()), edit, SLOT(slotSwitchTabUp())); + this->addAction(switchTabUpAct); + + switchTabDownAct = new QAction(this); + switchTabDownAct->setShortcut(QKeySequence::PreviousChild); + connect(switchTabDownAct, SIGNAL(triggered()), edit, SLOT(slotSwitchTabDown())); + this->addAction(switchTabDownAct); + + cutPgpHeaderAct = new QAction(tr("Remove PGP Header"), this); + connect(cutPgpHeaderAct, SIGNAL(triggered()), this, SLOT(slotCutPgpHeader())); + + addPgpHeaderAct = new QAction(tr("Add PGP Header"), this); + connect(addPgpHeaderAct, SIGNAL(triggered()), this, SLOT(slotAddPgpHeader())); +} + +void MainWindow::createMenus() { + fileMenu = menuBar()->addMenu(tr("&File")); + fileMenu->addAction(newTabAct); + fileMenu->addAction(openAct); + fileMenu->addSeparator(); + fileMenu->addAction(saveAct); + fileMenu->addAction(saveAsAct); + fileMenu->addSeparator(); + fileMenu->addAction(printAct); + fileMenu->addSeparator(); + fileMenu->addAction(closeTabAct); + fileMenu->addAction(quitAct); + + editMenu = menuBar()->addMenu(tr("&Edit")); + editMenu->addAction(undoAct); + editMenu->addAction(redoAct); + editMenu->addSeparator(); + editMenu->addAction(zoomInAct); + editMenu->addAction(zoomOutAct); + editMenu->addSeparator(); + editMenu->addAction(copyAct); + editMenu->addAction(cutAct); + editMenu->addAction(pasteAct); + editMenu->addAction(selectAllAct); + editMenu->addAction(findAct); + editMenu->addSeparator(); + editMenu->addAction(quoteAct); + editMenu->addAction(cleanDoubleLinebreaksAct); + editMenu->addSeparator(); + editMenu->addAction(openSettingsAct); + + fileEncMenu = new QMenu(tr("&File...")); + fileEncMenu->addAction(fileEncryptAct); + fileEncMenu->addAction(fileDecryptAct); + fileEncMenu->addAction(fileSignAct); + fileEncMenu->addAction(fileVerifyAct); + + cryptMenu = menuBar()->addMenu(tr("&Crypt")); + cryptMenu->addAction(encryptAct); + cryptMenu->addAction(encryptSignAct); + cryptMenu->addAction(decryptAct); + cryptMenu->addAction(decryptVerifyAct); + cryptMenu->addSeparator(); + cryptMenu->addAction(signAct); + cryptMenu->addAction(verifyAct); + cryptMenu->addSeparator(); + cryptMenu->addMenu(fileEncMenu); + + keyMenu = menuBar()->addMenu(tr("&Keys")); + importKeyMenu = keyMenu->addMenu(tr("&Import Key")); + importKeyMenu->setIcon(QIcon(":key_import.png")); + importKeyMenu->addAction(keyMgmt->importKeyFromFileAct); + importKeyMenu->addAction(importKeyFromEditAct); + importKeyMenu->addAction(keyMgmt->importKeyFromClipboardAct); + importKeyMenu->addAction(keyMgmt->importKeyFromKeyServerAct); + importKeyMenu->addAction(keyMgmt->importKeyFromKeyServerAct); + keyMenu->addAction(openKeyManagementAct); + + steganoMenu = menuBar()->addMenu(tr("&Steganography")); + steganoMenu->addAction(cutPgpHeaderAct); + steganoMenu->addAction(addPgpHeaderAct); + + // Hide menu, when steganography menu is disabled in settings + if (!settings.value("advanced/steganography").toBool()) { + this->menuBar()->removeAction(steganoMenu->menuAction()); + } + + viewMenu = menuBar()->addMenu(tr("&View")); + + helpMenu = menuBar()->addMenu(tr("&Help")); + helpMenu->addAction(startWizardAct); + helpMenu->addSeparator(); + helpMenu->addAction(aboutAct); + +} + +void MainWindow::createToolBars() { + fileToolBar = addToolBar(tr("File")); + fileToolBar->setObjectName("fileToolBar"); + fileToolBar->addAction(newTabAct); + fileToolBar->addAction(openAct); + fileToolBar->addAction(saveAct); + fileToolBar->hide(); + viewMenu->addAction(fileToolBar->toggleViewAction()); + + cryptToolBar = addToolBar(tr("Crypt")); + cryptToolBar->setObjectName("cryptToolBar"); + cryptToolBar->addAction(encryptAct); + cryptToolBar->addAction(encryptSignAct); + cryptToolBar->addAction(decryptAct); + cryptToolBar->addAction(decryptVerifyAct); + cryptToolBar->addAction(signAct); + cryptToolBar->addAction(verifyAct); + viewMenu->addAction(cryptToolBar->toggleViewAction()); + + keyToolBar = addToolBar(tr("Key")); + keyToolBar->setObjectName("keyToolBar"); + keyToolBar->addAction(openKeyManagementAct); + viewMenu->addAction(keyToolBar->toggleViewAction()); + + editToolBar = addToolBar(tr("Edit")); + editToolBar->setObjectName("editToolBar"); + editToolBar->addAction(copyAct); + editToolBar->addAction(pasteAct); + editToolBar->addAction(selectAllAct); + viewMenu->addAction(editToolBar->toggleViewAction()); + + specialEditToolBar = addToolBar(tr("Special Edit")); + specialEditToolBar->setObjectName("specialEditToolBar"); + specialEditToolBar->addAction(quoteAct); + specialEditToolBar->addAction(cleanDoubleLinebreaksAct); + specialEditToolBar->hide(); + viewMenu->addAction(specialEditToolBar->toggleViewAction()); + + // Add dropdown menu for key import to keytoolbar + importButton = new QToolButton(); + importButton->setMenu(importKeyMenu); + importButton->setPopupMode(QToolButton::InstantPopup); + importButton->setIcon(QIcon(":key_import.png")); + importButton->setToolTip(tr("Import key from...")); + importButton->setText(tr("Import key")); + keyToolBar->addWidget(importButton); + + // Add dropdown menu for file encryption/decryption to crypttoolbar + fileEncButton = new QToolButton(); + // fileEncButton->setMenu(fileEncMenu); + connect(fileEncButton, SIGNAL(clicked(bool)), this, SLOT(slotOpenFileTab())); + fileEncButton->setPopupMode(QToolButton::InstantPopup); + fileEncButton->setIcon(QIcon(":fileencryption.png")); + fileEncButton->setToolTip(tr("Opera File")); + fileEncButton->setText(tr("File Crypto")); + cryptToolBar->addWidget(fileEncButton); + +} + +void MainWindow::createStatusBar() { + auto *statusBarBox = new QWidget(); + auto *statusBarBoxLayout = new QHBoxLayout(); + QPixmap *pixmap; + + // icon which should be shown if there are files in attachments-folder + pixmap = new QPixmap(":statusbar_icon.png"); + statusBarIcon = new QLabel(); + statusBar()->addWidget(statusBarIcon); + + statusBarIcon->setPixmap(*pixmap); + statusBar()->insertPermanentWidget(0, statusBarIcon, 0); + statusBarIcon->hide(); + statusBar()->showMessage(tr("Ready"), 2000); + statusBarBox->setLayout(statusBarBoxLayout); +} + +void MainWindow::createDockWindows() { + /* KeyList-Dockwindow + */ + keyListDock = new QDockWidget(tr("Key ToolBox"), this); + keyListDock->setObjectName("EncryptDock"); + keyListDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + keyListDock->setMinimumWidth(460); + addDockWidget(Qt::RightDockWidgetArea, keyListDock); + keyListDock->setWidget(mKeyList); + viewMenu->addAction(keyListDock->toggleViewAction()); + + infoBoardDock = new QDockWidget(tr("Information Board"), this); + infoBoardDock->setObjectName("Information Board"); + infoBoardDock->setAllowedAreas(Qt::BottomDockWidgetArea); + addDockWidget(Qt::BottomDockWidgetArea, infoBoardDock); + infoBoardDock->setWidget(infoBoard); + infoBoardDock->widget()->layout()->setContentsMargins(0, 0, 0, 0); + viewMenu->addAction(infoBoardDock->toggleViewAction()); + + /* Attachments-Dockwindow + */ + if (settings.value("mime/parseMime").toBool()) { + createAttachmentDock(); + } +} + +void MainWindow::createAttachmentDock() { + if (attachmentDockCreated) { + return; + } + mAttachments = new Attachments(); + attachmentDock = new QDockWidget(tr("Attached files:"), this); + attachmentDock->setObjectName("AttachmentDock"); + attachmentDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea | Qt::BottomDockWidgetArea); + addDockWidget(Qt::LeftDockWidgetArea, attachmentDock); + attachmentDock->setWidget(mAttachments); + // hide till attachment is decrypted + viewMenu->addAction(attachmentDock->toggleViewAction()); + attachmentDock->hide(); + attachmentDockCreated = true; +} diff --git a/src/ui/Attachments.cpp b/src/ui/widgets/Attachments.cpp index 87b42fa5..8f741f66 100644 --- a/src/ui/Attachments.cpp +++ b/src/ui/widgets/Attachments.cpp @@ -37,7 +37,7 @@ */ -#include "ui/Attachments.h" +#include "ui/widgets/Attachments.h" Attachments::Attachments(QWidget *parent) : QWidget(parent) { diff --git a/src/ui/EditorPage.cpp b/src/ui/widgets/EditorPage.cpp index b09b7460..cb4ca5ef 100644 --- a/src/ui/EditorPage.cpp +++ b/src/ui/widgets/EditorPage.cpp @@ -22,7 +22,7 @@ * */ -#include "ui/EditorPage.h" +#include "ui/widgets/EditorPage.h" #include <utility> diff --git a/src/ui/widgets/FilePage.cpp b/src/ui/widgets/FilePage.cpp new file mode 100644 index 00000000..e3d73670 --- /dev/null +++ b/src/ui/widgets/FilePage.cpp @@ -0,0 +1,88 @@ +/** + * 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/widgets/FilePage.h" + +FilePage::FilePage(QWidget *parent) : QWidget(parent) { + qDebug() << "New File Page"; + + dirModel = new QFileSystemModel(); + + dirModel->setRootPath(QDir::currentPath()); + + dirTreeView = new QTreeView(); + dirTreeView->setModel(dirModel); + dirTreeView->setAnimated(true); + dirTreeView->setIndentation(20); + dirTreeView->setSortingEnabled(true); + dirTreeView->setRootIndex(dirModel->index(QDir::currentPath())); + + upLevelButton = new QPushButton("UP Level"); + connect(upLevelButton, SIGNAL(clicked(bool)), this, SLOT(slotUpLevel())); + + auto *menuLayout = new QHBoxLayout(); + menuLayout->addWidget(upLevelButton); + menuLayout->addStretch(0); + + auto *layout = new QVBoxLayout(); + layout->addLayout(menuLayout); + layout->addWidget(dirTreeView); + + this->setLayout(layout); + + connect(dirTreeView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(fileTreeViewItemClicked(const QModelIndex &))); + connect(dirTreeView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(fileTreeViewItemDoubleClicked(const QModelIndex &))); + +} + +void FilePage::fileTreeViewItemClicked(const QModelIndex &index) { + mPath = dirModel->fileInfo(index).absoluteFilePath(); + qDebug() << "mPath" << mPath; +} + +void FilePage::slotUpLevel() { + QModelIndex currentRoot = dirTreeView->rootIndex(); + mPath = dirModel->fileInfo(currentRoot).absoluteFilePath(); + auto fileInfo = QFileInfo(mPath); + if(fileInfo.isDir() && fileInfo.isReadable() && fileInfo.isExecutable()) { + dirTreeView->setRootIndex(currentRoot.parent()); + } + qDebug() << "Current Root mPath" << mPath; +} + +void FilePage::fileTreeViewItemDoubleClicked(const QModelIndex &index) { + mPath = dirModel->fileInfo(index).absoluteFilePath(); + auto fileInfo = QFileInfo(mPath); + if(fileInfo.isDir() && fileInfo.isReadable() && fileInfo.isExecutable()) { + dirTreeView->setRootIndex(index); + } + qDebug() << "Index mPath" << mPath; +} + +void FilePage::getSelected(QString &path) { + QModelIndex index = dirTreeView->currentIndex(); + QVariant data = dirTreeView->model()->data(index); + path = data.toString(); + qDebug() << "Target Path" << mPath; +} diff --git a/src/ui/HelpPage.cpp b/src/ui/widgets/HelpPage.cpp index f2f0da48..e018da81 100644 --- a/src/ui/HelpPage.cpp +++ b/src/ui/widgets/HelpPage.cpp @@ -22,7 +22,7 @@ * */ -#include "ui/HelpPage.h" +#include "ui/widgets/HelpPage.h" #include <utility> @@ -35,8 +35,6 @@ HelpPage::HelpPage(const QString &path, QWidget *parent) : mainLayout->addWidget(browser); mainLayout->setContentsMargins(0, 0, 0, 0); setLayout(mainLayout); - //setAttribute(Qt::WA_DeleteOnClose); - //browser->setSource(QUrl::fromLocalFile(path)); connect(browser, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotOpenUrl(QUrl))); browser->setOpenLinks(false); diff --git a/src/ui/TextEdit.cpp b/src/ui/widgets/TextEdit.cpp index 5a9206ca..49049baa 100644 --- a/src/ui/TextEdit.cpp +++ b/src/ui/widgets/TextEdit.cpp @@ -22,7 +22,7 @@ * */ -#include "ui/TextEdit.h" +#include "ui/widgets/TextEdit.h" TextEdit::TextEdit() { countPage = 0; @@ -64,6 +64,14 @@ void TextEdit::slotNewHelpTab(const QString &title, const QString &path) const { } +void TextEdit::slotNewFileTab() const { + + auto *page = new FilePage(); + tabWidget->addTab(page, "File"); + tabWidget->setCurrentIndex(tabWidget->count() - 1); + +} + void TextEdit::slotOpen() { QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open file"), QDir::currentPath()); |