diff options
| author | Niklas Goby | 2011-11-23 11:56:19 +0100 |
|---|---|---|
| committer | Niklas Goby | 2011-11-23 11:56:19 +0100 |
| commit | c0b6b199a9878bc1e95907200501211c09c1e66c (patch) | |
| tree | 0079c34c6536e5f1d0414aebde1793db60a78f35 /src/javascriptinterface.cpp | |
| parent | deleted the NetworkDiscovery and UnixDomainSocketServer folder (diff) | |
| download | fbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.tar.gz fbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.tar.xz fbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.zip | |
created modules
Diffstat (limited to 'src/javascriptinterface.cpp')
| -rw-r--r-- | src/javascriptinterface.cpp | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp deleted file mode 100644 index b45a2f9..0000000 --- a/src/javascriptinterface.cpp +++ /dev/null @@ -1,235 +0,0 @@ -#include "fbgui.h" -#include "javascriptinterface.h" -#include "sysinfo.h" - -//------------------------------------------------------------------------------------------------------- -// Initialisation -//------------------------------------------------------------------------------------------------------- -/** - * A constructor. - * - * @param parent - * Is of type QWebFrame. - */ -JavascriptInterface::JavascriptInterface(QWebFrame *parent) { - qxtLog->debug() << "Initializing javascript interface..."; - _parent = parent; -} -//------------------------------------------------------------------------------------------------------- -/** - * An empty destructor. - */ -JavascriptInterface::~JavascriptInterface() { /* destructor dummy */ -} -//------------------------------------------------------------------------------------------------------- -/** - * Attaches an instance of this class to the DOM of the HTML page. - * - * Attaches an instance of this class to the DOM of the HTML page. - * This enables the possibility to call slots/methods of this class in - * JavaScript functions of HTML page. It also calls the - * JavascriptInterface::loadJQuery() method. - * - * @see JavascriptInterface::loadJQuery() - */ -void JavascriptInterface::attachToDOM() { - _parent->addToJavaScriptWindowObject(QString("fbgui"), this); - loadJQuery(); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method load the required jQuery libraries into the HTML page. - * - * This method load the required jQuery libraries into the HTML page. - * The libraries are contained in the fbgui.qrc file. - * The Path to the files is: ":/html/js". - * Each library will be read and loaded into the HTML page via - * the evaluateJavaScript() method. - * - * @see JavascriptInterface::attachToDOM() - */ -void JavascriptInterface::loadJQuery() { - // to test if this actually works... - 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 -//------------------------------------------------------------------------------------------------------- -/** - * This method start a download. - * - * This method start a download. - * Can be called from inside a JavaScript function of the HTML page. - * Emits the JavascriptInterface::requestFile(const QString) signal. - */ -void JavascriptInterface::startDownload(const QString& filename) { - // ignore if empty filename - if (filename.isEmpty()) { - _parent->evaluateJavaScript("alert(\"No filename!\")"); - return; - } - emit requestFile(filename); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method start a download. - * - * This method start a download. - * Can be called from inside a JavaScript function of the HTML page. - * - * @todo add some more informations - */ -void JavascriptInterface::setCallbackOnFinished(const QString& function) { - qxtLog->debug() << "[jsi] Callback set: " << function; - _callbackOnDownloadsFinished = QString(function); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method delivers system informations. - * - * This method delivers system informations. Type of informations, are defined by - * the parameter. The output of this method depends on the parameter. - * Can be called from inside a JavaScript function of the HTML page. - * - * @param infoName - * Is of type QString. Defines which method will be called. Possible values are: - * - mac - * - ip - * - mbserial - * - usb - * - * @return QString - * the output of the called method or "info_error" if an error occurred - * (e. g. invalid parameter). - * - * @see SysInfo::getInfo(const QString& infoName) - */ -const QString JavascriptInterface::getSysInfo(const QString& info) { - SysInfo si; - return si.getInfo(info); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method quits the whole program. - * - * This method quits the whole program. - * Can be called from inside a JavaScript function of the HTML page. - * Emits JavascriptInterface::quitFbgui() signal - */ -void JavascriptInterface::quit() { - emit quitFbgui(); -} - -//------------------------------------------------------------------------------------------------------- -/** - * This method performs a shutdown of the client. - * - * This method performs a shutdown of the client. - * Emits the JavascriptInterface::shutDownClient() signal.It is - * connected with the fbgui::performShutDown() method. - * - * @see fbgui::performShutDown() - */ -void JavascriptInterface::shutDown() { - emit shutDownClient(); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method performs a reboot of the client. - * - * This method performs a reboot of the client. - * Emits the JavascriptInterface::rebootClient() signal. It is - * connected with the fbgui::performReboot() method. - * - * @see fbgui::performReboot() - */ -void JavascriptInterface::reboot() { - emit rebootClient(); -} -//------------------------------------------------------------------------------------------------------- -// Download Manager information exchange -//------------------------------------------------------------------------------------------------------- -/** - * This method delivers some informations about the downloading file. - * - * This method delivers some informations about the downloading file. - * - * @todo add some more informations - */ -void JavascriptInterface::downloadInfo(const QString& filename, - const double& filesize) { - QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg( - filesize); - _parent->evaluateJavaScript(code); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method updates the progress bar. - * - * This method calls a Javascript function to update the progress bar of the download. - * Javascript must have a function called "updateProgress" to receive this information. - * - * @todo add some more informations - */ -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); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method sends out messages to Javascript. A corresponding function must be implemented - * on the webpage to receive these. - */ -void JavascriptInterface::notify(const QString& msg) { - qxtLog->debug() << "[jsi] Notifying: " << msg; - QString code = QString("notify('\%1')").arg(msg); - _parent->evaluateJavaScript(code); -} -//------------------------------------------------------------------------------------------------------- -/** - * Sets a callback function for when downloads are finished (will be called when the queue is empty). - */ -void JavascriptInterface::callbackOnFinished() { - QString code = QString("\%1").arg(_callbackOnDownloadsFinished); - _parent->evaluateJavaScript(code); -} -//------------------------------------------------------------------------------------------------------- -/** - * This method triggers the URL load *FOR DEBUGGING/TESTING PURPOSES* - - */ -void JavascriptInterface::trigger() { - QFile file(fileToTriggerURL); - if (file.open(QIODevice::WriteOnly)) { - file.write("data\n"); - qxtLog->debug() << "[jsi] *trigger watcher*"; - } - file.close(); -} |
