summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
blob: 88e70a4f638d3ddd123a29b0f020f3becee4deff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <QGridLayout>
#include <QLineEdit>
#include <QLabel>
#include <QPushButton>
#include <QTabWidget>
#include <QSettings>

#include "configurationdialog.h"

ConfigurationDialog::ConfigurationDialog(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);
    dbLayout->setAlignment(Qt::AlignTop);
    QWidget *dbWidget = new QWidget;
    dbWidget->setLayout(dbLayout);

    //buttons
    QPushButton *acceptB = new QPushButton(tr("Save"));
    connect(acceptB, SIGNAL(clicked()), this, SLOT(accept()));
    QPushButton *cancelB = new QPushButton(tr("Cancel"));
    connect(cancelB, SIGNAL(clicked()), this, SLOT(reject()));
    QHBoxLayout *bLayout = new QHBoxLayout;
    bLayout->addStretch();
    bLayout->addWidget(acceptB);
    bLayout->addWidget(cancelB);
    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);
    setMinimumWidth(400);
}

void ConfigurationDialog::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 ConfigurationDialog::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());
}