aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/settings/SettingsSendMail.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/settings/SettingsSendMail.cpp')
-rw-r--r--src/ui/settings/SettingsSendMail.cpp169
1 files changed, 37 insertions, 132 deletions
diff --git a/src/ui/settings/SettingsSendMail.cpp b/src/ui/settings/SettingsSendMail.cpp
index f0acb10d..728cfc66 100644
--- a/src/ui/settings/SettingsSendMail.cpp
+++ b/src/ui/settings/SettingsSendMail.cpp
@@ -24,13 +24,9 @@
#include "SettingsSendMail.h"
-#ifdef SMTP_SUPPORT
-#include "smtp/SmtpMime"
-#endif
-
-#include "ui/function/SMTPSendMailThread.h"
-#include "ui/function/SMTPTestThread.h"
-#include "ui/settings/GlobalSettingStation.h"
+#include "ui/data_struct/SettingsObject.h"
+#include "ui/thread/SMTPSendMailThread.h"
+#include "ui/thread/SMTPTestThread.h"
#include "ui_SendMailSettings.h"
namespace GpgFrontend::UI {
@@ -97,87 +93,39 @@ SendMailTab::SendMailTab(QWidget* parent)
}
void SendMailTab::setSettings() {
- auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
+ auto smtp_passport = SettingsObject("smtp_passport");
- try {
- std::string mail_address = settings.lookup("smtp.mail_address");
- ui->smtpServerAddressEdit->setText(mail_address.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("mail_address");
- }
+ ui->smtpServerAddressEdit->setText(
+ std::string{smtp_passport.Check("smtp_address", {})}.c_str());
- try {
- std::string std_username = settings.lookup("smtp.username");
- ui->usernameEdit->setText(std_username.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("username");
- }
+ ui->usernameEdit->setText(
+ std::string{smtp_passport.Check("username", {})}.c_str());
- try {
- std::string std_password = settings.lookup("smtp.password");
- ui->passwordEdit->setText(std_password.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("password");
- }
+ ui->passwordEdit->setText(
+ std::string{smtp_passport.Check("password", {})}.c_str());
- try {
- int port = settings.lookup("smtp.port");
- ui->portSpin->setValue(port);
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("port");
- }
+ ui->portSpin->setValue(int{smtp_passport.Check("port", 25)});
- ui->connextionSecurityComboBox->setCurrentText("None");
- try {
- std::string connection_type = settings.lookup("smtp.connection_type");
- ui->connextionSecurityComboBox->setCurrentText(connection_type.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("connection_type");
- }
+ ui->connextionSecurityComboBox->setCurrentText(
+ std::string{smtp_passport.Check("connection_type", "None")}.c_str());
- try {
- std::string default_sender = settings.lookup("smtp.default_sender");
- ui->defaultSenderEmailEdit->setText(default_sender.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("default_sender");
- }
+ ui->defaultSenderEmailEdit->setText(
+ std::string{smtp_passport.Check("default_sender", {})}.c_str());
- try {
- std::string default_sender_gpg_key_id =
- settings.lookup("smtp.default_sender_gpg_key_id");
- ui->gpgKeyIDEdit->setText(default_sender_gpg_key_id.c_str());
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error")
- << _("default_sender_gpg_key_id");
- }
+ ui->gpgKeyIDEdit->setText(
+ std::string{smtp_passport.Check("default_sender_gpg_key_id", {})}
+ .c_str());
+
+ ui->identityCheckBox->setChecked(
+ bool{smtp_passport.Check("identity_enable", false)});
+
+ ui->enableCheckBox->setChecked(bool{smtp_passport.Check("enable", false)});
- ui->identityCheckBox->setCheckState(Qt::Unchecked);
- try {
- bool identity_enable = settings.lookup("smtp.identity_enable");
- if (identity_enable)
- ui->identityCheckBox->setCheckState(Qt::Checked);
- else
- ui->identityCheckBox->setCheckState(Qt::Unchecked);
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("identity_enable");
- }
-
{
auto state = ui->identityCheckBox->checkState();
switch_ui_identity_enabled(state == Qt::Checked);
}
- ui->enableCheckBox->setCheckState(Qt::Unchecked);
- try {
- bool smtp_enable = settings.lookup("smtp.enable");
- if (smtp_enable)
- ui->enableCheckBox->setCheckState(Qt::Checked);
- else
- ui->enableCheckBox->setCheckState(Qt::Unchecked);
- } catch (...) {
- LOG(ERROR) << _("Setting Operation Error") << _("save_key_checked");
- }
-
{
auto state = ui->enableCheckBox->checkState();
switch_ui_enabled(state == Qt::Checked);
@@ -185,76 +133,33 @@ void SendMailTab::setSettings() {
}
void SendMailTab::applySettings() {
- auto& settings =
- GpgFrontend::UI::GlobalSettingStation::GetInstance().GetUISettings();
-
- if (!settings.exists("smtp") ||
- settings.lookup("smtp").getType() != libconfig::Setting::TypeGroup)
- settings.add("smtp", libconfig::Setting::TypeGroup);
-
- auto& smtp = settings["smtp"];
+ try {
+ auto smtp_passport = SettingsObject("smtp_passport");
- if (!smtp.exists("mail_address"))
- smtp.add("mail_address", libconfig::Setting::TypeString) =
+ smtp_passport["smtp_address"] =
ui->smtpServerAddressEdit->text().toStdString();
- else {
- smtp["mail_address"] = ui->smtpServerAddressEdit->text().toStdString();
- }
- if (!smtp.exists("username"))
- smtp.add("username", libconfig::Setting::TypeString) =
- ui->usernameEdit->text().toStdString();
- else {
- smtp["username"] = ui->usernameEdit->text().toStdString();
- }
+ smtp_passport["username"] = ui->usernameEdit->text().toStdString();
- if (!smtp.exists("password"))
- smtp.add("password", libconfig::Setting::TypeString) =
- ui->passwordEdit->text().toStdString();
- else {
- smtp["password"] = ui->passwordEdit->text().toStdString();
- }
+ smtp_passport["password"] = ui->passwordEdit->text().toStdString();
- if (!smtp.exists("port"))
- smtp.add("port", libconfig::Setting::TypeInt) = ui->portSpin->value();
- else {
- smtp["port"] = ui->portSpin->value();
- }
+ smtp_passport["port"] = ui->portSpin->value();
- if (!smtp.exists("connection_type"))
- smtp.add("connection_type", libconfig::Setting::TypeString) =
- ui->connextionSecurityComboBox->currentText().toStdString();
- else {
- smtp["connection_type"] =
+ smtp_passport["connection_type"] =
ui->connextionSecurityComboBox->currentText().toStdString();
- }
- if (!smtp.exists("default_sender"))
- smtp.add("default_sender", libconfig::Setting::TypeString) =
+ smtp_passport["default_sender"] =
ui->defaultSenderEmailEdit->text().toStdString();
- else {
- smtp["default_sender"] = ui->defaultSenderEmailEdit->text().toStdString();
- }
- if (!smtp.exists("default_sender_gpg_key_id"))
- smtp.add("default_sender_gpg_key_id", libconfig::Setting::TypeString) =
+ smtp_passport["default_sender_gpg_key_id"] =
ui->gpgKeyIDEdit->text().toStdString();
- else {
- smtp["default_sender_gpg_key_id"] = ui->gpgKeyIDEdit->text().toStdString();
- }
- if (!smtp.exists("identity_enable"))
- smtp.add("identity_enable", libconfig::Setting::TypeBoolean) =
- ui->identityCheckBox->isChecked();
- else {
- smtp["identity_enable"] = ui->identityCheckBox->isChecked();
- }
+ smtp_passport["identity_enable"] = ui->identityCheckBox->isChecked();
- if (!smtp.exists("enable"))
- smtp.add("enable", libconfig::Setting::TypeBoolean) =
- ui->enableCheckBox->isChecked();
- else {
- smtp["enable"] = ui->enableCheckBox->isChecked();
+ smtp_passport["enable"] = ui->enableCheckBox->isChecked();
+
+ } catch (...) {
+ LOG(ERROR) << _("apply settings failed");
}
}