# HG changeset patch # User Tom Fredrik Blenning Klaussen # Date 1356296877 -3600 # Node ID a60c26e34d1a5e4033244907ff94a1b55297553a # Parent bc55cbd827bf7ac969feef75cfab0de1ec50abd9 Avoid apprent hang in beginning, now application shows, but appears frosen. Need better fix. diff -r bc55cbd827bf -r a60c26e34d1a DataController.cpp --- 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() diff -r bc55cbd827bf -r a60c26e34d1a DataController.hpp --- 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);