summaryrefslogtreecommitdiffstats
path: root/src/javascriptinterface.cpp
diff options
context:
space:
mode:
authorJonathan Bauer2011-03-21 11:48:32 +0100
committerJonathan Bauer2011-03-21 11:48:32 +0100
commit31050528017e11c54f408b22c92265ff6c4c4b69 (patch)
treeb3a83fc05f53548a7c6beb29b9b0d971b9c49cc3 /src/javascriptinterface.cpp
parentminor code convention fixes (diff)
downloadfbgui-31050528017e11c54f408b22c92265ff6c4c4b69.tar.gz
fbgui-31050528017e11c54f408b22c92265ff6c4c4b69.tar.xz
fbgui-31050528017e11c54f408b22c92265ff6c4c4b69.zip
and the files ^^
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();
+}