aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/KeyUploadDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/KeyUploadDialog.cpp')
-rw-r--r--src/ui/KeyUploadDialog.cpp29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/ui/KeyUploadDialog.cpp b/src/ui/KeyUploadDialog.cpp
index d9c97252..52aa2bd3 100644
--- a/src/ui/KeyUploadDialog.cpp
+++ b/src/ui/KeyUploadDialog.cpp
@@ -28,15 +28,13 @@
#include "gpg/function/GpgKeyGetter.h"
#include "gpg/function/GpgKeyImportExportor.h"
+#include "ui/settings/GlobalSettingStation.h"
namespace GpgFrontend::UI {
KeyUploadDialog::KeyUploadDialog(const KeyIdArgsListPtr& keys_ids,
QWidget* parent)
: QDialog(parent),
- appPath(qApp->applicationDirPath()),
- settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini",
- QSettings::IniFormat),
mKeys(GpgKeyGetter::GetInstance().GetKeys(keys_ids)) {
auto* pb = new QProgressBar();
pb->setRange(0, 0);
@@ -62,10 +60,27 @@ void KeyUploadDialog::slotUpload() {
void KeyUploadDialog::uploadKeyToServer(
const GpgFrontend::ByteArray& keys_data) {
- // set default keyserver
- QString keyserver = settings.value("keyserver/defaultKeyServer").toString();
- QUrl reqUrl(keyserver + "/pks/add");
+ std::string target_keyserver;
+ if (target_keyserver.empty()) {
+ try {
+ auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
+
+ target_keyserver = settings.lookup("keyserver.default_server").c_str();
+
+ LOG(INFO) << _("Set target Key Server to default Key Server")
+ << target_keyserver;
+ } catch (...) {
+ LOG(ERROR) << _("Cannot read default_keyserver From Settings");
+ QMessageBox::critical(
+ nullptr, _("Default Keyserver Not Found"),
+ _("Cannot read default keyserver from your settings, "
+ "please set a default keyserver first"));
+ return;
+ }
+ }
+
+ QUrl req_url(QString::fromStdString(target_keyserver + "/pks/add"));
auto qnam = new QNetworkAccessManager(this);
// Building Post Data
@@ -83,7 +98,7 @@ void KeyUploadDialog::uploadKeyToServer(
boost::algorithm::replace_all(data, "=", "%3D");
boost::algorithm::replace_all(data, " ", "+");
- QNetworkRequest request(reqUrl);
+ QNetworkRequest request(req_url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
"application/x-www-form-urlencoded");