}
+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;
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 ;
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 ;
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 ;
QList<Translation*> Bookmarks::list() {
QList<Translation*> 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;
word = removeAccents(word);
QList<Translation*> tr;
- QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE",
- QString((int)QThread::currentThreadId()));
- db.setDatabaseName(dbName);
- qDebug()<<dbName;
+ QSqlDatabase db = getDbCnx(dbName);
if(!db.isOpen() && !db.open()) {
qDebug() << "Database error: " << db.lastError().text() << endl;
return tr;
QSet<QString> 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();
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;
}
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;