aboutsummaryrefslogtreecommitdiffstats
path: root/src/keyserverimportdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/keyserverimportdialog.cpp169
1 files changed, 79 insertions, 90 deletions
diff --git a/src/keyserverimportdialog.cpp b/src/keyserverimportdialog.cpp
index e581234a..c68851b4 100644
--- a/src/keyserverimportdialog.cpp
+++ b/src/keyserverimportdialog.cpp
@@ -22,9 +22,10 @@
#include "keyserverimportdialog.h"
+#include <utility>
+
KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *keyList, QWidget *parent)
- : QDialog(parent)
-{
+ : QDialog(parent) {
mCtx = ctx;
mKeyList = keyList;
// Buttons
@@ -46,21 +47,21 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *ke
icon = new QLabel;
// Layout for messagebox
- QHBoxLayout *messageLayout= new QHBoxLayout;
+ auto *messageLayout = new QHBoxLayout;
messageLayout->addWidget(icon);
messageLayout->addWidget(message);
messageLayout->addStretch();
// Layout for import and close button
- QHBoxLayout *buttonsLayout = new QHBoxLayout;
+ auto *buttonsLayout = new QHBoxLayout;
buttonsLayout->addStretch();
buttonsLayout->addWidget(importButton);
buttonsLayout->addWidget(closeButton);
- QGridLayout *mainLayout = new QGridLayout;
+ auto *mainLayout = new QGridLayout;
mainLayout->addWidget(searchLabel, 1, 0);
mainLayout->addWidget(searchLineEdit, 1, 1);
- mainLayout->addWidget(searchButton,1, 2);
+ mainLayout->addWidget(searchButton, 1, 2);
mainLayout->addWidget(keyServerLabel, 2, 0);
mainLayout->addWidget(keyServerComboBox, 2, 1);
mainLayout->addWidget(keysTable, 3, 0, 1, 3);
@@ -73,16 +74,14 @@ KeyServerImportDialog::KeyServerImportDialog(GpgME::GpgContext *ctx, KeyList *ke
this->setModal(true);
}
-QPushButton *KeyServerImportDialog::createButton(const QString &text, const char *member)
-{
- QPushButton *button = new QPushButton(text);
+QPushButton *KeyServerImportDialog::createButton(const QString &text, const char *member) {
+ auto *button = new QPushButton(text);
connect(button, SIGNAL(clicked()), this, member);
return button;
}
-QComboBox *KeyServerImportDialog::createComboBox()
-{
- QComboBox *comboBox = new QComboBox;
+QComboBox *KeyServerImportDialog::createComboBox() {
+ auto *comboBox = new QComboBox;
comboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
// Read keylist from ini-file and fill it into combobox
@@ -96,8 +95,7 @@ QComboBox *KeyServerImportDialog::createComboBox()
return comboBox;
}
-void KeyServerImportDialog::createKeysTable()
-{
+void KeyServerImportDialog::createKeysTable() {
keysTable = new QTableWidget();
keysTable->setColumnCount(4);
@@ -109,41 +107,39 @@ void KeyServerImportDialog::createKeysTable()
keysTable->setSelectionMode(QAbstractItemView::SingleSelection);
QStringList labels;
- labels << tr("UID") << tr("Creation date") << tr("KeyID") << tr("Tag");
+ labels << tr("UID") << tr("Creation date") << tr("KeyID") << tr("Tag");
keysTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
keysTable->setHorizontalHeaderLabels(labels);
keysTable->verticalHeader()->hide();
- connect(keysTable, SIGNAL(cellActivated(int,int)),
+ connect(keysTable, SIGNAL(cellActivated(int, int)),
this, SLOT(slotImport()));
}
-void KeyServerImportDialog::setMessage(const QString &text, bool error)
-{
+void KeyServerImportDialog::setMessage(const QString &text, bool error) {
message->setText(text);
if (error) {
QIcon undoicon = QIcon::fromTheme("dialog-error");
- QPixmap pixmap = undoicon.pixmap(QSize(32,32),QIcon::Normal,QIcon::On);
+ QPixmap pixmap = undoicon.pixmap(QSize(32, 32), QIcon::Normal, QIcon::On);
icon->setPixmap(pixmap);
} else {
QIcon undoicon = QIcon::fromTheme("dialog-information");
- QPixmap pixmap = undoicon.pixmap(QSize(32,32),QIcon::Normal,QIcon::On);
+ QPixmap pixmap = undoicon.pixmap(QSize(32, 32), QIcon::Normal, QIcon::On);
icon->setPixmap(pixmap);
}
}
-void KeyServerImportDialog::slotSearch()
-{
- QUrl url = keyServerComboBox->currentText()+":11371/pks/lookup?search="+searchLineEdit->text()+"&op=index&options=mr";
+void KeyServerImportDialog::slotSearch() {
+ QUrl urlFromRemote = keyServerComboBox->currentText() + ":11371/pks/lookup?search=" + searchLineEdit->text() +
+ "&op=index&options=mr";
qnam = new QNetworkAccessManager(this);
- QNetworkReply* reply = qnam->get(QNetworkRequest(url));
+ QNetworkReply *reply = qnam->get(QNetworkRequest(urlFromRemote));
connect(reply, SIGNAL(finished()),
this, SLOT(slotSearchFinished()));
}
-void KeyServerImportDialog::slotSearchFinished()
-{
- QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
+void KeyServerImportDialog::slotSearchFinished() {
+ auto *reply = qobject_cast<QNetworkReply *>(sender());
keysTable->clearContents();
keysTable->setRowCount(0);
@@ -151,72 +147,72 @@ void KeyServerImportDialog::slotSearchFinished()
QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if (reply->error()) {
- setMessage(tr("Couldn't contact keyserver!"),true);
+ setMessage(tr("Couldn't contact keyserver!"), true);
//setMessage(reply->error());
qDebug() << reply->error();
}
- if (firstLine.contains("Error"))
- {
- QString text= QString(reply->readLine(1024));
+ if (firstLine.contains("Error")) {
+ QString text = QString(reply->readLine(1024));
if (text.contains("Too many responses")) {
- setMessage(tr("Too many responses from keyserver!"),true);
+ setMessage(tr("Too many responses from keyserver!"), true);
} else if (text.contains("No keys found")) {
// if string looks like hex string, search again with 0x prepended
QRegExp rx("[0-9A-Fa-f]*");
QString query = searchLineEdit->text();
if (rx.exactMatch(query)) {
- setMessage(tr("No keys found, input may be kexId, retrying search with 0x."),true);
- searchLineEdit->setText(query.prepend("0x"));
- this->slotSearch();
+ setMessage(tr("No keys found, input may be kexId, retrying search with 0x."), true);
+ searchLineEdit->setText(query.prepend("0x"));
+ this->slotSearch();
} else {
- setMessage(tr("No keys found containing the search string!"),true);
+ setMessage(tr("No keys found containing the search string!"), true);
}
} else if (text.contains("Insufficiently specific words")) {
- setMessage(tr("Insufficiently specific search string!"),true);
+ setMessage(tr("Insufficiently specific search string!"), true);
} else {
setMessage(text, true);
}
} else {
int row = 0;
char buff[1024];
- bool strikeout=false;
- while (reply->readLine(buff,sizeof(buff)) !=-1) {
+ bool strikeout = false;
+ while (reply->readLine(buff, sizeof(buff)) != -1) {
QString decoded = QString::fromUtf8(QByteArray::fromPercentEncoding(buff));
QStringList line = decoded.split(":");
//TODO: have a look at two following pub lines
if (line[0] == "pub") {
- strikeout=false;
+ strikeout = false;
- QString flags = line[line.size()-1];
+ QString flags = line[line.size() - 1];
- keysTable->setRowCount(row+1);
+ keysTable->setRowCount(row + 1);
// flags can be "d" for disabled, "r" for revoked
// or "e" for expired
if (flags.contains("r") or flags.contains("d") or flags.contains("e")) {
- strikeout=true;
+ strikeout = true;
if (flags.contains("e")) {
- keysTable->setItem(row, 3, new QTableWidgetItem( QString("expired")));
+ keysTable->setItem(row, 3, new QTableWidgetItem(QString("expired")));
}
if (flags.contains("r")) {
- keysTable->setItem(row, 3, new QTableWidgetItem( QString(tr("revoked"))));
+ keysTable->setItem(row, 3, new QTableWidgetItem(QString(tr("revoked"))));
}
if (flags.contains("d")) {
- keysTable->setItem(row, 3, new QTableWidgetItem( QString(tr("disabled"))));
+ keysTable->setItem(row, 3, new QTableWidgetItem(QString(tr("disabled"))));
}
}
QStringList line2 = QString(reply->readLine()).split(":");
- QTableWidgetItem *uid = new QTableWidgetItem();
+ auto *uid = new QTableWidgetItem();
if (line2.size() > 1) {
uid->setText(line2[1]);
keysTable->setItem(row, 0, uid);
}
- QTableWidgetItem *creationdate = new QTableWidgetItem(QDateTime::fromTime_t(line[4].toInt()).toString("dd. MMM. yyyy"));
+ auto *creationdate = new QTableWidgetItem(
+ QDateTime::fromTime_t(line[4].toInt()).toString("dd. MMM. yyyy"));
keysTable->setItem(row, 1, creationdate);
- QTableWidgetItem *keyid = new QTableWidgetItem(line[1]);
+ auto *keyid = new QTableWidgetItem(line[1]);
keysTable->setItem(row, 2, keyid);
if (strikeout) {
QFont strike = uid->font();
@@ -229,12 +225,12 @@ void KeyServerImportDialog::slotSearchFinished()
} else {
if (line[0] == "uid") {
QStringList l;
- int height=keysTable->rowHeight(row-1);
- keysTable->setRowHeight(row-1,height+16);
- QString tmp=keysTable->item(row-1,0)->text();
- tmp.append(QString("\n")+line[1]);
- QTableWidgetItem *tmp1 = new QTableWidgetItem(tmp);
- keysTable->setItem(row-1,0,tmp1);
+ int height = keysTable->rowHeight(row - 1);
+ keysTable->setRowHeight(row - 1, height + 16);
+ QString tmp = keysTable->item(row - 1, 0)->text();
+ tmp.append(QString("\n") + line[1]);
+ auto *tmp1 = new QTableWidgetItem(tmp);
+ keysTable->setItem(row - 1, 0, tmp1);
if (strikeout) {
QFont strike = tmp1->font();
strike.setStrikeOut(true);
@@ -242,72 +238,65 @@ void KeyServerImportDialog::slotSearchFinished()
}
}
}
- setMessage(tr("%1 keys found. Doubleclick a key to import it.").arg(row),false);
+ setMessage(tr("%1 keys found. Doubleclick a key to import it.").arg(row), false);
}
keysTable->resizeColumnsToContents();
}
reply->deleteLater();
- reply = 0;
}
-void KeyServerImportDialog::slotImport()
-{
- if ( keysTable->currentRow() > -1 ) {
- QString keyid = keysTable->item(keysTable->currentRow(),2)->text();
- QUrl url = keyServerComboBox->currentText();
- slotImport(QStringList(keyid), url);
- }
+void KeyServerImportDialog::slotImport() {
+ if (keysTable->currentRow() > -1) {
+ QString keyid = keysTable->item(keysTable->currentRow(), 2)->text();
+ slotImport(QStringList(keyid), keyServerComboBox->currentText());
+ }
}
-void KeyServerImportDialog::slotImport(QStringList keyIds)
-{
+void KeyServerImportDialog::slotImport(QStringList keyIds) {
QSettings settings;
- QString keyserver=settings.value("keyserver/defaultKeyServer").toString();
- QUrl url(keyserver);
- slotImport(keyIds, url);
+ QString keyserver = settings.value("keyserver/defaultKeyServer").toString();;
+ slotImport(std::move(keyIds), QUrl(keyserver));
}
-void KeyServerImportDialog::slotImport(QStringList keyIds, QUrl keyServerUrl)
-{
- foreach(QString keyId, keyIds) {
- QUrl reqUrl(keyServerUrl.scheme() + "://" + keyServerUrl.host() + ":11371/pks/lookup?op=get&search=0x"+keyId+"&options=mr");
- //qDebug() << "req to " << reqUrl;
- qnam = new QNetworkAccessManager(this);
- QNetworkReply *reply = qnam->get(QNetworkRequest(reqUrl));
- connect(reply, SIGNAL(finished()),
- this, SLOT(slotImportFinished()));
- }
+void KeyServerImportDialog::slotImport(QStringList keyIds, const QUrl &keyServerUrl) {
+ foreach(QString keyId, keyIds) {
+ QUrl reqUrl(
+ keyServerUrl.scheme() + "://" + keyServerUrl.host() + ":11371/pks/lookup?op=get&search=0x" + keyId +
+ "&options=mr");
+ //qDebug() << "req to " << reqUrl;
+ qnam = new QNetworkAccessManager(this);
+ QNetworkReply *reply = qnam->get(QNetworkRequest(reqUrl));
+ connect(reply, SIGNAL(finished()),
+ this, SLOT(slotImportFinished()));
+ }
}
-void KeyServerImportDialog::slotImportFinished()
-{
- QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
+void KeyServerImportDialog::slotImportFinished() {
+ auto *reply = qobject_cast<QNetworkReply *>(sender());
QByteArray key = reply->readAll();
QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if (reply->error()) {
- setMessage(tr("Error while contacting keyserver!"),true);
+ setMessage(tr("Error while contacting keyserver!"), true);
return;
}
this->importKeys(key.constData());
- setMessage(tr("Key imported"),false);
+ setMessage(tr("Key imported"), false);
// Add keyserver to list in config-file, if it isn't contained
QSettings settings;
QStringList keyServerList = settings.value("keyserver/keyServerList").toStringList();
- if (!keyServerList.contains(keyServerComboBox->currentText()))
- {
+ if (!keyServerList.contains(keyServerComboBox->currentText())) {
keyServerList.append(keyServerComboBox->currentText());
settings.setValue("keyserver/keyServerList", keyServerList);
}
reply->deleteLater();
- reply = 0;
+ reply = nullptr;
}
-void KeyServerImportDialog::importKeys(QByteArray inBuffer)
-{
- GpgImportInformation result = mCtx->importKey(inBuffer);
+void KeyServerImportDialog::importKeys(QByteArray inBuffer) {
+ GpgImportInformation result = mCtx->importKey(std::move(inBuffer));
new KeyImportDetailDialog(mCtx, result, this);
}