#include "fbgui.h" #include "javascriptInterface.h" #include "sysInfo.h" //------------------------------------------------------------------------------------------------------- javascriptInterface::javascriptInterface(QWebFrame *parent) { qxtLog->debug() << "Initializing javascript interface..."; //TODO: check for better way to use evaluateJavaScript() _parent = parent; } //------------------------------------------------------------------------------------------------------- javascriptInterface::~javascriptInterface() {} //------------------------------------------------------------------------------------------------------- QString javascriptInterface::getSysInfo(QString info){ sysInfo si; return si.getInfo(info); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::attachToDOM(){ _parent->addToJavaScriptWindowObject(QString("fbgui"), this); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::startDownload(QString filename){ /* ignore if empty filename */ if (filename.isEmpty()){ _parent->evaluateJavaScript("alert(\"No filename!\")"); return; } emit requestFile(filename); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::downloadInfo(QString filename, double filesize){ QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::notify(QString msg){ QString code = QString("notify('\%1')").arg(msg); _parent->evaluateJavaScript(code); return; } //------------------------------------------------------------------------------------------------------- void javascriptInterface::updateProgressBar(int percent, double speed, 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(); }