-
Notifications
You must be signed in to change notification settings - Fork 18
/
SpeedDialDialog.cpp
91 lines (71 loc) · 1.97 KB
/
SpeedDialDialog.cpp
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "SpeedDialDialog.h"
#include "ui_speeddialdialog.h"
#include "Global.h"
#include <QMessageBox>
QStringList SpeedDialDialog::m_addedCodes;
SpeedDialDialog::SpeedDialDialog(QString code, QString phoneNubmer, QWidget *parent) :
QDialog(parent),
ui(new Ui::SpeedDialDialog)
{
ui->setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
QObject::connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &SpeedDialDialog::onAccept);
QObject::connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
m_code = code;
// Add code items.
for (int i = 1; i < 100; ++i)
{
QString codes = QString::number(i);
if (code.toInt() == i)
{
ui->codeBox->addItem(codes);
}
else if (m_addedCodes.contains(codes) == false)
{
ui->codeBox->addItem(codes);
}
}
// Set current index.
int index = ui->codeBox->findText(code);
if (index == -1)
index = 0;
ui->codeBox->setCurrentIndex(index);
ui->phoneEdit->setText(phoneNubmer);
}
SpeedDialDialog::~SpeedDialDialog()
{
delete ui;
}
QString SpeedDialDialog::getCode() const
{
return ui->codeBox->currentText();
}
QString SpeedDialDialog::getPhoneNumber() const
{
return ui->phoneEdit->text();
}
void SpeedDialDialog::removeCode(const QString &code)
{
m_addedCodes.removeOne(code);
}
void SpeedDialDialog::updateSpeedDials(const QStringList &codes)
{
foreach(QString code, codes)
m_addedCodes.append(code);
}
void SpeedDialDialog::onAccept()
{
if (ui->phoneEdit->text().isEmpty())
{
MsgBoxWarning(tr("Invalid phone number!"));
}
else
{
QString currentCode = ui->codeBox->currentText();
if (m_code.isEmpty() == false)
m_addedCodes.removeOne(m_code);
if (m_addedCodes.contains(currentCode) == false)
m_addedCodes.append(currentCode);
QDialog::accept();
}
}