From 31050528017e11c54f408b22c92265ff6c4c4b69 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 21 Mar 2011 11:48:32 +0100 Subject: and the files ^^ --- src/javascriptinterface.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/javascriptinterface.cpp (limited to 'src/javascriptinterface.cpp') diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp new file mode 100644 index 0000000..7f1b949 --- /dev/null +++ b/src/javascriptinterface.cpp @@ -0,0 +1,60 @@ +#include "fbgui.h" +#include "javascriptinterface.h" +#include "sysinfo.h" + + +//------------------------------------------------------------------------------------------------------- +JavascriptInterface::JavascriptInterface(QWebFrame *parent){ + qxtLog->debug() << "Initializing javascript interface..."; + _parent = parent; +} +//------------------------------------------------------------------------------------------------------- +JavascriptInterface::~JavascriptInterface() {} +//------------------------------------------------------------------------------------------------------- +const QString JavascriptInterface::getSysInfo(const QString& info){ + SysInfo si; + return si.getInfo(info); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::attachToDOM(){ + _parent->addToJavaScriptWindowObject(QString("fbgui"), this); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::startDownload(const QString& filename){ + // ignore if empty filename + if (filename.isEmpty()){ + _parent->evaluateJavaScript("alert(\"No filename!\")"); + return; + } + emit requestFile(filename); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::downloadInfo(const QString& filename, const double& filesize){ + QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize); + _parent->evaluateJavaScript(code); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::notify(const QString& msg){ + + QString code = QString("notify('\%1')").arg(msg); + _parent->evaluateJavaScript(code); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::updateProgressBar(const int& percent, const double& speed, const QString& unit){ + if (percent == 0) return; + QString code = QString("updateProgress(\%1, \%2, '\%3')").arg(percent).arg(speed).arg(unit); + _parent->evaluateJavaScript(code); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::setCallbackOnDlQueueFinished(QString& jsFunction){ + _callBackOnDownloadsFinished = jsFunction; +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::callbackOnDlQueueFinished(){ + QString code = QString("\%1").arg(_callBackOnDownloadsFinished); + _parent->evaluateJavaScript(code); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::quit(){ + emit quitFbgui(); +} -- cgit v1.2.3-55-g7522