diff options
author | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-12-06 12:29:39 +0000 |
---|---|---|
committer | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2011-12-06 12:29:39 +0000 |
commit | ac7dfcc91345f9752b9f387e8b1653af41718621 (patch) | |
tree | c754321cb21743ac3038ce646ecf344d59d27d31 | |
parent | replace ts files with 0.3.1 version, update to reflect name change from gpgwi... (diff) | |
download | gpg4usb-ac7dfcc91345f9752b9f387e8b1653af41718621.tar.gz gpg4usb-ac7dfcc91345f9752b9f387e8b1653af41718621.zip |
file encryption dialog configurable for encrypt / decrypt / both. popup menu for file encrypt or decrypt in toolbar now
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@668 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rwxr-xr-x | fileencryptiondialog.cpp | 24 | ||||
-rwxr-xr-x | fileencryptiondialog.h | 9 | ||||
-rw-r--r-- | mainwindow.cpp | 60 | ||||
-rw-r--r-- | mainwindow.h | 12 |
4 files changed, 90 insertions, 15 deletions
diff --git a/fileencryptiondialog.cpp b/fileencryptiondialog.cpp index d7bd27f..b23d5a1 100755 --- a/fileencryptiondialog.cpp +++ b/fileencryptiondialog.cpp @@ -21,12 +21,19 @@ #include "fileencryptiondialog.h" -FileEncryptionDialog::FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconPath, QStringList keyList, QWidget *parent) +FileEncryptionDialog::FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconPath, QStringList keyList, QWidget *parent, DialogAction action) : QDialog(parent) { mCtx = ctx; - setWindowTitle(tr("Encrypt / Decrypt File")); + if(action == Decrypt) { + setWindowTitle(tr(" Decrypt File")); + } else if (action == Encrypt) { + setWindowTitle(tr("Encrypt File")); + } else { + setWindowTitle(tr("Encrypt / Decrypt File")); + } + resize(500, 200); setModal(true); @@ -35,7 +42,7 @@ FileEncryptionDialog::FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconP connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QGroupBox *groupBox1 = new QGroupBox(tr("File")); - QGroupBox *groupBox3 = new QGroupBox(tr("Action")); + QGroupBox *actionGroupBox = new QGroupBox(tr("Action")); /* Setup input & Outputfileselection*/ inputFileEdit = new QLineEdit(); @@ -77,15 +84,22 @@ FileEncryptionDialog::FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconP hbox1->addWidget(radioEnc); groupBox1->setLayout(gLayout); - groupBox3->setLayout(hbox1); + actionGroupBox->setLayout(hbox1); QVBoxLayout *vbox2 = new QVBoxLayout(); - vbox2->addWidget(groupBox3); + if(action == Both) { + vbox2->addWidget(actionGroupBox); + } vbox2->addWidget(groupBox1); vbox2->addWidget(mKeyList); vbox2->addWidget(buttonBox); vbox2->addStretch(0); setLayout(vbox2); + + if(action == Encrypt) { + showKeyList(); + } + exec(); } diff --git a/fileencryptiondialog.h b/fileencryptiondialog.h index 7ba380b..75af285 100755 --- a/fileencryptiondialog.h +++ b/fileencryptiondialog.h @@ -49,6 +49,13 @@ class FileEncryptionDialog : public QDialog Q_OBJECT public: + + enum DialogAction { + Encrypt, + Decrypt, + Both + }; + /** * @brief * @@ -58,7 +65,7 @@ public: * @param keyList * @param parent */ - FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconPath, QStringList keyList , QWidget *parent = 0); + FileEncryptionDialog(GpgME::GpgContext *ctx, QString iconPath, QStringList keyList, QWidget *parent = 0, DialogAction action = Both); public slots: /** diff --git a/mainwindow.cpp b/mainwindow.cpp index 8e6a3a6..7ec6626 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -267,6 +267,19 @@ void MainWindow::createActions() fileEncryptionAct->setToolTip(tr("Encrypt/Decrypt File")); connect(fileEncryptionAct, SIGNAL(triggered()), this, SLOT(fileEncryption())); + /* + * File encryption submenu + */ + fileEncryptAct = new QAction(tr("&Encrypt"), this); + //fileEncryptAct->setIcon(QIcon(iconPath + "fileencrytion.png")); + fileEncryptAct->setToolTip(tr("Encrypt File")); + connect(fileEncryptAct, SIGNAL(triggered()), this, SLOT(fileEncrypt())); + + fileDecryptAct = new QAction(tr("&Decrypt"), this); + //fileDecryptAct->setIcon(QIcon(iconPath + "fileencrytion.png")); + fileDecryptAct->setToolTip(tr("Decrypt File")); + connect(fileDecryptAct, SIGNAL(triggered()), this, SLOT(fileDecrypt())); + signAct = new QAction(tr("&Sign"), this); signAct->setIcon(QIcon(iconPath + "signature.png")); signAct->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_I)); @@ -410,7 +423,7 @@ void MainWindow::createToolBars() cryptToolBar->addAction(decryptAct); cryptToolBar->addAction(signAct); cryptToolBar->addAction(verifyAct); - cryptToolBar->addAction(fileEncryptionAct); + //cryptToolBar->addAction(fileEncryptionAct); viewMenu->addAction(cryptToolBar->toggleViewAction()); keyToolBar = addToolBar(tr("Key")); @@ -432,14 +445,29 @@ void MainWindow::createToolBars() viewMenu->addAction(specialEditToolBar->toggleViewAction()); // Add dropdown menu for key import to keytoolbar - QToolButton* toolButton = new QToolButton(); - toolButton->setMenu(importKeyMenu); - toolButton->setPopupMode(QToolButton::InstantPopup); - toolButton->setIcon(QIcon(iconPath + "key_import.png")); - toolButton->setToolTip("Import key"); - toolButton->setText("Import key from.."); - toolButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); - keyToolBar->addWidget(toolButton); + QToolButton* importButton = new QToolButton(); + importButton->setMenu(importKeyMenu); + importButton->setPopupMode(QToolButton::InstantPopup); + importButton->setIcon(QIcon(iconPath + "key_import.png")); + importButton->setToolTip("Import key"); + importButton->setText("Import key from.."); + importButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + keyToolBar->addWidget(importButton); + + // Add dropdown menu for file encryption/decryption to crypttoolbar + QToolButton* fileEncButton = new QToolButton(); + QMenu* fileEncMenu = new QMenu(); + fileEncMenu->addAction(fileEncryptAct); + fileEncMenu->addAction(fileDecryptAct); + fileEncButton->setMenu(fileEncMenu); + fileEncButton->setPopupMode(QToolButton::InstantPopup); + fileEncButton->setIcon(QIcon(iconPath + "fileencrytion.png")); + fileEncButton->setToolTip("Encrypt or decrypt File"); + fileEncButton->setText("File..."); + fileEncButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); + + cryptToolBar->addWidget(fileEncButton); + } void MainWindow::createStatusBar() @@ -787,6 +815,20 @@ void MainWindow::fileEncryption() new FileEncryptionDialog(mCtx, iconPath, *keyList, this); } +void MainWindow::fileEncrypt() +{ + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, iconPath, *keyList, this, FileEncryptionDialog::Encrypt); +} + +void MainWindow::fileDecrypt() +{ + QStringList *keyList; + keyList = mKeyList->getChecked(); + new FileEncryptionDialog(mCtx, iconPath, *keyList, this, FileEncryptionDialog::Decrypt); +} + void MainWindow::openSettingsDialog() { new SettingsDialog(this); diff --git a/mainwindow.h b/mainwindow.h index 89e2046..5529f2d 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -138,6 +138,16 @@ private slots: void fileEncryption(); /** + * @details Open dialog for encrypting file. + */ + void fileEncrypt(); + + /** + * @details Open dialog for decrypting file. + */ + void fileDecrypt(); + + /** * @details Open settings-dialog. */ void openSettingsDialog(); @@ -261,6 +271,8 @@ private: QAction *redoAct; /** Action to redo last action */ QAction *aboutAct; /** Action to open about dialog */ QAction *fileEncryptionAct; /** Action to open file-encryption dialog */ + QAction *fileEncryptAct; /** Action to open dialog for encrypting file */ + QAction *fileDecryptAct; /** Action to open dialog for decrypting file */ QAction *openSettingsAct; /** Action to open settings dialog */ QAction *openTranslateAct; /** Action to open translate doc*/ QAction *openTutorialAct; /** Action to open tutorial */ |