aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/import_export/KeyServerImportDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/import_export/KeyServerImportDialog.cpp')
-rw-r--r--src/ui/dialog/import_export/KeyServerImportDialog.cpp173
1 files changed, 88 insertions, 85 deletions
diff --git a/src/ui/dialog/import_export/KeyServerImportDialog.cpp b/src/ui/dialog/import_export/KeyServerImportDialog.cpp
index 296df539..575a97e4 100644
--- a/src/ui/dialog/import_export/KeyServerImportDialog.cpp
+++ b/src/ui/dialog/import_export/KeyServerImportDialog.cpp
@@ -28,14 +28,12 @@
#include "KeyServerImportDialog.h"
-#include <QRegExp>
-
#include "core/GpgModel.h"
#include "core/function/GlobalSettingStation.h"
#include "core/function/gpg/GpgKeyImportExporter.h"
+#include "core/model/SettingsObject.h"
#include "ui/UISignalStation.h"
-#include "ui/struct/SettingsObject.h"
-#include "ui/struct/settings/KeyServerSO.h"
+#include "ui/struct/settings_object/KeyServerSO.h"
#include "ui/thread/KeyServerImportTask.h"
#include "ui/thread/KeyServerSearchTask.h"
@@ -243,11 +241,14 @@ void KeyServerImportDialog::slot_search_finished(
set_message("<h4>" + tr("Too many responses from keyserver!") + "</h4>",
true);
return;
- } else if (text.contains("No keys found")) {
+ }
+
+ if (text.contains("No keys found")) {
+ auto query = search_line_edit_->text();
+
// if string looks like hex string, search again with 0x prepended
- QRegExp rx("[0-9A-Fa-f]*");
- QString query = search_line_edit_->text();
- if (rx.exactMatch(query)) {
+ QRegularExpression rx("[0-9A-Fa-f]*");
+ if (rx.match(query).hasMatch()) {
set_message("<h4>" +
tr("No keys found, input may be kexId, retrying search "
"with 0x.") +
@@ -257,102 +258,104 @@ void KeyServerImportDialog::slot_search_finished(
this->slot_search();
return;
}
+
set_message(
"<h4>" + tr("No keys found containing the search string!") + "</h4>",
true);
return;
+ }
- } else if (text.contains("Insufficiently specific words")) {
+ if (text.contains("Insufficiently specific words")) {
set_message(
"<h4>" + tr("Insufficiently specific search string!") + "</h4>",
true);
return;
- } else {
- set_message(text, true);
- return;
}
- } else {
- int row = 0;
- bool strikeout = false;
-
- // read lines until end of steam
- while (!stream.atEnd()) {
- QStringList line =
- QString::fromUtf8(QByteArray::fromPercentEncoding(
- stream.readLine().trimmed().toUtf8()))
- .split(":");
-
- // TODO: have a look at two following pub lines
- if (line[0] == "pub") {
- strikeout = false;
-
- QString flags = line[line.size() - 1];
- keys_table_->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;
- if (flags.contains("e")) {
- keys_table_->setItem(row, 3,
- new QTableWidgetItem(QString("expired")));
- }
- if (flags.contains("r")) {
- keys_table_->setItem(row, 3, new QTableWidgetItem(tr("revoked")));
- }
- if (flags.contains("d")) {
- keys_table_->setItem(row, 3, new QTableWidgetItem(tr("disabled")));
- }
- }
- QStringList line2 = QString(QByteArray::fromPercentEncoding(
- stream.readLine().trimmed().toUtf8()))
- .split(":");
+ set_message(text, true);
+ return;
+ }
- auto* uid = new QTableWidgetItem();
- if (line2.size() > 1) {
- uid->setText(line2[1]);
- keys_table_->setItem(row, 0, uid);
+ int row = 0;
+ bool strikeout = false;
+
+ // read lines until end of steam
+ while (!stream.atEnd()) {
+ QStringList line =
+ QString::fromUtf8(QByteArray::fromPercentEncoding(
+ stream.readLine().trimmed().toUtf8()))
+ .split(":");
+
+ // TODO: have a look at two following pub lines
+ if (line[0] == "pub") {
+ strikeout = false;
+
+ QString flags = line[line.size() - 1];
+ keys_table_->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;
+ if (flags.contains("e")) {
+ keys_table_->setItem(row, 3,
+ new QTableWidgetItem(QString("expired")));
+ }
+ if (flags.contains("r")) {
+ keys_table_->setItem(row, 3, new QTableWidgetItem(tr("revoked")));
+ }
+ if (flags.contains("d")) {
+ keys_table_->setItem(row, 3, new QTableWidgetItem(tr("disabled")));
}
- auto* creation_date =
- new QTableWidgetItem(QDateTime::fromSecsSinceEpoch(line[4].toInt())
- .toString("dd. MMM. yyyy"));
- keys_table_->setItem(row, 1, creation_date);
- auto* keyid = new QTableWidgetItem(line[1]);
- keys_table_->setItem(row, 2, keyid);
+ }
+
+ QStringList line2 = QString(QByteArray::fromPercentEncoding(
+ stream.readLine().trimmed().toUtf8()))
+ .split(":");
+
+ auto* uid = new QTableWidgetItem();
+ if (line2.size() > 1) {
+ uid->setText(line2[1]);
+ keys_table_->setItem(row, 0, uid);
+ }
+ auto* creation_date =
+ new QTableWidgetItem(QDateTime::fromSecsSinceEpoch(line[4].toInt())
+ .toString("dd. MMM. yyyy"));
+ keys_table_->setItem(row, 1, creation_date);
+ auto* keyid = new QTableWidgetItem(line[1]);
+ keys_table_->setItem(row, 2, keyid);
+ if (strikeout) {
+ QFont strike = uid->font();
+ strike.setStrikeOut(true);
+ uid->setFont(strike);
+ creation_date->setFont(strike);
+ keyid->setFont(strike);
+ }
+ row++;
+ } else {
+ if (line[0] == "uid") {
+ QStringList l;
+ int height = keys_table_->rowHeight(row - 1);
+ keys_table_->setRowHeight(row - 1, height + 16);
+ QString tmp = keys_table_->item(row - 1, 0)->text();
+ tmp.append(QString("\n") + line[1]);
+ auto* tmp1 = new QTableWidgetItem(tmp);
+ keys_table_->setItem(row - 1, 0, tmp1);
if (strikeout) {
- QFont strike = uid->font();
+ QFont strike = tmp1->font();
strike.setStrikeOut(true);
- uid->setFont(strike);
- creation_date->setFont(strike);
- keyid->setFont(strike);
- }
- row++;
- } else {
- if (line[0] == "uid") {
- QStringList l;
- int height = keys_table_->rowHeight(row - 1);
- keys_table_->setRowHeight(row - 1, height + 16);
- QString tmp = keys_table_->item(row - 1, 0)->text();
- tmp.append(QString("\n") + line[1]);
- auto* tmp1 = new QTableWidgetItem(tmp);
- keys_table_->setItem(row - 1, 0, tmp1);
- if (strikeout) {
- QFont strike = tmp1->font();
- strike.setStrikeOut(true);
- tmp1->setFont(strike);
- }
+ tmp1->setFont(strike);
}
}
- set_message(
- QString("<h4>") +
- tr("%1 keys found. Double click a key to import it.").arg(row) +
- "</h4>",
- false);
}
- keys_table_->resizeColumnsToContents();
- import_button_->setDisabled(keys_table_->size().isEmpty());
+ set_message(
+ QString("<h4>") +
+ tr("%1 keys found. Double click a key to import it.").arg(row) +
+ "</h4>",
+ false);
}
+ keys_table_->resizeColumnsToContents();
+ import_button_->setDisabled(keys_table_->size().isEmpty());
}
void KeyServerImportDialog::slot_import() {