diff options
author | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2008-09-20 12:45:54 +0000 |
---|---|---|
committer | ubbo <ubbo@34ebc366-c3a9-4b3c-9f84-69acf7962910> | 2008-09-20 12:45:54 +0000 |
commit | 706e3529e37b61a95edceedb862cb7b841e07758 (patch) | |
tree | 7084fb3bbb00b167f909ba9c7d3adbc27fcc65fd | |
parent | create 0.1 branch from release0.1 tag (diff) | |
download | gpg4usb-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.cpp | 101 | ||||
-rw-r--r-- | gpgwin.h | 25 |
2 files changed, 104 insertions, 22 deletions
@@ -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(); + } + +} @@ -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; }; + + + |