diff options
| -rw-r--r-- | src/DownloadManager.cpp | 4 | ||||
| -rw-r--r-- | src/fbgui.cpp | 2 | ||||
| -rw-r--r-- | src/javascriptInterface.cpp | 10 | ||||
| -rw-r--r-- | src/javascriptInterface.h | 4 |
4 files changed, 14 insertions, 6 deletions
diff --git a/src/DownloadManager.cpp b/src/DownloadManager.cpp index 61be8d0..5c2b123 100644 --- a/src/DownloadManager.cpp +++ b/src/DownloadManager.cpp @@ -59,7 +59,7 @@ void DownloadManager::startNextDownload() if (dlQ.isEmpty()) { emit downloadQueueEmpty(); - if (debug) qDebug() << "Download manager ready."; + if (debug) qDebug() << "Download manager ready. (1)"; return; } if (debug) qDebug() << "Starting next download: " << dlQ.head().toString() @@ -145,7 +145,7 @@ void DownloadManager::downloadFinished() // If queue is empty, we are done. if (dlQ.isEmpty()){ emit downloadQueueEmpty(); - if (debug) qDebug() << "Download manager ready."; + if (debug) qDebug() << "Download manager ready. (2)"; return; } // Queue not empty: initialise next download. diff --git a/src/fbgui.cpp b/src/fbgui.cpp index 08d7e9e..dc1891c 100644 --- a/src/fbgui.cpp +++ b/src/fbgui.cpp @@ -32,7 +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())); + QObject::connect(dm, SIGNAL(downloadQueueEmpty()), jsi, SLOT(callbackOnDlQueueFinished())); setWindowFlags(Qt::Window); showFullScreen(); setCentralWidget(webView); diff --git a/src/javascriptInterface.cpp b/src/javascriptInterface.cpp index a4f492f..90fed92 100644 --- a/src/javascriptInterface.cpp +++ b/src/javascriptInterface.cpp @@ -54,9 +54,15 @@ void javascriptInterface::updateProgressBar(QString current, int i) _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- -void javascriptInterface::setCallbackOnDlQueueFinished() +void javascriptInterface::setCallbackOnDlQueueFinished(QString jsFunction) { - _parent->evaluateJavaScript("jsFunction();"); + callBackOnDownloadsFinished = jsFunction; +} +void javascriptInterface::callbackOnDlQueueFinished() +{ + QString code = QString("\%1").arg(callBackOnDownloadsFinished); + qDebug() << "to JS: " << code; + _parent->evaluateJavaScript(code); } void javascriptInterface::quit() { diff --git a/src/javascriptInterface.h b/src/javascriptInterface.h index 2496ef7..d23a6e0 100644 --- a/src/javascriptInterface.h +++ b/src/javascriptInterface.h @@ -18,6 +18,7 @@ class javascriptInterface : public QObject{ Q_OBJECT private: QWebFrame* _parent; + QString callBackOnDownloadsFinished; public: javascriptInterface(QWebFrame* parent); @@ -32,7 +33,8 @@ public slots: QString getSysInfo(QString info); void startDownload(QString filename); void updateProgressBar(QString current, int i); - void setCallbackOnDlQueueFinished(); + void setCallbackOnDlQueueFinished(QString fctOnDownloadsFinished); + void callbackOnDlQueueFinished(); void quit(); }; |
