error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4");
}
-QT += sql
+QT += sql
TEMPLATE = subdirs
SUBDIRS = trunk
TRANSLATIONS += dict_pl.ts dict_en.ts
#include "../../includes/settings.h"
#include "../../includes/translation.h"
#include "Bookmarks.h"
+#include "QObject"
class BookmarkTranslation : public Translation
{
public:
- BookmarkTranslation(QString key, Bookmarks* bookmarks, QString dbName) {
+ BookmarkTranslation(QString key, Bookmarks* bookmarks, QString dbName){
_key = key;
_dictionaryInfo = dbName;
_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);
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;
}
word+="%";
word = word.replace("*", "%");
word = word.replace("?", "_");
- qDebug() << word;
QList<Translation*> tr;
QSqlDatabase db = getDbCnx(dbName);
QStringList Bookmarks::search(QString word, QString dbName) {
- checkAndCreateDb();
+ //checkAndCreateDb();
QStringList result;
QSqlDatabase db = getDbCnx(dbName);
if(!db.isOpen() && !db.open()) {
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;
}
class Bookmarks : public AccentsNormalizer {
public:
Bookmarks();
+ ~Bookmarks();
/*! Adds new word and translation to bookmarks
\param translation new translation to be saved and cached as a bookmark
QSqlDatabase getDbCnx(QString dbName);
QMap<QChar, QRegExp> letters;
QRegExp noLetter;
+ QSqlDatabase mdb;
};
xmlpatterns \
webkit \
dbus
+
maemo5:QT += maemo5
TARGET = mdictionary
TEMPLATE = app
- completerModel = new QStringListModel;
+ completerModel = new QStringListModel(this);
lineEditCompleter = new QCompleter(searchWordLineEdit);
//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
#include "WordListWidget.h"
-#include "WordListProxyStyle.h"
#include "../../includes/translation.h"
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//set our custom style to draw checkboxes as stars
- setStyle(new WordListProxyStyle);
+ proxyStyle = new WordListProxyStyle();
+ setStyle(proxyStyle);
//setting size of star in pixels, on maemo checboxes are much bigger
#ifdef Q_WS_MAEMO_5
#endif
}
+
+WordListWidget::~WordListWidget() {
+ if(proxyStyle)
+ delete proxyStyle;
+}
+
void WordListWidget::addWord(QString word, int row) {
QStandardItem* item = new QStandardItem(word);
#include <QtGui>
#include <QStringListModel>
#include "../backbone/backbone.h"
+#include "WordListProxyStyle.h"
//! Displays list of words found in dictionaries
/*!
Q_OBJECT
public:
explicit WordListWidget(QWidget *parent = 0);
+ ~WordListWidget();
Q_SIGNALS:
//! Association between words and their translations
QHash<QString, QList<Translation*> > searchResult;
+ WordListProxyStyle* proxyStyle;
};
#endif // WORDLISTWIDGET_H
}
TranslationXdxf::~TranslationXdxf() {
- // qDebug()<<"\n\n delete translation:: Xdxf\n\n";
}
QString TranslationXdxf::key() const {
TARGET = XdxfPlugin
TEMPLATE = lib
+
MDICT_PLUGINSDIR = $$[MDICT_PLUGINSDIR]
isEmpty(MDICT_PLUGINSDIR) {