diff options
Diffstat (limited to 'src/ui/KeyUploadDialog.cpp')
-rw-r--r-- | src/ui/KeyUploadDialog.cpp | 29 |
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"); |