diff options
Diffstat (limited to 'beetplayer.cpp')
-rw-r--r-- | beetplayer.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/beetplayer.cpp b/beetplayer.cpp new file mode 100644 index 0000000..52c80e4 --- /dev/null +++ b/beetplayer.cpp @@ -0,0 +1,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(); + } + } + } +} |