From 11f81f616547786f7102525c0f6769667a5b0f6f Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 10 Mar 2011 00:55:45 +0100 Subject: untested --- src/DownloadManager.cpp | 2 ++ src/DownloadManager.h | 1 + src/fbgui.cpp | 1 + src/javascriptInterface.cpp | 7 +++++-- src/javascriptInterface.h | 3 ++- 5 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/DownloadManager.cpp b/src/DownloadManager.cpp index ec723a9..61be8d0 100644 --- a/src/DownloadManager.cpp +++ b/src/DownloadManager.cpp @@ -58,6 +58,7 @@ void DownloadManager::startNextDownload() { if (dlQ.isEmpty()) { + emit downloadQueueEmpty(); if (debug) qDebug() << "Download manager ready."; return; } @@ -143,6 +144,7 @@ void DownloadManager::downloadFinished() dip = false; // If queue is empty, we are done. if (dlQ.isEmpty()){ + emit downloadQueueEmpty(); if (debug) qDebug() << "Download manager ready."; return; } diff --git a/src/DownloadManager.h b/src/DownloadManager.h index 53c2014..7b5a3c1 100644 --- a/src/DownloadManager.h +++ b/src/DownloadManager.h @@ -37,6 +37,7 @@ private: signals: void finished(); void updateProgress(QString current, int i); + void downloadQueueEmpty(); public slots: void downloadFile(QUrl& fileUrl); diff --git a/src/fbgui.cpp b/src/fbgui.cpp index af1a4e7..08d7e9e 100644 --- a/src/fbgui.cpp +++ b/src/fbgui.cpp @@ -32,6 +32,7 @@ fbgui::fbgui() DownloadManager* dm = new DownloadManager(); QObject::connect(jsi, SIGNAL(requestFile(QString&)), dm, SLOT(downloadFile(QString&))); QObject::connect(dm, SIGNAL(updateProgress(QString, int)), jsi, SLOT(updateProgressBar(QString, int))); + QObject::connect(dm, SIGNAL(downloadQueueEmpty()), jsi, SLOT(setCallbackOnDlQueueFinished())); setWindowFlags(Qt::Window); showFullScreen(); setCentralWidget(webView); diff --git a/src/javascriptInterface.cpp b/src/javascriptInterface.cpp index 2c4792b..a4f492f 100644 --- a/src/javascriptInterface.cpp +++ b/src/javascriptInterface.cpp @@ -54,8 +54,11 @@ void javascriptInterface::updateProgressBar(QString current, int i) _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- - -void javascriptInterface::quitGUI() +void javascriptInterface::setCallbackOnDlQueueFinished() +{ + _parent->evaluateJavaScript("jsFunction();"); +} +void javascriptInterface::quit() { if (debug) qDebug() << "Quit signal."; emit quitFbgui(); diff --git a/src/javascriptInterface.h b/src/javascriptInterface.h index 0004982..2496ef7 100644 --- a/src/javascriptInterface.h +++ b/src/javascriptInterface.h @@ -32,7 +32,8 @@ public slots: QString getSysInfo(QString info); void startDownload(QString filename); void updateProgressBar(QString current, int i); - void quitGUI(); + void setCallbackOnDlQueueFinished(); + void quit(); }; #endif /* JAVASCRIPTINTERFACE_H_ */ -- cgit v1.2.3-55-g7522