summaryrefslogtreecommitdiffstats
path: root/configurationwidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-08-20 18:29:52 +0200
committerArno <arno@disconnect.de>2016-08-20 18:29:52 +0200
commit32afa2c28aabe862bfca44dba24083ffd7db6721 (patch)
tree131e14e7bfb579a09275c1aa7d12d0113c343ab7 /configurationwidget.cpp
parent96c798d4e9ca91cade25aa6d38176714979685bc (diff)
downloadShemovCleaner-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.cpp67
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());
+}