summaryrefslogtreecommitdiffstats
path: root/src/javascriptinterface.cpp
diff options
context:
space:
mode:
authorNiklas Goby2011-11-23 11:56:19 +0100
committerNiklas Goby2011-11-23 11:56:19 +0100
commitc0b6b199a9878bc1e95907200501211c09c1e66c (patch)
tree0079c34c6536e5f1d0414aebde1793db60a78f35 /src/javascriptinterface.cpp
parentdeleted the NetworkDiscovery and UnixDomainSocketServer folder (diff)
downloadfbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.tar.gz
fbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.tar.xz
fbgui-c0b6b199a9878bc1e95907200501211c09c1e66c.zip
created modules
Diffstat (limited to 'src/javascriptinterface.cpp')
-rw-r--r--src/javascriptinterface.cpp235
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();
-}