Copyright 2010 Comarch S.A.
*******************************************************************************/
+/*!
+ \file StarDictPlugin.cpp
+ \brief Implementation of stardict plugin's main class.
-/*! \file stardictplugin.cpp
+ \author Jakub Jaszczynski
*/
#include "StarDictPlugin.h"
_icon = QIcon("/usr/share/mdictionary/stardict.png");
stopped = false;
+ _settings->setValue("strip_accents","true");
+
initAccents();
+
}
QTranslator *translator = new QTranslator(this);
if(!translator->load(":/stardict/translations/" + locale)) {
- translator->load(":/stardicts/translations/en_US");
+ translator->load(":/stardict/translations/en_US");
}
QCoreApplication::installTranslator(translator);
}
QString idxPath = settings()->value("idxFileName");
StarDictReader * reader = StarDictReaderFactory::createReader(idxPath);
QString fkey;
- qint64 offset = 0, len = 0;
- QRegExp keyword(word, Qt::CaseInsensitive, QRegExp::Wildcard);
+ qint64 offset = 0,
+ len = 0;
if( word.indexOf("*")==-1 && word.indexOf("?")==-1 &&
word.indexOf("_")==-1 && word.indexOf("%")==-1)
word+="*";
+ QRegExp keyword(word, Qt::CaseInsensitive, QRegExp::Wildcard);
if((settings()->value("idxoffsetbits") == "32") ||
(settings()->value("idxoffsetbits") == ""))
offset = reader->readInt64BigEndian();
len = reader->readInt32BigEndian();
- if(keyword.exactMatch(fkey)) {
+ if(keyword.exactMatch(fkey) ) {
TranslationStarDict tran(fkey, infoNote(), this);
- qDebug() << "off/len" << offset << len;
+ // qDebug() << "off/len" << offset << len;
int id = translations.indexOf(tran);
if(id == -1) {
tran.add(offset, len);
QString StarDictPlugin::interpret(QByteArray::iterator it,
- QByteArray::iterator end, QChar mode,QString key, bool last) {
+ QByteArray::iterator end, QChar mode,QString key, bool) {
QString result;
- qDebug()<<"****** mode: "<<mode;
-
- if(mode == 'm' ||
- mode == 'l' ||
- mode == 'g' ||
- mode == 't' ||
- mode == 'y' ||
- mode == 'k' ||
- mode == 'w' ||
- mode == 'h' ||
- mode == 'r' ){
+// qDebug()<<"****** mode: "<<mode;
+ if(mode == 'm'
+ || mode == 'l'
+ || mode == 'g'
+ || mode == 't'
+ || mode == 'y'
+ || mode == 'k'
+ || mode == 'w'
+ || mode == 'h'
+ || mode == 'r'){
result += "<key>" + key + "</key>";
result += "<t>" + QString::fromUtf8(read(it++, end)) + "</t>";
}
result+="</t>";
}
-// Dont know whether mDictionary would ever handle binary stardict format
+// W & P Dont know whether mDictionary would ever handle binary stardict format
// to be honest dont see any kind of adventages (can't find any binary dict)
/*
}
} else
result += read(it++, end);
} */
-
- qDebug()<<"wynik "<<result;
return result;
}
return &_icon;
}
-
-int StarDictPlugin::countWords() {
- return 0;
-}
-
-
-void StarDictPlugin::clean() {
-
-}
-
-
Q_EXPORT_PLUGIN2(stardict, StarDictPlugin)