aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpgwin.cpp106
-rw-r--r--gpgwin.h4
-rw-r--r--keylist.cpp36
-rw-r--r--keylist.h15
-rw-r--r--release/keydb/pubring.gpgbin5352 -> 1166 bytes
5 files changed, 80 insertions, 81 deletions
diff --git a/gpgwin.cpp b/gpgwin.cpp
index 351697b..aca6e4a 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -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();
}
diff --git a/gpgwin.h b/gpgwin.h
index 9e126aa..58c5184 100644
--- a/gpgwin.h
+++ b/gpgwin.h
@@ -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);
}
diff --git a/keylist.h b/keylist.h
index d5ddbe1..2d39011 100644
--- a/keylist.h
+++ b/keylist.h
@@ -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
index 4465092..acb4872 100644
--- a/release/keydb/pubring.gpg
+++ b/release/keydb/pubring.gpg
Binary files differ