/* * jsObject.cpp javascriptInterface * * Created on: Feb 1, 2011 * Author: niklas */ #include "fbgui.h" #include "javascriptInterface.h" #include "sysInfo.h" //------------------------------------------------------------------------------------------------------- javascriptInterface::javascriptInterface(QWebFrame *parent) { // check for better way to use evaluateJavaScript() _parent = parent; } //------------------------------------------------------------------------------------------------------- javascriptInterface::~javascriptInterface() {} //------------------------------------------------------------------------------------------------------- QString javascriptInterface::getSysInfo(QString info) { sysInfo si; if (debug) qDebug() << "Requested info: " << info << endl << "sysInfo output: " << si.getInfo(info); return si.getInfo(info); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::attachToDOM() { //_parent->addToJavaScriptWindowObject(QString("jsObject"), this); _parent->addToJavaScriptWindowObject(QString("fbgui"), this); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::startDownload(QString filename) { /* return if no filename in input field */ if (debug) qDebug() << "javascriptInterace: requesting download: " << filename; if (filename.isEmpty()) { _parent->evaluateJavaScript("alert(\"No filename!\")"); return; } if (debug) qDebug() << "Request download: " << baseURL.resolved(QUrl(filename)).toString(); emit requestFile(filename); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::updateProgressBar(QString current, int i) { if (i == 0) return; QString code = QString("updateProgress('\%1', \%2)").arg(current).arg(i); qDebug() << "To JS: " << code; _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- void javascriptInterface::setCallbackOnDlQueueFinished(QString jsFunction) { callBackOnDownloadsFinished = jsFunction; } void javascriptInterface::callbackOnDlQueueFinished() { QString code = QString("\%1").arg(callBackOnDownloadsFinished); qDebug() << "to JS: " << code; _parent->evaluateJavaScript(code); } void javascriptInterface::quit() { if (debug) qDebug() << "Quit signal."; emit quitFbgui(); }