changeset 66:a60c26e34d1a

Avoid apprent hang in beginning, now application shows, but appears frosen. Need better fix.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sun, 23 Dec 2012 22:07:57 +0100
parents bc55cbd827bf
children 2f45385195ae
files DataController.cpp DataController.hpp
diffstat 2 files changed, 20 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/DataController.cpp	Sun Dec 23 22:04:55 2012 +0100
+++ b/DataController.cpp	Sun Dec 23 22:07:57 2012 +0100
@@ -108,7 +108,7 @@
     emit populateProgress(++n);
 
     QDateTime now = QDateTime::currentDateTime();
-    if (last.msecsTo(now) > 500) {
+    if (last.msecsTo(now) > 1000) {
       QCoreApplication::processEvents();
       last = now;
     }
@@ -395,6 +395,7 @@
   tw->setSelectionBehavior(QAbstractItemView::SelectRows);
   //tw->resizeColumnsToContents();
   mw->resize(800,800);
+  mw->setEnabled(false);
   mw->show();
 }
 
@@ -483,12 +484,25 @@
 
   showFullPath = false;
 
-  if (showGUI)
+  if (showGUI) {
     setupGUI();
+  
+    QTimer* populator = new QTimer(this);
+    populator->setSingleShot(true);
+    populator->setInterval(50);
+    connect(populator, SIGNAL(timeout()), this, SLOT(initialPopulate()));
+    populator->start();
+  }
+  else {
+    buildDB(dir);
+  }
+}
+
+void DataController::initialPopulate()
+{
   buildDB(dir);
-  if (showGUI)
-    populate();
-
+  populate();
+  mw->setEnabled(true);
 }
 
 DataController::~DataController()
--- a/DataController.hpp	Sun Dec 23 22:04:55 2012 +0100
+++ b/DataController.hpp	Sun Dec 23 22:07:57 2012 +0100
@@ -44,6 +44,7 @@
   void populateProgress(int);
 
 private slots:
+  void initialPopulate();
   void progressUpdate(int);
   void deleteFile();
   void itemDoubleClicked (QTreeWidgetItem * item, int column);