aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2011-12-06 12:29:39 +0000
committerubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2011-12-06 12:29:39 +0000
commitac7dfcc91345f9752b9f387e8b1653af41718621 (patch)
treec754321cb21743ac3038ce646ecf344d59d27d31
parentreplace ts files with 0.3.1 version, update to reflect name change from gpgwi... (diff)
downloadgpg4usb-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-xfileencryptiondialog.cpp24
-rwxr-xr-xfileencryptiondialog.h9
-rw-r--r--mainwindow.cpp60
-rw-r--r--mainwindow.h12
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 */