From 5e4bf4318e84a2dd9293df4430c5665ded0f1f15 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mateusz=20P=C3=B3=C5=82rola?= Date: Fri, 13 Aug 2010 14:08:48 +0200 Subject: [PATCH] Fixed bug in load plugin dialog --- trunk/src/plugins/xdxf/src/XdxfLoadDialog.cpp | 4 ++-- trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp | 4 ++-- trunk/src/plugins/xdxf/src/xdxfplugin.cpp | 19 ++++++++++++++----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/trunk/src/plugins/xdxf/src/XdxfLoadDialog.cpp b/trunk/src/plugins/xdxf/src/XdxfLoadDialog.cpp index 4100a45..310d63b 100644 --- a/trunk/src/plugins/xdxf/src/XdxfLoadDialog.cpp +++ b/trunk/src/plugins/xdxf/src/XdxfLoadDialog.cpp @@ -100,10 +100,10 @@ Settings* XdxfLoadDialog::getSettings(QWidget *parent) { if(loadDialog.exec()==QDialog::Accepted) { settings->setValue("path", loadDialog.dicitonaryFilePath()); if(loadDialog.generateCache()) { - settings->setValue("cached", "true"); + settings->setValue("generateCache", "true"); } else { - settings->setValue("cached", "false"); + settings->setValue("generateCache", "false"); } return settings; diff --git a/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp b/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp index 1d88298..8d11d6f 100644 --- a/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp +++ b/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp @@ -123,10 +123,10 @@ Settings* XdxfSettingsDialog::getSettings(XdxfPlugin *plugin, settings->setValue("path", settingsDialog.dicitonaryFilePath()); if(settingsDialog.generateCache()) { - settings->setValue("cached", "true"); + settings->setValue("generateCache", "true"); } else { - settings->setValue("cached", "false"); + settings->setValue("generateCache", "false"); } plugin->setSettings(settings); return NULL; diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp index e2a8b2b..d3af1ea 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp @@ -35,6 +35,9 @@ XdxfPlugin::XdxfPlugin(QObject *parent) : CommonDictInterface(parent), _dictDialog = new XdxfDictDialog(this, this); cachingDialog = new XdxfCachingDialog(this); + connect(cachingDialog, SIGNAL(cancelCaching()), + this, SLOT(stop())); + _settings->setValue("type","xdxf"); stopped = false; @@ -248,10 +251,18 @@ CommonDictInterface* XdxfPlugin::getNew(const Settings *settings) const { foreach(QString key, list) plugin->settings()->setValue(key, settings->value(key)); + plugin->db_name = plugin->_settings->value("type") + plugin->_settings->value("path"); plugin->db = QSqlDatabase::addDatabase("QSQLITE", plugin->db_name); + + if(settings->value("cached").isEmpty() && + settings->value("generateCache") == "true") { + plugin->makeCache(""); + } } + + plugin->getDictionaryInfo(); return plugin; } @@ -285,13 +296,11 @@ void XdxfPlugin::setSettings(Settings *settings) { setPath(settings->value("path")); } - if(_settings->value("cached") == "false" && - settings->value("cached") == "true") { + if((_settings->value("cached") == "false" || + _settings->value("cached").isEmpty()) && + settings->value("generateCache") == "true") { makeCache(""); } - else { - _settings->setValue("cached", settings->value("cached")); - } emit settingsChanged(); } -- 1.7.9.5