diff options
Diffstat (limited to 'src/ui/MainWindow.h')
-rw-r--r-- | src/ui/MainWindow.h | 407 |
1 files changed, 0 insertions, 407 deletions
diff --git a/src/ui/MainWindow.h b/src/ui/MainWindow.h deleted file mode 100644 index 9c4d5a1c..00000000 --- a/src/ui/MainWindow.h +++ /dev/null @@ -1,407 +0,0 @@ -/** - * 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 __GPGWIN_H__ -#define __GPGWIN_H__ - -#include "gpg/GpgConstants.h" -#include "gpg/result_analyse/DecryptResultAnalyse.h" -#include "gpg/result_analyse/EncryptResultAnalyse.h" -#include "gpg/result_analyse/SignResultAnalyse.h" -#include "ui/FindWidget.h" -#include "ui/GpgFrontendUI.h" -#include "ui/KeyMgmt.h" -#include "ui/KeyUploadDialog.h" -#include "ui/WaitingDialog.h" -#include "ui/Wizard.h" -#include "ui/help/AboutDialog.h" -#include "ui/settings/SettingsDialog.h" -#include "ui/widgets/InfoBoardWidget.h" -#include "ui/widgets/TextEdit.h" - -namespace GpgFrontend::UI { -/** - * @brief - * - */ -class MainWindow : public QMainWindow { - Q_OBJECT - - public: - /** - * @brief - * - */ - MainWindow(); - - /** - * ONLY Called from main() - */ - void init() noexcept; - - signals: - void loaded(); - - public slots: - - void slotSetStatusBarText(const QString& text); - - protected: - /** - * @details Close event shows a save dialog, if there are unsaved documents on - * exit. - * @param event - */ - void closeEvent(QCloseEvent* event) override; - - public slots: - - /** - * @details Open a new tab for path - */ - void slotOpenFile(QString& path); - - /** - * @details Open dialog for encrypting file. - */ - void slotFileEncrypt(); - - /** - * @details Open dialog for decrypting file. - */ - void slotFileDecrypt(); - - /** - * @details Open dialog for signing file. - */ - void slotFileSign(); - - /** - * @details Open dialog for verifying file. - */ - void slotFileVerify(); - - /** - * @details Open dialog for signing file. - */ - void slotFileEncryptSign(); - - /** - * @details Open dialog for verifying file. - */ - void slotFileDecryptVerify(); - - private slots: - - /** - * @details encrypt the text of currently active textedit-page - * with the currently checked keys - */ - void slotEncrypt(); - - /** - * @details encrypt and sign the text of currently active textedit-page - * with the currently checked keys - */ - void slotEncryptSign(); - - /** - * @details Show a passphrase dialog and decrypt the text of currently active - * tab. - */ - void slotDecrypt(); - - /** - * @details Sign the text of currently active tab with the checked private - * keys - */ - void slotSign(); - - /** - * @details Verify the text of currently active tab and show verify - * information. If document is signed with a key, which is not in keylist, - * show import missing key from keyserver in Menu of verifynotification. - */ - void slotVerify(); - - /** - * @details decrypt and verify the text of currently active textedit-page - * with the currently checked keys - */ - void slotDecryptVerify(); - - /** - * @details Show the details of the first of the first of selected keys - */ - void slotShowKeyDetails(); - - /** - * @details Refresh key information of selected keys from default keyserver - */ - void refreshKeysFromKeyserver(); - - /** - * @details upload the selected key to the keyserver - */ - void uploadKeyToServer(); - - /** - * @details Open find widget. - */ - void slotFind(); - - /** - * @details start the wizard - */ - void slotStartWizard(); - - /** - * @details Import keys from currently active tab to keylist if possible. - */ - void slotImportKeyFromEdit(); - - /** - * @details Append the selected keys to currently active textedit. - */ - void slotAppendSelectedKeys(); - - /** - * @details Copy the mailaddress of selected key to clipboard. - * Method for keylists contextmenu. - */ - void slotCopyMailAddressToClipboard(); - - /** - * @details Open key management dialog. - */ - void slotOpenKeyManagement(); - - /** - * @details Open File Opera Tab - */ - void slotOpenFileTab(); - - /** - * @details Open settings-dialog. - */ - void slotOpenSettingsDialog(); - - // /** - // * @details Show a warn message in status bar, if there are files in - // * attachment folder. - // */ - // void slotCheckAttachmentFolder(); - - /** - * @details Replace double linebreaks by single linebreaks in currently active - * tab. - */ - void slotCleanDoubleLinebreaks(); - - /** - * @details Cut the existing PGP header and footer from current tab. - */ - void slotCutPgpHeader(); - - /** - * @details Add PGP header and footer to current tab. - */ - void slotAddPgpHeader(); - - /** - * @details Disable tab related actions, if number of tabs is 0. - * @param number number of the opened tabs and -1, if no tab is opened - */ - void slotDisableTabActions(int number); - - /** - * @details get value of member restartNeeded to needed. - * @param needed true, if application has to be restarted - */ - void slotSetRestartNeeded(bool needed); - - /** - * @details called when need to upgrade. - */ - void slotVersionUpgrade(const SoftwareVersion& version); - - private: - /** - * @details Create actions for the main-menu and the context-menu of the - * keylist. - */ - void createActions(); - - /** - * @details create the menu of the main-window. - */ - void createMenus(); - - /** - * @details Create edit-, crypt- and key-toolbars. - */ - void createToolBars(); - - /** - * @details Create statusbar of mainwindow. - */ - void createStatusBar(); - - /** - * @details Create keylist- and attachment-dockwindows. - */ - void createDockWindows(); - - /** - * @details Create attachment-dockwindow. - */ - void createAttachmentDock(); - - /** - * @details close attachment-dockwindow. - */ - void closeAttachmentDock(); - - /** - * @details Load settings from ini-file. - */ - void restoreSettings(); - - /** - * @details Save settings to ini-file. - */ - void saveSettings(); - -#ifdef ADVANCE_SUPPORT - - /** - * @details Get full crypto text - */ - QString getCryptText(const QString& shortenCryptoText); - - /** - * @details Shorten crypto text - */ - void shortenCryptText(); - -#endif - - /** - * @brief return true, if restart is needed - */ - [[nodiscard]] bool getRestartNeeded() const; - - TextEdit* edit{}; /** Tabwidget holding the edit-windows */ - QMenu* fileMenu{}; /** Submenu for file-operations*/ - QMenu* editMenu{}; /** Submenu for text-operations*/ - QMenu* cryptMenu{}; /** Submenu for crypt-operations */ - QMenu* helpMenu{}; /** Submenu for help-operations */ - QMenu* keyMenu{}; /** Submenu for key-operations */ - QMenu* viewMenu{}; /** Submenu for view operations */ - QMenu* importKeyMenu{}; /** Sumenu for import operations */ -#ifdef SMTP_SUPPORT - QMenu* emailMenu{}; /** Sumenu for email operations */ -#endif - - QMenu* steganoMenu{}; /** Submenu for steganographic operations*/ - QToolBar* cryptToolBar{}; /** Toolbar holding crypt actions */ - QToolBar* fileToolBar{}; /** Toolbar holding file actions */ - QToolBar* editToolBar{}; /** Toolbar holding edit actions */ - QToolBar* specialEditToolBar{}; /** Toolbar holding special edit actions */ - QToolBar* keyToolBar{}; /** Toolbar holding key operations */ - QToolBar* emailToolBar{}; /** Toolbar holding key operations */ - QToolButton* - importButton{}; /** Toolbutton for import dropdown menu in toolbar */ - QDockWidget* keyListDock{}; /** Encrypt Dock*/ - QDockWidget* attachmentDock{}; /** Attachment Dock */ - QDockWidget* infoBoardDock{}; - - QAction* newTabAct{}; /** Action to create new tab */ - QAction* switchTabUpAct{}; /** Action to switch tab up*/ - QAction* switchTabDownAct{}; /** Action to switch tab down */ - QAction* openAct{}; /** Action to open file */ - QAction* browserAct{}; /** Action to open file browser*/ - QAction* saveAct{}; /** Action to save file */ - QAction* saveAsAct{}; /** Action to save file as */ - QAction* printAct{}; /** Action to print */ - QAction* closeTabAct{}; /** Action to print */ - QAction* quitAct{}; /** Action to quit application */ - QAction* encryptAct{}; /** Action to encrypt text */ - QAction* encryptSignAct{}; /** Action to encrypt and sign text */ - QAction* decryptVerifyAct{}; /** Action to encrypt and sign text */ - QAction* decryptAct{}; /** Action to decrypt text */ - QAction* signAct{}; /** Action to sign text */ - QAction* verifyAct{}; /** Action to verify text */ - QAction* importKeyFromEditAct{}; /** Action to import key from edit */ - QAction* - cleanDoubleLinebreaksAct{}; /** Action to remove double line breaks */ - - QAction* - appendSelectedKeysAct{}; /** Action to append selected keys to edit */ - QAction* - copyMailAddressToClipboardAct{}; /** Action to copy mail to clipboard */ - QAction* openKeyManagementAct{}; /** Action to open key management */ - QAction* copyAct{}; /** Action to copy text */ - QAction* quoteAct{}; /** Action to quote text */ - QAction* cutAct{}; /** Action to cut text */ - QAction* pasteAct{}; /** Action to paste text */ - QAction* selectAllAct{}; /** Action to select whole text */ - QAction* findAct{}; /** Action to find text */ - QAction* undoAct{}; /** Action to undo last action */ - QAction* redoAct{}; /** Action to redo last action */ - QAction* zoomInAct{}; /** Action to zoom in */ - QAction* zoomOutAct{}; /** Action to zoom out */ - QAction* aboutAct{}; /** Action to open about dialog */ - QAction* checkUpdateAct{}; /** Action to open about dialog */ - QAction* translateAct{}; /** Action to open about dialog */ - QAction* openSettingsAct{}; /** Action to open settings dialog */ - QAction* showKeyDetailsAct{}; /** Action to open key-details dialog */ - QAction* startWizardAct{}; /** Action to open the wizard */ - QAction* cutPgpHeaderAct{}; /** Action for cutting the PGP header */ - QAction* addPgpHeaderAct{}; /** Action for adding the PGP header */ - -#ifdef SMTP_SUPPORT - QAction* sendMailAct{}; /** Action for sending a email */ - QAction* receiveMailAct{}; /** Action for receive emails */ -#endif - - QAction* importKeyFromFileAct{}; - QAction* importKeyFromClipboardAct{}; - QAction* importKeyFromKeyServerAct{}; - - QLabel* statusBarIcon{}; - - KeyList* mKeyList{}; - InfoBoardWidget* infoBoard{}; - - QNetworkAccessManager* networkAccessManager{}; - - bool attachmentDockCreated{}; - bool restartNeeded{}; - bool prohibit_update_checking_ = false; -}; - -} // namespace GpgFrontend::UI - -#endif // __GPGWIN_H__ |