Merge branch 'stardict' of ssh://drop.maemo.org/git/mdictionary into stardict
[mdictionary] / src / plugins / stardict / StarDialog.cpp
index 46a349f..6f18d02 100644 (file)
@@ -80,14 +80,17 @@ void StarDialog::initializeUI() {
         setWindowTitle(tr("StarDict Settings"));
 
         infoLabel->setText(tr("Plugin: ") + plugin->type().toUpper() +"\n" +
-                           tr("Book name: ") + plugin->settings()->value("bookname") + "\n" +
-                           tr("Version: ") + plugin->settings()->value("version") + "\n" +
-                           tr("Word count: ") + plugin->settings()->value("wordcount") + "\n" +
-                           tr("Author: ") + plugin->settings()->value("author") + "\n" +
-                           tr("E-mail: ") + plugin->settings()->value("email") + "\n" +
-                           tr("Website: ") + plugin->settings()->value("website") + "\n" +
-                           tr("Description: ") + plugin->settings()->value("description") + "\n" +
-                           tr("Date: ") + plugin->settings()->value("date"));
+                tr("Book name: ") + plugin->settings()->value("bookname") 
+                        + "\n" +
+                tr("Version: ") + plugin->settings()->value("version") + "\n" +
+                tr("Word count: ") + plugin->settings()->value("wordcount") 
+                        + "\n" +
+                tr("Author: ") + plugin->settings()->value("author") + "\n" +
+                tr("E-mail: ") + plugin->settings()->value("email") + "\n" +
+                tr("Website: ") + plugin->settings()->value("website") + "\n" +
+                tr("Description: ") + plugin->settings()->value("description") 
+                        + "\n" +
+               tr("Date: ") + plugin->settings()->value("date"));
         mainVerticalLayout->addWidget(infoLabel);
     }
 
@@ -205,10 +208,13 @@ void StarDialog::saveSettings() {
         _settings->setValue("path", _dictionaryFilePath);
         _settings->setValue("ifoFileName", _dictName + ".ifo");
         _settings->setValue("idxFileName", _dictName + ".idx");
-        if(QFile(_dictName + ".dict").exists())
-            _settings->setValue("dictFileName", _dictName + ".dict");
-        else
-            _settings->setValue("dictFileName", _dictName + ".dict.dz");
+        if (QFile::exists(_dictName + ".dict.dz") == true) {
+                _settings->setValue("dictFileName", _dictName + ".dict.dz");
+        }
+        else {
+                _settings->setValue("dictFileName", _dictName + ".dict");
+        }
+
         if (QFile::exists(_dictName + ".syn") == true) {
                 _settings->setValue("synFileName", _dictName + ".syn");
         }
@@ -236,19 +242,27 @@ void StarDialog::accept() {
 }
 
 bool StarDialog::checkFiles() {
-        if (!_isCompressed){
-               _dictName = _dictionaryFilePath.left(_dictionaryFilePath.lastIndexOf("."));
-               if (QFile::exists(_dictName + ".idx") == false && QFile::exists(_dictName + ".idx.gz") == false) {
-                       return false;
-               }
-               if (QFile::exists(_dictName + ".dict") == false && QFile::exists(_dictName + ".dict.dz") == false) {
-                       return false;
-               }
-               return true;
+        if (!_isCompressed) {
+
+            if (_dictionaryFilePath.right(2) == "dz") {
+                _dictName = _dictionaryFilePath.left(_dictionaryFilePath.lastIndexOf("."));
+                _dictName = _dictName.left(_dictName.lastIndexOf("."));
+            }
+            else {
+                _dictName = _dictionaryFilePath.left(_dictionaryFilePath.lastIndexOf("."));
+            }
+
+            if (QFile::exists(_dictName + ".idx") == false && QFile::exists(_dictName + ".idx.gz") == false) {
+                return false;
+            }
+            if (QFile::exists(_dictName + ".dict") == false && QFile::exists(_dictName + ".dict.dz") == false) {
+                return false;
+            }
+            return true;
         }
         else {
-                //TODO: untar files (?)
-                return false;
+            //TODO: untar files (?)
+            return false;
         }
 }