aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2008-09-20 12:45:54 +0000
committerubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910>2008-09-20 12:45:54 +0000
commit706e3529e37b61a95edceedb862cb7b841e07758 (patch)
tree7084fb3bbb00b167f909ba9c7d3adbc27fcc65fd
parentcreate 0.1 branch from release0.1 tag (diff)
downloadgpg4usb-706e3529e37b61a95edceedb862cb7b841e07758.tar.gz
gpg4usb-706e3529e37b61a95edceedb862cb7b841e07758.zip
gpgwin.*, ported r152,r153,r156 (import key from clipboard/import-dialog) from trunk
git-svn-id: http://cpunk.de/svn/src/gpg4usb/branches/0.1@166 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rw-r--r--gpgwin.cpp101
-rw-r--r--gpgwin.h25
2 files changed, 104 insertions, 22 deletions
diff --git a/gpgwin.cpp b/gpgwin.cpp
index 6215ba9..f7b83f1 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -31,6 +31,7 @@
#include <QStringList>
#include <QIcon>
#include <QMessageBox>
+#include <QVBoxLayout>
#include "context.h"
#include "gpgwin.h"
@@ -139,17 +140,25 @@ void GpgWin::createActions()
decryptAct->setStatusTip(tr("Decrypt Message"));
connect(decryptAct, SIGNAL(triggered()), this, SLOT(decrypt()));
- importKeyFromFileAct = new QAction(tr("&Import Key From File"), this);
+ importKeyFromFileAct = new QAction(tr("&File"), this);
importKeyFromFileAct->setIcon(QIcon(iconPath + "kgpg_import.png"));
- importKeyFromFileAct->setShortcut(tr("Ctrl+I"));
importKeyFromFileAct->setStatusTip(tr("Import New Key From File"));
connect(importKeyFromFileAct, SIGNAL(triggered()), this, SLOT(importKeyFromFile()));
- importKeyFromEditAct = new QAction(tr("Import Key From &Editor"), this);
+ importKeyFromEditAct = new QAction(tr("&Editor"), this);
importKeyFromEditAct->setIcon(QIcon(iconPath + "importkey_editor.png"));
importKeyFromEditAct->setStatusTip(tr("Import New Key From Editor"));
connect(importKeyFromEditAct, SIGNAL(triggered()), this, SLOT(importKeyFromEdit()));
+ importKeyFromClipboardAct = new QAction(tr("&Clipboard"), this);
+ importKeyFromClipboardAct->setIcon(QIcon(iconPath + "importkey_editor.png"));
+ importKeyFromClipboardAct->setStatusTip(tr("Import New Key From Clipboard"));
+ connect(importKeyFromClipboardAct, SIGNAL(triggered()), this, SLOT(importKeyFromClipboard()));
+
+ importKeyDialogAct = new QAction(tr("Import Key"), this);
+ importKeyDialogAct->setIcon(QIcon(iconPath + "importkey_editor.png"));
+ importKeyDialogAct->setStatusTip(tr("Import New Key"));
+ connect(importKeyDialogAct, SIGNAL(triggered()), this, SLOT(importKeyDialog()));
/** About Menu
*/
aboutAct = new QAction(tr("&About"), this);
@@ -168,28 +177,34 @@ void GpgWin::createMenus()
fileMenu->addSeparator();
fileMenu->addAction(quitAct);
- fileMenu = menuBar()->addMenu(tr("&Edit"));
- fileMenu->addAction(copyAct);
- fileMenu->addAction(cutAct);
- fileMenu->addAction(pasteAct);
- fileMenu->addAction(selectallAct);
-
- fileMenu = menuBar()->addMenu(tr("&Crypt"));
- fileMenu->addAction(encryptAct);
- fileMenu->addAction(decryptAct);
- fileMenu->addSeparator();
- fileMenu->addAction(importKeyFromFileAct);
- fileMenu->addAction(importKeyFromEditAct);
-
- fileMenu = menuBar()->addMenu(tr("&Help"));
- fileMenu->addAction(aboutAct);
+ editMenu = menuBar()->addMenu(tr("&Edit"));
+ editMenu->addAction(copyAct);
+ editMenu->addAction(cutAct);
+ editMenu->addAction(pasteAct);
+ editMenu->addAction(selectallAct);
+
+ cryptMenu = menuBar()->addMenu(tr("&Crypt"));
+ cryptMenu->addAction(encryptAct);
+ cryptMenu->addAction(decryptAct);
+ cryptMenu->addSeparator();
+
+ importKeyMenu = cryptMenu->addMenu(tr("&Import key from..."));
+ importKeyMenu->addAction(importKeyFromFileAct);
+ importKeyMenu->addAction(importKeyFromEditAct);
+ importKeyMenu->addAction(importKeyFromClipboardAct);
+
+ helpMenu = menuBar()->addMenu(tr("&Help"));
+ helpMenu->addAction(aboutAct);
}
void GpgWin::createToolBars()
{
- fileToolBar = addToolBar(tr("File"));
- fileToolBar->addAction(encryptAct);
- fileToolBar->addAction(decryptAct);
+ cryptToolBar = addToolBar(tr("Crypt"));
+ cryptToolBar->addAction(encryptAct);
+ cryptToolBar->addAction(decryptAct);
+ cryptToolBar->addAction(importKeyDialogAct);
+
+
editToolBar = addToolBar(tr("Edit"));
editToolBar->addAction(copyAct);
@@ -382,6 +397,12 @@ void GpgWin::importKeyFromEdit()
m_keyList->refresh();
}
+void GpgWin::importKeyFromClipboard()
+{
+ QClipboard *cb = QApplication::clipboard();
+ myCtx->importKey(cb->text(QClipboard::Clipboard).toAscii());
+ m_keyList->refresh();
+}
void GpgWin::importKeyFromFile()
{
@@ -399,3 +420,41 @@ void GpgWin::importKeyFromFile()
}
}
+void GpgWin::importKeyDialog() {
+
+ QDialog *dialog = new QDialog();
+
+ dialog->setWindowTitle(tr("Import Key"));
+ dialog->setModal(true);
+
+ QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
+
+ connect(buttonBox,SIGNAL(accepted()),dialog, SLOT(accept()));
+ connect(buttonBox,SIGNAL(rejected()), dialog, SLOT(reject()));
+
+ QGroupBox *groupBox = new QGroupBox(tr("Import Key From..."));
+ QRadioButton *radio1 = new QRadioButton(tr("&File"));
+ QRadioButton *radio2 = new QRadioButton(tr("&Editor"));
+ QRadioButton *radio3 = new QRadioButton(tr("&Clipboard"));
+ radio1->setChecked(true);
+
+ QVBoxLayout *vbox1 = new QVBoxLayout();
+ vbox1->addWidget(radio1);
+ vbox1->addWidget(radio2);
+ vbox1->addWidget(radio3);
+
+ groupBox->setLayout(vbox1);
+
+ QVBoxLayout *vbox2 = new QVBoxLayout();
+ vbox2->addWidget(groupBox);
+ vbox2->addWidget(buttonBox);
+
+ dialog->setLayout(vbox2);
+
+ if(dialog->exec() == QDialog::Accepted ) {
+ if (radio1->isChecked()) importKeyFromFile();
+ if (radio2->isChecked()) importKeyFromEdit();
+ if (radio3->isChecked()) importKeyFromClipboard();
+ }
+
+}
diff --git a/gpgwin.h b/gpgwin.h
index 975c87a..ea5df52 100644
--- a/gpgwin.h
+++ b/gpgwin.h
@@ -27,6 +27,11 @@
class QAction;
class QMenu;
class QPlainTextEdit;
+class QComboBox;
+class QPushButton;
+class QRadioButton;
+class QButtonGroup;
+
class GpgWin : public QMainWindow
{
@@ -43,11 +48,14 @@ public slots:
void decrypt();
void importKeyFromFile();
void importKeyFromEdit();
+ void importKeyFromClipboard();
void print();
void about();
bool save();
bool saveAs();
void open();
+ void importKeyDialog();
+ //void browse();
private:
void createActions();
@@ -63,8 +71,18 @@ private:
QPlainTextEdit *edit;
QMenu *fileMenu;
- QToolBar *fileToolBar;
+ QMenu *editMenu;
+ QMenu *cryptMenu;
+ QMenu *helpMenu;
+ QMenu *importKeyMenu;
+ QToolBar *cryptToolBar;
QToolBar *editToolBar;
+ QPushButton *browseButton;
+ QWidget *keywindow;
+ QGroupBox *prStyGroup;
+ QRadioButton *prsty1;
+ QRadioButton *prsty2;
+
QAction *openAct;
QAction *saveAct;
QAction *saveAsAct;
@@ -72,8 +90,10 @@ private:
QAction *quitAct;
QAction *encryptAct;
QAction *decryptAct;
+ QAction *importKeyDialogAct;
QAction *importKeyFromFileAct;
QAction *importKeyFromEditAct;
+ QAction *importKeyFromClipboardAct;
QAction *copyAct;
QAction *cutAct;
QAction *pasteAct;
@@ -85,3 +105,6 @@ private:
GpgME::Context *myCtx;
QString iconPath;
};
+
+
+