diff options
-rw-r--r-- | gpgwin.cpp | 106 | ||||
-rw-r--r-- | gpgwin.h | 4 | ||||
-rw-r--r-- | keylist.cpp | 36 | ||||
-rw-r--r-- | keylist.h | 15 | ||||
-rw-r--r-- | release/keydb/pubring.gpg | bin | 5352 -> 1166 bytes |
5 files changed, 80 insertions, 81 deletions
@@ -56,6 +56,8 @@ GpgWin::GpgWin() setIconSize(QSize(32, 32)); setCurrentFile(""); + m_keyList->addMenuAction(deleteSelectedKeysAct); + } void GpgWin::createActions() @@ -158,6 +160,13 @@ void GpgWin::createActions() aboutAct->setIcon(QIcon(iconPath + "help.png")); aboutAct->setStatusTip(tr("Show the application's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); + + /** Popup-Menu-Action for KeyList + */ + deleteSelectedKeysAct = new QAction(tr("Delete Key"), this); + deleteSelectedKeysAct->setStatusTip(tr("Delete the selected keys")); + connect(deleteSelectedKeysAct, SIGNAL(triggered()), this, SLOT(deleteSelectedKeys())); + } void GpgWin::createMenus() @@ -176,16 +185,16 @@ void GpgWin::createMenus() editMenu->addAction(pasteAct); editMenu->addAction(selectallAct); - cryptMenu = menuBar()->addMenu(tr("&Crypt")); + cryptMenu = menuBar()->addMenu(tr("&Crypt")); cryptMenu->addAction(encryptAct); cryptMenu->addAction(decryptAct); cryptMenu->addSeparator(); - importKeyMenu = cryptMenu->addMenu(tr("&Import key from...")); + importKeyMenu = cryptMenu->addMenu(tr("&Import key from...")); importKeyMenu->addAction(importKeyFromFileAct); importKeyMenu->addAction(importKeyFromEditAct); - importKeyMenu->addAction(importKeyFromClipboardAct); - + importKeyMenu->addAction(importKeyFromClipboardAct); + helpMenu = menuBar()->addMenu(tr("&Help")); helpMenu->addAction(aboutAct); } @@ -196,7 +205,7 @@ void GpgWin::createToolBars() cryptToolBar->addAction(encryptAct); cryptToolBar->addAction(decryptAct); cryptToolBar->addAction(importKeyDialogAct); - + editToolBar = addToolBar(tr("Edit")); @@ -385,7 +394,7 @@ void GpgWin::decrypt() QByteArray *tmp = new QByteArray(); QByteArray text = edit->toPlainText().toAscii(); preventNoDataErr(&text); - myCtx->decrypt(text, tmp); + myCtx->decrypt(text, tmp); if (!tmp->isEmpty()) { QString *tmp2 = new QString(*tmp); edit->setPlainText(*tmp2); @@ -403,7 +412,7 @@ void GpgWin::preventNoDataErr(QByteArray *in) if(block_start > 0 && in->at(block_start - 1) != '\n') { in->insert(block_start, '\n'); } -} +} void GpgWin::importKeyFromEdit() { @@ -415,7 +424,7 @@ void GpgWin::importKeyFromClipboard() { QClipboard *cb = QApplication::clipboard(); myCtx->importKey(cb->text(QClipboard::Clipboard).toAscii()); - m_keyList->refresh(); + m_keyList->refresh(); } void GpgWin::importKeyFromFile() @@ -435,40 +444,49 @@ 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(); - } - + + 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(); + } + +} + +/** + * Delete a selected (not checked!) Key(s) from keylist + */ +void GpgWin::deleteSelectedKeys() +{ + myCtx->deleteKeys(m_keyList->getSelected()); + m_keyList->refresh(); } @@ -68,6 +68,7 @@ public slots: void open(); void importKeyDialog(); //void browse(); + void deleteSelectedKeys(); private: void createActions(); @@ -80,7 +81,7 @@ private: void setCurrentFile(const QString &fileName); bool maybeSave(); QString strippedName(const QString &fullFileName); - void preventNoDataErr(QByteArray *in); + void preventNoDataErr(QByteArray *in); QPlainTextEdit *edit; QMenu *fileMenu; @@ -109,6 +110,7 @@ private: QAction *pasteAct; QAction *selectallAct; QAction *aboutAct; + QAction *deleteSelectedKeysAct; QString curFile; KeyList *m_keyList; diff --git a/keylist.cpp b/keylist.cpp index 22903c5..e6606ec 100644 --- a/keylist.cpp +++ b/keylist.cpp @@ -46,17 +46,13 @@ KeyList::KeyList(QWidget *parent) m_keyList->setHorizontalHeaderLabels(labels); m_keyList->horizontalHeader()->setStretchLastSection(true); - m_deleteButton = new QPushButton(tr("Delete Checked Keys")); - - connect(m_deleteButton, SIGNAL(clicked()), this, SLOT(deleteCheckedKeys())); - QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(m_keyList); - layout->addWidget(m_deleteButton); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(3); setLayout(layout); - createActions(); + + popupMenu = new QMenu(this); } @@ -71,13 +67,6 @@ void KeyList::setIconPath(QString path) this->iconPath = path; } -void KeyList::contextMenuEvent(QContextMenuEvent *event) -{ - QMenu menu(this); - menu.addAction(deleteSelectedKeysAct); - menu.exec(event->globalPos()); -} - void KeyList::refresh() { // while filling the table, sort enabled causes errors @@ -120,6 +109,7 @@ QList<QString> *KeyList::getChecked() QList<QString> *ret = new QList<QString>(); for (int i = 0; i < m_keyList->rowCount(); i++) { if (m_keyList->item(i,0)->checkState() == Qt::Checked) { + qDebug() << m_keyList->item(i,4)->text(); *ret << m_keyList->item(i,4)->text(); } } @@ -138,25 +128,17 @@ QList<QString> *KeyList::getSelected() return ret; } -void KeyList::deleteCheckedKeys() +void KeyList::setColumnWidth(int row, int size) { - - m_ctx->deleteKeys(getChecked()); - refresh(); - + m_keyList->setColumnWidth(row, size); } -void KeyList::deleteSelectedKeys() +void KeyList::contextMenuEvent(QContextMenuEvent *event) { - - m_ctx->deleteKeys(getSelected()); - refresh(); - + popupMenu->exec(event->globalPos()); } -void KeyList::createActions() +void KeyList::addMenuAction(QAction *act) { - deleteSelectedKeysAct = new QAction(tr("Delete Key"), this); - deleteSelectedKeysAct->setStatusTip(tr("Delete the selected keys")); - connect(deleteSelectedKeysAct, SIGNAL(triggered()), this, SLOT(deleteSelectedKeys())); + popupMenu->addAction(act); } @@ -38,25 +38,22 @@ class KeyList : public QWidget { Q_OBJECT -public slots: - void deleteCheckedKeys(); - void deleteSelectedKeys(); - public: - KeyList(QWidget *parent = 0); void setContext(GpgME::Context *ctx); void setIconPath(QString iconPath); + void refresh(); + void setColumnWidth(int row, int size); + void addMenuAction(QAction *act); + + KeyList(QWidget *parent = 0); QList<QString> *getChecked(); QList<QString> *getSelected(); - void refresh(); private: GpgME::Context *m_ctx; QTableWidget *m_keyList; - QPushButton *m_deleteButton; - QAction *deleteSelectedKeysAct; - void createActions(); QString iconPath; + QMenu *popupMenu; protected: void contextMenuEvent(QContextMenuEvent *event); diff --git a/release/keydb/pubring.gpg b/release/keydb/pubring.gpg Binary files differindex 4465092..acb4872 100644 --- a/release/keydb/pubring.gpg +++ b/release/keydb/pubring.gpg |