Added searching for word list in stardict
authorBartosz Szatkowski <bulislaw@linux.com>
Wed, 6 Oct 2010 08:34:06 +0000 (10:34 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Wed, 6 Oct 2010 08:34:06 +0000 (10:34 +0200)
src/plugins/stardict/StarDialog.cpp
src/plugins/stardict/StarDictPlugin.cpp

index b6b4e78..9b4b001 100644 (file)
@@ -197,7 +197,7 @@ void StarDialog::saveSettings() {
         foreach(QString key, plugin->settings()->keys())
             _settings->setValue(key, plugin->settings()->value(key));
     }
-    else {
+    //else {
         _settings->setValue("path", _dictionaryFilePath);
         _settings->setValue("ifoFileName", _dictName + ".ifo");
         _settings->setValue("idxFileName", _dictName + ".idx");
@@ -205,7 +205,7 @@ void StarDialog::saveSettings() {
         if (QFile::exists(_dictName + ".syn") == true) {
                 _settings->setValue("synFileName", _dictName + ".syn");
         }
-    }
+    //}
     if(_accents)
         _settings->setValue("strip_accents", "true");
     else
index 452f9f5..50a7dd8 100644 (file)
@@ -89,6 +89,7 @@ QString StarDictPlugin::infoNote() const {
 
 
 QList<Translation*> StarDictPlugin::searchWordList(QString word, int limit) {
+    qDebug() << "StarDict searachWordList" << word;
     QList<TranslationStarDict> translations;
     bool is32b = false;
     if(settings()->value("idxoffsetbits") == "32" ||
@@ -97,12 +98,11 @@ QList<Translation*> StarDictPlugin::searchWordList(QString word, int limit) {
 
     bool err = 0;
     int wordcount = settings()->value("wordcount").toInt(&err);
-    if(err)
+    if(!err)
         return QList<Translation*>();
 
     QString idxPath = settings()->value("idxFileName");
     StarDictReader * reader = StarDictReaderFactory::createReader(idxPath);
-
     QString fkey;
     qint64 offset = 0, len = 0;
     QRegExp keyword(word, Qt::CaseInsensitive, QRegExp::Wildcard);
@@ -162,7 +162,8 @@ CommonDictInterface* StarDictPlugin::getNew(const Settings *settings) const {
     connect(plugin, SIGNAL(notify(Notify::NotifyType,QString)),
             this, SIGNAL(notify(Notify::NotifyType,QString)));
 
-    ((StarDictDialog*)plugin->dictDialog())->setLastDialogParent(_dictDialog->lastDialogParent());
+    ((StarDictDialog*)plugin->dictDialog())->
+            setLastDialogParent(_dictDialog->lastDialogParent());
 
 
 
@@ -170,6 +171,7 @@ CommonDictInterface* StarDictPlugin::getNew(const Settings *settings) const {
 
         disconnect(plugin, SIGNAL(notify(Notify::NotifyType,QString)),
                 this, SIGNAL(notify(Notify::NotifyType,QString)));
+        plugin->getDictionaryInfo();
         return plugin;
     }
     else {
@@ -196,8 +198,10 @@ bool StarDictPlugin::isCached() {
 }
 
 
-bool StarDictPlugin::setSettings(const Settings *settings) {
-    if(settings) {
+bool StarDictPlugin::setSettings(const Settings *sett) {
+    if(sett) {
+        foreach(QString key, sett->keys())
+            _settings->setValue(key, sett->value(key));
 
     } else
         return false;