diff options
author | Arno <arno@disconnect.de> | 2016-08-20 18:29:52 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-08-20 18:29:52 +0200 |
commit | 32afa2c28aabe862bfca44dba24083ffd7db6721 (patch) | |
tree | 131e14e7bfb579a09275c1aa7d12d0113c343ab7 /configurationwidget.cpp | |
parent | 96c798d4e9ca91cade25aa6d38176714979685bc (diff) | |
download | ShemovCleaner-32afa2c28aabe862bfca44dba24083ffd7db6721.tar.gz ShemovCleaner-32afa2c28aabe862bfca44dba24083ffd7db6721.tar.bz2 ShemovCleaner-32afa2c28aabe862bfca44dba24083ffd7db6721.zip |
Added configration dialog
Database connection options are now configurable. Hopefully it doesn't
end up in an infinite loop if the credentials are not corrent...
Diffstat (limited to 'configurationwidget.cpp')
-rw-r--r-- | configurationwidget.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/configurationwidget.cpp b/configurationwidget.cpp new file mode 100644 index 0000000..09a823b --- /dev/null +++ b/configurationwidget.cpp @@ -0,0 +1,67 @@ +#include <QTabWidget> +#include <QGridLayout> +#include <QLabel> +#include <QSettings> +#include <QPushButton> +#include <QHBoxLayout> +#include <QVBoxLayout> +#include <QLineEdit> + +#include "configurationwidget.h" + +ConfigurationWidget::ConfigurationWidget(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) { + //database setup + QGridLayout *dbLayout = new QGridLayout; + mDbHost = new QLineEdit; + dbLayout->addWidget(new QLabel(tr("Hostname")), 0, 0); + dbLayout->addWidget(mDbHost, 0, 1); + mDbUser = new QLineEdit; + dbLayout->addWidget(new QLabel(tr("Username")), 1, 0); + dbLayout->addWidget(mDbUser, 1, 1); + mDbPass = new QLineEdit; + mDbPass->setEchoMode(QLineEdit::Password); + dbLayout->addWidget(new QLabel(tr("Password")), 2, 0); + dbLayout->addWidget(mDbPass, 2, 1); + mDbName = new QLineEdit; + dbLayout->addWidget(new QLabel(tr("DB Name")), 3, 0); + dbLayout->addWidget(mDbName, 3, 1); + QWidget *dbWidget = new QWidget; + dbWidget->setLayout(dbLayout); + + //buttons + mAccept = new QPushButton(tr("Save")); + connect(mAccept, SIGNAL(clicked()), this, SLOT(accept())); + mCancel = new QPushButton(tr("Cancel")); + connect(mCancel, SIGNAL(clicked()), this, SLOT(reject())); + QHBoxLayout *bLayout = new QHBoxLayout; + bLayout->addStretch(); + bLayout->addWidget(mAccept); + bLayout->addWidget(mCancel); + bLayout->addStretch(); + + //dialog layout + QVBoxLayout *mainLayout = new QVBoxLayout; + QTabWidget *tab = new QTabWidget; + tab->addTab(dbWidget, tr("Database")); + mainLayout->addWidget(tab); + mainLayout->addLayout(bLayout); + readSettings(); + setLayout(mainLayout); +} + +void ConfigurationWidget::accept(){ + QSettings s; + s.setValue("dbhost", mDbHost->text()); + s.setValue("dbuser", mDbUser->text()); + s.setValue("dbpass", mDbPass->text()); + s.setValue("dbname", mDbName->text()); + QDialog::accept(); +} + +void ConfigurationWidget::readSettings(){ + QSettings s; + mDbHost->setText(s.value("dbhost").toString()); + mDbUser->setText(s.value("dbuser").toString()); + mDbPass->setText(s.value("dbpass").toString()); + mDbName->setText(s.value("dbname").toString()); +} |