From 99554f932fcba6615a16a1a25e885be567b60ae0 Mon Sep 17 00:00:00 2001 From: Bartosz Szatkowski Date: Wed, 18 Aug 2010 10:38:56 +0200 Subject: [PATCH] Small refactoring within bookmarks --- trunk/src/base/backbone/Bookmarks.cpp | 45 ++++++++++----------------------- trunk/src/base/backbone/Bookmarks.h | 1 + 2 files changed, 15 insertions(+), 31 deletions(-) diff --git a/trunk/src/base/backbone/Bookmarks.cpp b/trunk/src/base/backbone/Bookmarks.cpp index c23aff7..2f20ea9 100644 --- a/trunk/src/base/backbone/Bookmarks.cpp +++ b/trunk/src/base/backbone/Bookmarks.cpp @@ -9,11 +9,15 @@ Bookmarks::Bookmarks() { } +QSqlDatabase Bookmarks::getDbCnx(QString dbName) { + QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", + QString("%2").arg((int)QThread::currentThreadId())); + db.setDatabaseName(dbName); + return db; +} bool Bookmarks::checkAndCreateDb() { - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return false; @@ -28,9 +32,7 @@ bool Bookmarks::checkAndCreateDb() { void Bookmarks::clear() { - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return ; @@ -44,9 +46,7 @@ void Bookmarks::clear() { void Bookmarks::add(Translation* translation) { - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return ; @@ -62,10 +62,7 @@ void Bookmarks::add(Translation* translation) { void Bookmarks::remove(Translation* translation) { - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return ; @@ -81,9 +78,7 @@ void Bookmarks::remove(Translation* translation) { QList Bookmarks::list() { QList res; - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return res; @@ -107,10 +102,7 @@ QList Bookmarks::searchWordList(QString word) { word = removeAccents(word); QList tr; - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); - qDebug()< Bookmarks::searchWordList(QString word) { QSet res; while(cur.next()) res.insert(cur.value(0).toString()); - qDebug() << "searchWordList " << res.size(); foreach(QString str, res.toList()) tr.append(new BookmarkTranslation(str, this, dbName)); db.close(); @@ -132,25 +123,19 @@ QList Bookmarks::searchWordList(QString word) { QStringList Bookmarks::search(QString word, QString dbName) { - qDebug() << "bookmarks::search " << word << " |" << dbName; QStringList result; - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return result; } - qDebug() << "bookmarks::search " << word; QSqlQuery cur(db); - qDebug() << "bookmarks::search " << word; cur.prepare("select translation from bookmarks where key=?"); cur.addBindValue(word); cur.exec(); while(cur.next()) result << cur.value(0).toString(); - qDebug() << result.size() << " " << result; db.close(); return result; } @@ -176,9 +161,7 @@ QString Bookmarks::removeAccents(QString string) { bool Bookmarks::inBookmarks(QString word) { - QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE", - QString((int)QThread::currentThreadId())); - db.setDatabaseName(dbName); + QSqlDatabase db = getDbCnx(dbName); if(!db.isOpen() && !db.open()) { qDebug() << "Database error: " << db.lastError().text() << endl; return false; diff --git a/trunk/src/base/backbone/Bookmarks.h b/trunk/src/base/backbone/Bookmarks.h index 07950fb..3726415 100644 --- a/trunk/src/base/backbone/Bookmarks.h +++ b/trunk/src/base/backbone/Bookmarks.h @@ -100,6 +100,7 @@ private: bool checkAndCreateDb(); QString removeAccents(QString); + QSqlDatabase getDbCnx(QString dbName); }; -- 1.7.9.5