summaryrefslogtreecommitdiffstats
path: root/src/javascriptinterface.cpp
diff options
context:
space:
mode:
authorNiklas Goby2011-03-21 12:03:04 +0100
committerNiklas Goby2011-03-21 12:03:04 +0100
commitf2b5a82610ea4b9de9ff5f3ae83cd1715e79bc24 (patch)
tree7234b2e8f2083fe23193bc1654c70ec395d20b12 /src/javascriptinterface.cpp
parentsome changes in the fbgui, ipWatcher (diff)
parentand the files ^^ (diff)
downloadfbgui-f2b5a82610ea4b9de9ff5f3ae83cd1715e79bc24.tar.gz
fbgui-f2b5a82610ea4b9de9ff5f3ae83cd1715e79bc24.tar.xz
fbgui-f2b5a82610ea4b9de9ff5f3ae83cd1715e79bc24.zip
Merge branch 'master' of git.openslx.org:lsfks/master-teamprojekt/fbgui
Conflicts: src/fbgui.cpp
Diffstat (limited to 'src/javascriptinterface.cpp')
-rw-r--r--src/javascriptinterface.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp
new file mode 100644
index 0000000..7f1b949
--- /dev/null
+++ b/src/javascriptinterface.cpp
@@ -0,0 +1,60 @@
+#include "fbgui.h"
+#include "javascriptinterface.h"
+#include "sysinfo.h"
+
+
+//-------------------------------------------------------------------------------------------------------
+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);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::attachToDOM(){
+ _parent->addToJavaScriptWindowObject(QString("fbgui"), this);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::startDownload(const QString& filename){
+ // ignore if empty filename
+ if (filename.isEmpty()){
+ _parent->evaluateJavaScript("alert(\"No filename!\")");
+ return;
+ }
+ emit requestFile(filename);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::downloadInfo(const QString& filename, const double& filesize){
+ QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize);
+ _parent->evaluateJavaScript(code);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::notify(const QString& msg){
+
+ QString code = QString("notify('\%1')").arg(msg);
+ _parent->evaluateJavaScript(code);
+}
+//-------------------------------------------------------------------------------------------------------
+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);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::setCallbackOnDlQueueFinished(QString& jsFunction){
+ _callBackOnDownloadsFinished = jsFunction;
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::callbackOnDlQueueFinished(){
+ QString code = QString("\%1").arg(_callBackOnDownloadsFinished);
+ _parent->evaluateJavaScript(code);
+}
+//-------------------------------------------------------------------------------------------------------
+void JavascriptInterface::quit(){
+ emit quitFbgui();
+}