aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/settings/SettingsKeyServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/settings/SettingsKeyServer.cpp')
-rw-r--r--src/ui/settings/SettingsKeyServer.cpp62
1 files changed, 47 insertions, 15 deletions
diff --git a/src/ui/settings/SettingsKeyServer.cpp b/src/ui/settings/SettingsKeyServer.cpp
index dc77491b..f05ad7fb 100644
--- a/src/ui/settings/SettingsKeyServer.cpp
+++ b/src/ui/settings/SettingsKeyServer.cpp
@@ -24,13 +24,11 @@
#include "SettingsKeyServer.h"
+#include "GlobalSettingStation.h"
+
namespace GpgFrontend::UI {
-KeyserverTab::KeyserverTab(QWidget* parent)
- : QWidget(parent),
- appPath(qApp->applicationDirPath()),
- settings(RESOURCE_DIR(appPath) + "/conf/gpgfrontend.ini",
- QSettings::IniFormat) {
+KeyserverTab::KeyserverTab(QWidget* parent) : QWidget(parent) {
auto generalGroupBox = new QGroupBox(_("General"));
auto generalLayout = new QVBoxLayout();
@@ -95,15 +93,26 @@ KeyserverTab::KeyserverTab(QWidget* parent)
* appropriately
**********************************/
void KeyserverTab::setSettings() {
- keyServerStrList = settings.value("keyserver/keyServerList").toStringList();
-
- for (const auto& keyServer : keyServerStrList) {
- comboBox->addItem(keyServer);
- qDebug() << "KeyserverTab Get ListItemText" << keyServer;
+ auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
+
+ try {
+ auto& server_list = settings.lookup("keyserver.server_list");
+ const auto server_list_size = server_list.getLength();
+ for (int i = 0; i < server_list_size; i++) {
+ std::string server_url = server_list[i];
+ comboBox->addItem(server_url.c_str());
+ keyServerStrList.append(server_url.c_str());
+ }
+ } catch (...) {
+ LOG(ERROR) << _("Setting Operation Error") << _("server_list");
}
- comboBox->setCurrentText(
- settings.value("keyserver/defaultKeyServer").toString());
+ try {
+ std::string default_server = settings.lookup("keyserver.default_server");
+ comboBox->setCurrentText(default_server.c_str());
+ } catch (...) {
+ LOG(ERROR) << _("Setting Operation Error") << _("default_server");
+ }
}
void KeyserverTab::addKeyServer() {
@@ -123,12 +132,35 @@ void KeyserverTab::addKeyServer() {
* write them to settings-file
*************************************/
void KeyserverTab::applySettings() {
- settings.setValue("keyserver/keyServerList", keyServerStrList);
- settings.setValue("keyserver/defaultKeyServer", comboBox->currentText());
+ auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
+
+ if (!settings.exists("keyserver") ||
+ settings.lookup("keyserver").getType() != libconfig::Setting::TypeGroup)
+ settings.add("keyserver", libconfig::Setting::TypeGroup);
+
+ auto& keyserver = settings["keyserver"];
+
+ if (keyserver.exists("server_list"))
+ keyserver.remove("server_list");
+
+ keyserver.add("server_list", libconfig::Setting::TypeList);
+
+ auto& server_list = keyserver["server_list"];
+ for (const auto& key_server_url : keyServerStrList) {
+ server_list.add(libconfig::Setting::TypeString) =
+ key_server_url.toStdString();
+ }
+
+ if (!keyserver.exists("default_server")) {
+ keyserver.add("default_server", libconfig::Setting::TypeString) =
+ comboBox->currentText().toStdString();
+ } else {
+ keyserver["default_server"] = comboBox->currentText().toStdString();
+ }
}
void KeyserverTab::refreshTable() {
- qDebug() << "Start Refreshing Key Server Table";
+ LOG(INFO) << "Start Refreshing Key Server Table";
keyServerTable->setRowCount(keyServerStrList.size());