#include "auth.h" #include #include #include auth::auth(QWidget *parent) : QWidget{parent} , _nicknameLabel(new QLabel("nickname:")) , _nicknameEdit(new QLineEdit()) , _passwordLabel(new QLabel("passwprd:")) , _passwordEdit(new QLineEdit()) , _addressLabel(new QLabel("address:")) , _addressEdit(new QLineEdit()) , _portLabel(new QLabel("port:")) , _portEdit(new QLineEdit()) , _okButton(new QPushButton("&OK")) , _quitButton(new QPushButton("&QUIT")) , _vbox(new QVBoxLayout(this)) , _db(QSqlDatabase::addDatabase("QPSQL")) { _nicknameLabel->setAlignment (Qt::AlignHCenter); _passwordLabel->setAlignment (Qt::AlignHCenter); _addressLabel->setAlignment (Qt::AlignHCenter); _portLabel->setAlignment (Qt::AlignHCenter); _passwordEdit->setEchoMode (QLineEdit::Password); QSettings settings ("mysitenews", "mysitenews"); _nicknameEdit->setText (settings.value ("db/user").toString ()); _passwordEdit->setText (settings.value ("db/password").toString ()); _addressEdit->setText (settings.value ("db/host").toString ()); _portEdit->setText (settings.value ("db/port", "5432").toString ()); _vbox->addWidget (_nicknameLabel); _vbox->addWidget (_nicknameEdit); _vbox->addWidget (_passwordLabel); _vbox->addWidget (_passwordEdit); _vbox->addWidget (_addressLabel); _vbox->addWidget (_addressEdit); _vbox->addWidget (_portLabel); _vbox->addWidget (_portEdit); _vbox->addWidget (_okButton); _vbox->addWidget (_quitButton); connect (_okButton, &QPushButton::clicked, this, &auth::onAuth); connect (_quitButton, &QPushButton::clicked, this, &auth::close); setLayout (_vbox); } void auth::onAuth () { QSettings settings ("mysitenews", "mysitenews"); _db.setHostName(_addressEdit->text()); _db.setPort(_portEdit->text().toInt()); _db.setDatabaseName(settings.value ("db/database", "cards").toString ()); _db.setUserName(_nicknameEdit->text()); _db.setPassword(_passwordEdit->text()); if (!_db.open()) { QMessageBox::critical(this, tr("Ошибка подключения"), _db.lastError().text()); return; } settings.setValue ("db/host", _db.hostName ()); settings.setValue ("db/port", _db.port ()); settings.setValue ("db/database", _db.databaseName ()); settings.setValue ("db/user", _db.userName ()); settings.setValue ("db/password", _db.password ()); emit dbOpenned(_db); close(); }