diff options
Diffstat (limited to 'shemovcleaner.cpp')
-rw-r--r-- | shemovcleaner.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/shemovcleaner.cpp b/shemovcleaner.cpp index ac60fb8..70b44ad 100644 --- a/shemovcleaner.cpp +++ b/shemovcleaner.cpp @@ -144,18 +144,20 @@ void ShemovCleaner::openDatabase(){ QString dbuser = s.value("dbuser").toString(); QString dbpass = s.value("dbpass").toString(); QString dbname = s.value("dbname").toString(); - QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "shemovdb"); - db.setHostName(dbhost); - db.setUserName(dbuser); - db.setPassword(dbpass); - db.setDatabaseName(dbname); - if(!db.open()){ - int res = ConfigurationWidget(this).exec(); - if(res == QDialog::Accepted){ - openDatabase(); - }else{ - QMessageBox::critical(this, tr("Error"), tr("Could not open database. Giving up!")); - qApp->closeAllWindows(); + if(!QSqlDatabase::contains("shemovdb")){ + QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "shemovdb"); + db.setHostName(dbhost); + db.setUserName(dbuser); + db.setPassword(dbpass); + db.setDatabaseName(dbname); + if(!db.open()){ + int res = ConfigurationWidget(this).exec(); + if(res == QDialog::Accepted){ + openDatabase(); + }else{ + QMessageBox::critical(this, tr("Error"), tr("Could not open database. Giving up!")); + qApp->closeAllWindows(); + } } } } |