-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEmailSettingDialog.cpp
More file actions
74 lines (59 loc) · 2.18 KB
/
Copy pathEmailSettingDialog.cpp
File metadata and controls
74 lines (59 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "EmailSettingDialog.hpp"
#include "ui_EmailSettingDialog.h"
#include "ConfigStore.hpp"
#include <QMessageBox>
EmailSettingDialog::EmailSettingDialog(QWidget *parent)
: QDialog(parent), ui(new Ui::EmailSettingDialog) {
ui->setupUi(this);
const auto obj = ConfigStore::get().load("emailConfig");
if (!obj.isEmpty()) {
cfg.emailTitle = obj.value("emailTitle").toString();
cfg.senderEmail = obj.value("senderEmail").toString();
cfg.authCode = obj.value("authCode").toString();
cfg.receiverEmail = obj.value("receiverEmail").toString();
ui->emailTitleView->setText(cfg.emailTitle);
ui->senderEmailView->setText(cfg.senderEmail);
ui->authCodeView->setText(cfg.authCode);
ui->receiverEmailView->setText(cfg.receiverEmail);
}
connect(ui->saveButton, &QPushButton::clicked, this,
&EmailSettingDialog::onSaveButtonClicked);
connect(ui->cancelButton, &QPushButton::clicked, this,
&EmailSettingDialog::onCancelButtonClicked);
}
void EmailSettingDialog::onSaveButtonClicked() {
QString emailTitle = ui->emailTitleView->text();
if (emailTitle.isEmpty()) {
emailTitle = "指令执行结果通知";
}
cfg.emailTitle = emailTitle;
const QString senderEmail = ui->senderEmailView->text();
if (senderEmail.isEmpty()) {
QMessageBox::warning(this, "警告", "发件人邮箱不能为空");
return;
}
if (!senderEmail.endsWith("@qq.com")) {
QMessageBox::warning(this, "警告", "发件人邮箱仅支持QQ邮箱");
return;
}
cfg.senderEmail = senderEmail;
const QString authCode = ui->authCodeView->text();
if (authCode.isEmpty()) {
QMessageBox::warning(this, "警告", "授权码不能为空");
return;
}
cfg.authCode = authCode;
const QString receiverEmail = ui->receiverEmailView->text();
if (receiverEmail.isEmpty()) {
QMessageBox::warning(this, "警告", "收件人邮箱不能为空");
return;
}
cfg.receiverEmail = receiverEmail;
accepted = true;
accept();
}
void EmailSettingDialog::onCancelButtonClicked() { close(); }
QPair<bool, EmailConfig> EmailSettingDialog::getInputValue() const {
return {accepted, cfg};
}
EmailSettingDialog::~EmailSettingDialog() { delete ui; }