#include #include #include #include #include #include "beetplayer.h" #include "configurationdialog.h" #include "indexerwidget.h" BeetPlayer::BeetPlayer(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent, f) { //general setup qApp->setWindowIcon(QIcon(":/beetplayer_icon.png")); setMinimumWidth(1024); setMinimumHeight(768); openDatabase(); //tabs mTab = new QTabWidget; IndexerWidget *indexer = new IndexerWidget; mTab->addTab(indexer, tr("Indexer")); //layout QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addWidget(mTab); setCentralWidget(mTab); } 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(); } } } }