Added caching dialog with casching progress
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Fri, 13 Aug 2010 08:21:26 +0000 (10:21 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Fri, 13 Aug 2010 08:21:26 +0000 (10:21 +0200)
debian/files
trunk/src/plugins/xdxf/src/src.pro
trunk/src/plugins/xdxf/src/xdxfplugin.cpp
trunk/src/plugins/xdxf/src/xdxfplugin.h

index 57026b2..3ff624b 100644 (file)
@@ -1 +1 @@
-mdictionary_1.0.0-2_i386.deb user/education optional
+mdictionary_1.0.0-2_armel.deb user/education optional
index a27b7c4..d92b5b0 100644 (file)
@@ -32,7 +32,8 @@ SOURCES +=  \
     TranslationXdxf.cpp \
     XdxfLoadDialog.cpp \
     XdxfDictDialog.cpp \
-    XdxfSettingsDialog.cpp
+    XdxfSettingsDialog.cpp \
+    XdxfCachingDialog.cpp
 
 
 HEADERS += \
@@ -44,7 +45,8 @@ HEADERS += \
     ../../../includes/translation.h \
     ../../../includes/settings.h \
     ../../../includes/CommonDictInterface.h \
-    XdxfSettingsDialog.h
+    XdxfSettingsDialog.h \
+    XdxfCachingDialog.h
 
 
     
index 2cc11cb..84a9879 100644 (file)
@@ -33,6 +33,8 @@ XdxfPlugin::XdxfPlugin(QObject *parent) : CommonDictInterface(parent),
     _wordsCount = -1;
     _settings = new Settings();
     _dictDialog = new XdxfDictDialog(this, this);
+    cachingDialog = new XdxfCachingDialog(this);
+
     _settings->setValue("type","xdxf");
     if(isCached())
         _settings->setValue("cached","true");
@@ -304,6 +306,7 @@ int XdxfPlugin::countWords() {
 
 
 bool XdxfPlugin::makeCache(QString dir) {
+    cachingDialog->setVisible(true);
     QFileInfo dictFileN(_settings->value("path"));
     QString cachePathN;
     cachePathN = dictFileN.dir().absolutePath() + "/"
@@ -344,6 +347,8 @@ bool XdxfPlugin::makeCache(QString dir) {
     counter=0;
     while (!reader.atEnd()) {
 
+        QCoreApplication::processEvents();
+        //usleep(50);
         reader.readNext();
 
         if(reader.tokenType() == QXmlStreamReader::StartElement) {
@@ -371,12 +376,14 @@ bool XdxfPlugin::makeCache(QString dir) {
                 counter++;
                 int prog = counter*100/_wordsCount;
                 if(prog % 5 == 0)
-                    Q_EMIT update(prog);
+                    Q_EMIT updateCachingProgress(prog);
             }
 
         }
     }
 
+    cachingDialog->setVisible(false);
+
     qDebug()<<counter;
     cur.exec("END;");
     cur.exec("select count(*) from dict");
index a309b14..ce786e2 100644 (file)
@@ -30,6 +30,7 @@
 #include <QSqlQuery>
 #include <QSqlDatabase>
 #include "XdxfDictDialog.h"
+#include "XdxfCachingDialog.h"
 
 class TranslationXdxf;
 
@@ -103,7 +104,7 @@ public Q_SLOTS:
 
 Q_SIGNALS:
     //! emited with percent count of caching progress
-    void update(float);
+    void updateCachingProgress(int);
 
 
 protected:
@@ -149,6 +150,7 @@ private:
     volatile bool stopped;
     Settings *_settings;
     XdxfDictDialog* _dictDialog;
+    XdxfCachingDialog* cachingDialog;
 };
 
 #endif // XDXFPLUGIN_H