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