-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDriverSettings.cpp
executable file
·67 lines (57 loc) · 2.42 KB
/
DriverSettings.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
#include "DriverSettings.h"
#include <QDebug>
#include <QSettings>
#include "ui_DriverSettings.h"
static constexpr auto DRIVER_FULL_NAME = "DRIVER_FULL_NAME";
static constexpr auto DRIVER_CODE = "DRIVER_CODE";
static constexpr auto DRIVER_PHONE = "DRIVER_PHONE";
static constexpr auto EMPLOYER_FULL_NAME = "EMPLOYER_FULL_NAME";
static constexpr auto VEHICLE_CODE = "VEHICLE_CODE";
DriverSettings::DriverSettings(QWidget *parent)
: QWidget(parent), ui(new Ui::DriverSettings), _settings(new QSettings) {
ui->setupUi(this);
connect(ui->driverFullName, &QLineEdit::textEdited, this,
&DriverSettings::save);
connect(ui->driverCode, &QLineEdit::textEdited, this, &DriverSettings::save);
connect(ui->driverPhone, &QLineEdit::textEdited, this, &DriverSettings::save);
connect(ui->employerFullName, &QLineEdit::textEdited, this,
&DriverSettings::save);
connect(ui->vehicleCode, &QLineEdit::textEdited, this, &DriverSettings::save);
load();
}
DriverSettings::~DriverSettings() {
save();
_settings->sync(); //
delete ui;
}
DriverSettings::Information DriverSettings::info() const {
DriverSettings::Information result;
result.driverName = ui->driverFullName->text();
result.driverCode = ui->driverCode->text();
result.driverPhone = ui->driverPhone->text();
result.employerName = ui->employerFullName->text();
result.vehicleCode = ui->vehicleCode->text();
return result;
}
void DriverSettings::load() {
auto driverName = _settings->value(DRIVER_FULL_NAME, "");
auto driverCode = _settings->value(DRIVER_CODE, "");
auto driverPhone = _settings->value(DRIVER_PHONE, "");
auto employerName = _settings->value(EMPLOYER_FULL_NAME, "");
auto vehicleCode = _settings->value(VEHICLE_CODE, "");
{
ui->driverFullName->setText(driverName.toString());
ui->driverCode->setText(driverCode.toString());
ui->driverPhone->setText(driverPhone.toString());
ui->employerFullName->setText(employerName.toString());
ui->vehicleCode->setText(vehicleCode.toString());
}
}
void DriverSettings::save() {
auto infoResult = info();
_settings->setValue(DRIVER_FULL_NAME, infoResult.driverName);
_settings->setValue(DRIVER_CODE, infoResult.driverCode);
_settings->setValue(DRIVER_PHONE, infoResult.driverPhone);
_settings->setValue(EMPLOYER_FULL_NAME, infoResult.employerName);
_settings->setValue(VEHICLE_CODE, infoResult.vehicleCode);
}