From e0a4cc09f25b4994429a1f26d337353eee181315 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mateusz=20P=C3=B3=C5=82rola?= Date: Mon, 16 Aug 2010 08:40:42 +0200 Subject: [PATCH] Fixed caching from settings widget --- trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp | 2 ++ trunk/src/plugins/xdxf/src/xdxfplugin.cpp | 12 ++++++++++-- trunk/src/plugins/xdxf/src/xdxfplugin.h | 5 +++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp b/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp index 8d11d6f..d46960f 100644 --- a/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp +++ b/trunk/src/plugins/xdxf/src/XdxfSettingsDialog.cpp @@ -22,6 +22,7 @@ //Created by Mateusz Półrola #include "XdxfSettingsDialog.h" +#include XdxfSettingsDialog::XdxfSettingsDialog(XdxfPlugin *plugin, QWidget *parent) : QDialog(parent) @@ -122,6 +123,7 @@ Settings* XdxfSettingsDialog::getSettings(XdxfPlugin *plugin, settings->setValue(key, plugin->settings()->value(key)); settings->setValue("path", settingsDialog.dicitonaryFilePath()); + qDebug()<setValue("generateCache", "true"); } diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp index d3af1ea..d59c673 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp @@ -301,6 +301,9 @@ void XdxfPlugin::setSettings(Settings *settings) { settings->value("generateCache") == "true") { makeCache(""); } + else { + _settings->setValue("cached", "false"); + } emit settingsChanged(); } @@ -419,6 +422,8 @@ bool XdxfPlugin::makeCache(QString dir) { timer.start(); countWords(); + int lastProg = -1; + counter=0; while (!reader.atEnd() && !stopped) { @@ -451,8 +456,11 @@ bool XdxfPlugin::makeCache(QString dir) { cur.exec(); counter++; int prog = counter*100/_wordsCount; - if(prog % 5 == 0) - Q_EMIT updateCachingProgress(prog); + if(prog % 5 == 0 && lastProg != prog) { + Q_EMIT updateCachingProgress(prog, + timer.restart()); + lastProg = prog; + } } } diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.h b/trunk/src/plugins/xdxf/src/xdxfplugin.h index c1b7580..38cd88a 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.h +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.h @@ -104,8 +104,9 @@ public Q_SLOTS: void stop(); Q_SIGNALS: - //! emited with percent count of caching progress - void updateCachingProgress(int); + //! emited with percent count of caching progress, and time elapsed from + //! last signal emit + void updateCachingProgress(int, int); protected: -- 1.7.9.5