From dd78cf7adfc03344147828ca51017e75c25e71f8 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Wed, 30 Mar 2011 14:08:04 +0200 Subject: jsi code strcture --- src/javascriptinterface.cpp | 112 ++++++++++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 52 deletions(-) (limited to 'src/javascriptinterface.cpp') diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp index d0fa5a9..49eef82 100644 --- a/src/javascriptinterface.cpp +++ b/src/javascriptinterface.cpp @@ -3,33 +3,55 @@ #include "sysinfo.h" +//------------------------------------------------------------------------------------------------------- +// Initialisation //------------------------------------------------------------------------------------------------------- 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); -} +JavascriptInterface::~JavascriptInterface() { /* destructor dummy */ } //------------------------------------------------------------------------------------------------------- void JavascriptInterface::attachToDOM(){ _parent->addToJavaScriptWindowObject(QString("fbgui"), this); loadJQuery(); } //------------------------------------------------------------------------------------------------------- -void JavascriptInterface::notify(const QString& msg){ - qxtLog->debug() << "[jvi] Notifying: " << msg; - QString code = QString("notify('\%1')").arg(msg); - _parent->evaluateJavaScript(code); +void JavascriptInterface::loadJQuery(){ + QString js; + QString pathToJsDir(DEFAULT_QRC_HTML_DIR); + pathToJsDir.append("/js"); + + QDir qrcJSDir(pathToJsDir); + QFileInfoList fiList = qrcJSDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fiList) + { + if(fi.suffix() == "js") + { + //qDebug()<< fi.fileName(); + //qxtLog->debug() << fi.fileName(); + if(fi.fileName()!="test.js") + { + QFile file; + file.setFileName(pathToJsDir + "/" + fi.fileName()); + file.open(QIODevice::ReadOnly); + js = file.readAll(); + file.close(); + + _parent->evaluateJavaScript(js); + //qxtLog->debug() << "evaluated " + fi.fileName(); + } + } + } } //------------------------------------------------------------------------------------------------------- +// Javascript functions for webpage +//------------------------------------------------------------------------------------------------------- void JavascriptInterface::getSession(const QString& session){ - qxtLog->debug() << "[jvi] Received session id: " << session; - sessionID = session; + qxtLog->debug() << "[jsi] Received session id: " << session; + sessionID = session; } //------------------------------------------------------------------------------------------------------- void JavascriptInterface::startDownload(const QString& filename){ @@ -41,6 +63,22 @@ void JavascriptInterface::startDownload(const QString& filename){ emit requestFile(filename); } //------------------------------------------------------------------------------------------------------- +void JavascriptInterface::setCallbackOnFinished(const QString& function){ + qxtLog->debug() << "[jsi] Callback set: " << function; + _callbackOnDownloadsFinished = QString(function); +} +//------------------------------------------------------------------------------------------------------- +const QString JavascriptInterface::getSysInfo(const QString& info){ + SysInfo si; + return si.getInfo(info); +} +//------------------------------------------------------------------------------------------------------- +void JavascriptInterface::quit(){ + emit quitFbgui(); +} +//------------------------------------------------------------------------------------------------------- +// Download Manager information exchange +//------------------------------------------------------------------------------------------------------- void JavascriptInterface::downloadInfo(const QString& filename, const double& filesize){ QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize); _parent->evaluateJavaScript(code); @@ -52,9 +90,10 @@ void JavascriptInterface::updateProgressBar(const int& percent, const double& sp _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- -void JavascriptInterface::setCallbackOnFinished(const QString& function){ - qxtLog->debug() << "[jvi] Callback set: " << function; - _callbackOnDownloadsFinished = QString(function); +void JavascriptInterface::notify(const QString& msg){ + qxtLog->debug() << "[jsi] Notifying: " << msg; + QString code = QString("notify('\%1')").arg(msg); + _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- void JavascriptInterface::callbackOnFinished(){ @@ -62,43 +101,12 @@ void JavascriptInterface::callbackOnFinished(){ _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- -void JavascriptInterface::quit(){ - emit quitFbgui(); -} //------------------------------------------------------------------------------------------------------- -void JavascriptInterface::loadJQuery(){ - QString js; - QString pathToJsDir(DEFAULT_QRC_HTML_DIR); - pathToJsDir.append("/js"); - - QDir qrcJSDir(pathToJsDir); - QFileInfoList fiList = qrcJSDir.entryInfoList(); - QFileInfo fi; - foreach(fi, fiList) - { - if(fi.suffix() == "js") - { - //qDebug()<< fi.fileName(); - //qxtLog->debug() << fi.fileName(); - if(fi.fileName()!="test.js") - { - QFile file; - file.setFileName(pathToJsDir + "/" + fi.fileName()); - file.open(QIODevice::ReadOnly); - js = file.readAll(); - file.close(); - - _parent->evaluateJavaScript(js); - //qxtLog->debug() << "evaluated " + fi.fileName(); - } - } - } -} void JavascriptInterface::trigger(){ - QFile file(fileToTriggerURL); - if (file.open(QIODevice::WriteOnly)){ - file.write("data\n"); - qxtLog->debug() << "[jvi] *trigger watcher*"; - } - file.close(); + QFile file(fileToTriggerURL); + if (file.open(QIODevice::WriteOnly)){ + file.write("data\n"); + qxtLog->debug() << "[jsi] *trigger watcher*"; + } + file.close(); } -- cgit v1.2.3-55-g7522