QString removeAccents(QString string) {
string = string.toLower();
QString normalized = string.normalized(QString::NormalizationForm_KD);
- foreach(QChar let, letters.keys())
+ foreach(QChar let, letters.keys()) {
normalized.replace(letters[let], QString(let));
-
+ }
normalized.replace(noLetter, "");
- //qDebug() << "NORMALIZED: " << normalized;
return normalized;
}
+
void initAccents() {
letters['a'] = QRegExp(QString::fromUtf8("[ÀàÁáÂÂâÃãÄäÅåæÆĀāĂ㥹ǠȀǡȁǢȂǣȃȦȧǺȺǻǼǍǽǎǞǟⱥ]"), Qt::CaseInsensitive);
letters['b'] = QRegExp(QString::fromUtf8("[ƀƁƂƃɃƄƅ]"), Qt::CaseInsensitive);
connect(cachingDialog, SIGNAL(cancelCaching()),
this, SLOT(stop()));
connect(this, SIGNAL(updateCachingProgress(int,int)),
- cachingDialog, SLOT(updateCachingProgress(int,int)));
+ cachingDialog, SLOT(updateCachingProgress(int,int)));
+ initAccents();
}
if((_settings->value("cached") == "false" ||
_settings->value("cached").isEmpty()) &&
settings->value("generateCache") == "true") {
+ clean();
makeCache("");
}
}
-
QIcon* XdxfPlugin::icon() {
return &_icon;
}
void XdxfPlugin::clean() {
- if(_settings->value("cached") == "true")
+ if(QFile::exists(_settings->value("cache_path")))
QFile(_settings->value("cache_path")).remove();
}
+
Q_EXPORT_PLUGIN2(xdxf, XdxfPlugin)
void XdxfTest::getNew() {
- XdxfPlugin xdxfPlugin(this);
+ XdxfPlugin xdxfPluginB(this);
Settings *settings=new Settings;
settings->setValue("path","../tests/dict.xdxf");
- CommonDictInterface *xdxfPlugin2 = xdxfPlugin.getNew(settings);
+ CommonDictInterface *xdxfPlugin = xdxfPluginB.getNew(settings);
- QList<Translation*> te6=xdxfPlugin2->searchWordList("*",8);
+ QList<Translation*> te6=xdxfPlugin->searchWordList("*",8);
QCOMPARE(te6.size(),8);
+
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}
void XdxfTest::searchFile() {
QCOMPARE(xdxfPlugin->search("."), QString("<key>.</key><t>kropka</t>"));
QCOMPARE(xdxfPlugin->search("1"), QString("<key>1</key><t>one</t>"));
QCOMPARE(xdxfPlugin->search("test"), QString("<key>test</key><t><c c=\"FF00FF\">kro</c>test01<pos>krowa</pos></t>"));
+
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}
void XdxfTest::makeCache()
settings->setValue("generateCache", "true");
CommonDictInterface *xdxfPlugin = xdxfPluginB.getNew(settings);
QCOMPARE(xdxfPlugin->settings()->value("cached"),tr("true"));
+
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
QCOMPARE(xdxfPlugin->search("1"), QString("<key>1</key><t>one</t>"));
QCOMPARE(xdxfPlugin->search("test"), QString("<key>test</key><t><c c=\"FF00FF\">kro</c>test01<pos>krowa</pos></t>"));
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
QList<Translation*> te11 = xdxfPlugin->searchWordList("h**?*?**e");
QCOMPARE(te11.at(0)->key(), QString("house"));
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
QList<Translation*> te11 = xdxfPlugin->searchWordList("h**?*?**e");
QCOMPARE(te11.at(0)->key(), QString("house"));
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
QList<Translation*> te5 = future.result();
QCOMPARE(te5.size(), 9);
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
QCOMPARE(xdxfPlugin->langFrom(), QString("ENG"));
+ xdxfPlugin->clean();
delete xdxfPlugin;
}
out<< "</time>";
File.close();
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}
void XdxfTest::timeFile() {
out<< "</time>";
File.close();
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}
void XdxfTest::timeCacheNormalize() {
out<< "</time>";
File.close();
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}
-void XdxfTest::removeAccents()
-{
+void XdxfTest::removeAccents() {
+
XdxfPluginSub xdxf;
xdxf.settings()->setValue(QString("strip_accents"), QString("true"));
QCOMPARE(xdxf.getRemoveAccents(QString::fromUtf8("nóżka")), QString("nozka"));
out<< "</time>\n";
File.close();
+ xdxfPlugin->clean();
+ delete xdxfPlugin;
}