Mercurial > dedupe
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);
