X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=trunk%2Fsrc%2Fbase%2Fbackbone%2FBookmarks.cpp;h=c39f8683036f2a03407d643eec1417bc09222ef9;hb=849177861d4fd39904e1121e55f5896a70b1d6f6;hp=527a8a5961630c5e0ca8f3045865143787898d70;hpb=ffea07133478472530536fa7a8433a1a42dde871;p=mdictionary diff --git a/trunk/src/base/backbone/Bookmarks.cpp b/trunk/src/base/backbone/Bookmarks.cpp index 527a8a5..c39f868 100644 --- a/trunk/src/base/backbone/Bookmarks.cpp +++ b/trunk/src/base/backbone/Bookmarks.cpp @@ -7,10 +7,21 @@ Bookmarks::Bookmarks() { + "bookmarks.db"; checkAndCreateDb(); initAccents(); + + mdb = QSqlDatabase::addDatabase("QSQLITE", + QString("%2").arg((int)QThread::currentThreadId())); + mdb.setDatabaseName(dbName); +} + + +Bookmarks::~Bookmarks() { + mdb.close(); } QSqlDatabase Bookmarks::getDbCnx(QString dbName) { + QSqlDatabase::removeDatabase( + QString("%2").arg((int)QThread::currentThreadId())); QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", QString("%2").arg((int)QThread::currentThreadId())); db.setDatabaseName(dbName); @@ -90,7 +101,8 @@ QList Bookmarks::list() { QSqlQuery cur(db); cur.exec("select distinct key from bookmarks"); while(cur.next()) - res.append(new BookmarkTranslation(cur.value(0).toString(), this, dbName)); + res.append(new BookmarkTranslation(cur.value(0).toString(), + this, dbName)); db.close(); return res; } @@ -103,7 +115,6 @@ QList Bookmarks::searchWordList(QString word) { word+="%"; word = word.replace("*", "%"); word = word.replace("?", "_"); - qDebug() << word; QList tr; QSqlDatabase db = getDbCnx(dbName); @@ -128,7 +139,7 @@ QList Bookmarks::searchWordList(QString word) { QStringList Bookmarks::search(QString word, QString dbName) { - checkAndCreateDb(); + //checkAndCreateDb(); QStringList result; QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { @@ -150,18 +161,15 @@ 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; + if(!mdb.isOpen() && !mdb.open()) { + qDebug() << "Database error: " << mdb.lastError().text() << endl; return false; } - QSqlQuery cur(db); + QSqlQuery cur(mdb); cur.prepare("select translation from bookmarks where key like ? limit 1"); cur.addBindValue(word); cur.exec(); if(cur.next()) return true; - db.close(); return false; }