Fixed bookmarks database creation
authorBartosz Szatkowski <bulislaw@linux.com>
Wed, 1 Sep 2010 12:05:47 +0000 (14:05 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Wed, 1 Sep 2010 12:05:47 +0000 (14:05 +0200)
trunk/src/base/backbone/Bookmarks.cpp

index 6468dd0..527a8a5 100644 (file)
@@ -21,20 +21,17 @@ QSqlDatabase Bookmarks::getDbCnx(QString dbName) {
 
 bool Bookmarks::checkAndCreateDb() {
     QSqlDatabase db = getDbCnx(dbName);
-    if(!db.isOpen() && !db.open()) {
-        qDebug() << "Database error: " << db.lastError().text() << endl;
-        return false;
-    }
+    db.open();
     QSqlQuery cur(db);
     cur.exec("create table bookmarks(key text, normalized text, translation text)");
     db.close();
-
     return true;
 }
 
 
 
 void Bookmarks::clear() {
+    checkAndCreateDb();
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
         qDebug() << "Database error: " << db.lastError().text() << endl;
@@ -49,6 +46,7 @@ void Bookmarks::clear() {
 
 
 void Bookmarks::add(Translation* translation) {
+    checkAndCreateDb();
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
         qDebug() << "Database error: " << db.lastError().text() << endl;
@@ -66,6 +64,7 @@ void Bookmarks::add(Translation* translation) {
 
 
 void Bookmarks::remove(Translation* translation) {
+    checkAndCreateDb();
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
         qDebug() << "Database error: " << db.lastError().text() << endl;
@@ -81,6 +80,7 @@ void Bookmarks::remove(Translation* translation) {
 
 
 QList<Translation*> Bookmarks::list() {
+    checkAndCreateDb();
     QList<Translation*> res;
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
@@ -98,7 +98,7 @@ QList<Translation*> Bookmarks::list() {
 
 
 QList<Translation*> Bookmarks::searchWordList(QString word) {
-
+    checkAndCreateDb();
     if(word.indexOf("*")==-1 && word.indexOf("?")== -1)
         word+="%";
     word = word.replace("*", "%");
@@ -128,6 +128,7 @@ QList<Translation*> Bookmarks::searchWordList(QString word) {
 
 
 QStringList Bookmarks::search(QString word, QString dbName) {
+    checkAndCreateDb();
     QStringList result;
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
@@ -149,6 +150,7 @@ QStringList Bookmarks::search(QString word, QString dbName) {
 
 
 bool Bookmarks::inBookmarks(QString word) {
+    checkAndCreateDb();
     QSqlDatabase db = getDbCnx(dbName);
     if(!db.isOpen() && !db.open()) {
         qDebug() << "Database error: " << db.lastError().text() << endl;