summaryrefslogtreecommitdiffstats
path: root/beetplayer.cpp
blob: 52c80e4bc8fa76ea5655e8f8794f3788ad7abc8e (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
#include <QSettings>
#include <QSqlDatabase>
#include <QMessageBox>
#include <QApplication>

#include "beetplayer.h"
#include "configurationdialog.h"

BeetPlayer::BeetPlayer(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent, f) {
    //general setup
    setMinimumWidth(800);
    setMinimumHeight(600);
    openDatabase();
}

void BeetPlayer::openDatabase(){
    QSettings s;
    QString dbhost = s.value("dbhost").toString();
    QString dbuser = s.value("dbuser").toString();
    QString dbpass = s.value("dbpass").toString();
    QString dbname = s.value("dbname").toString();
    if(!QSqlDatabase::contains("beetplayerdb")){
        QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "beetplayerdb");
        db.setHostName(dbhost);
        db.setUserName(dbuser);
        db.setPassword(dbpass);
        db.setDatabaseName(dbname);
        if(!db.open()){
            int res = ConfigurationDialog(this).exec();
            if(res == QDialog::Accepted){
                openDatabase();
            }else{
                QMessageBox::critical(this, tr("Error"), tr("Could not open database. Giving up!"));
                qApp->closeAllWindows();
            }
        }
    }
}