Хранилища Subversion qb

Редакция

Авторство | Последнее изменение | Открыть журнал | Скачать | RSS

#include <QtGui>
#include <QtSql>
#include "dbconfigdialog.h"

DbConfigDialog::DbConfigDialog()
{
    QLabel *driversLabel = new QLabel("Driver");
    driversCombo = new QComboBox;
    driversCombo->setModel(new QStringListModel(QSqlDatabase::drivers(), this));

    QLabel *databaseLabel = new QLabel("Database");
    databaseEdit = new QLineEdit;

    QGridLayout *settingsLayout = new QGridLayout();
    settingsLayout->addWidget(driversLabel,0,0);
    settingsLayout->addWidget(driversCombo,0,1);
    settingsLayout->addWidget(databaseLabel,1,0);
    settingsLayout->addWidget(databaseEdit,1,1);

    QPushButton *readButton = new QPushButton("Read");
    QPushButton *saveButton = new QPushButton("Save");
    QHBoxLayout *buttonLayout = new QHBoxLayout;
    buttonLayout->addWidget(readButton);
    buttonLayout->addWidget(saveButton);

    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->addLayout(settingsLayout);
    mainLayout->addLayout(buttonLayout);
    setLayout(mainLayout);

    connect(readButton,SIGNAL(clicked()),this,SLOT(on_read_settings()));
    connect(saveButton,SIGNAL(clicked()),this,SLOT(on_save_settings()));

    on_read_settings();
}

void DbConfigDialog::on_read_settings()
{
    QSettings settings;
    driversCombo->setCurrentIndex(driversCombo->findText(settings.value("DB/driver").toString()));
    databaseEdit->setText(settings.value("DB/database").toString());
}

void DbConfigDialog::on_save_settings()
{
    QSettings settings;
    settings.setValue("DB/driver",driversCombo->currentText());
    settings.setValue("DB/database",databaseEdit->text());
}