Содержимое файла | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
2 | diffor | 1 | #include <QtGui> |
2 | #include <QtSql> |
||
3 | #include "dbconfigdialog.h" |
||
4 | |||
5 | DbConfigDialog::DbConfigDialog() |
||
6 | { |
||
7 | QLabel *driversLabel = new QLabel("Driver"); |
||
8 | driversCombo = new QComboBox; |
||
9 | driversCombo->setModel(new QStringListModel(QSqlDatabase::drivers(), this)); |
||
10 | |||
11 | QLabel *databaseLabel = new QLabel("Database"); |
||
12 | databaseEdit = new QLineEdit; |
||
13 | |||
14 | QGridLayout *settingsLayout = new QGridLayout(); |
||
15 | settingsLayout->addWidget(driversLabel,0,0); |
||
16 | settingsLayout->addWidget(driversCombo,0,1); |
||
17 | settingsLayout->addWidget(databaseLabel,1,0); |
||
18 | settingsLayout->addWidget(databaseEdit,1,1); |
||
19 | |||
20 | QPushButton *readButton = new QPushButton("Read"); |
||
21 | QPushButton *saveButton = new QPushButton("Save"); |
||
22 | QHBoxLayout *buttonLayout = new QHBoxLayout; |
||
23 | buttonLayout->addWidget(readButton); |
||
24 | buttonLayout->addWidget(saveButton); |
||
25 | |||
26 | QVBoxLayout *mainLayout = new QVBoxLayout; |
||
27 | mainLayout->addLayout(settingsLayout); |
||
28 | mainLayout->addLayout(buttonLayout); |
||
29 | setLayout(mainLayout); |
||
30 | |||
31 | connect(readButton,SIGNAL(clicked()),this,SLOT(on_read_settings())); |
||
32 | connect(saveButton,SIGNAL(clicked()),this,SLOT(on_save_settings())); |
||
33 | |||
34 | on_read_settings(); |
||
35 | } |
||
36 | |||
37 | void DbConfigDialog::on_read_settings() |
||
38 | { |
||
39 | QSettings settings; |
||
40 | driversCombo->setCurrentIndex(driversCombo->findText(settings.value("DB/driver").toString())); |
||
41 | databaseEdit->setText(settings.value("DB/database").toString()); |
||
42 | } |
||
43 | |||
44 | void DbConfigDialog::on_save_settings() |
||
45 | { |
||
46 | QSettings settings; |
||
47 | settings.setValue("DB/driver",driversCombo->currentText()); |
||
48 | settings.setValue("DB/database",databaseEdit->text()); |
||
49 | } |