summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2011-03-06 13:37:20 +0100
committerJonathan Bauer2011-03-06 13:37:20 +0100
commit1dbd03fbcfe5910a224c0d1c5040402f8496f900 (patch)
treefc6ce32ed58be06b1d75cb8beb7c7ccdf7132acd
parentjsobject member renaming (diff)
downloadfbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.tar.gz
fbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.tar.xz
fbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.zip
updated communication between jso/dm/fbb
-rw-r--r--src/JSObject.cpp7
-rw-r--r--src/JSObject.h2
-rw-r--r--src/fbbrowser.cpp22
-rw-r--r--src/fbbrowser.h5
4 files changed, 26 insertions, 10 deletions
diff --git a/src/JSObject.cpp b/src/JSObject.cpp
index 86d7c15..e899b5f 100644
--- a/src/JSObject.cpp
+++ b/src/JSObject.cpp
@@ -23,16 +23,13 @@ void JSObject::attachToDOM()
//-------------------------------------------------------------------------------------------------------
void JSObject::startDownload(QString filename)
{
+ /* return if no filename in input field */
if (filename.isEmpty())
{
_parent->evaluateJavaScript("alert(\"No filename!\")");
return;
}
- // Erm fix this
- QString qs = "http://132.230.4.3/";
- qs.append(filename);
- QUrl url(qs);
- emit downloadFile(url);
+ emit requestFile(filename);
}
//-------------------------------------------------------------------------------------------------------
diff --git a/src/JSObject.h b/src/JSObject.h
index ca6e3db..1102610 100644
--- a/src/JSObject.h
+++ b/src/JSObject.h
@@ -47,7 +47,7 @@ public:
// the signals will be connected in the fbbrowser class with slots of the fbbrowser class
signals:
- void downloadFile(QUrl& urlToFile);
+ void requestFile(QString& filename);
void signalQuitAll();
/*
// should be the last signal to be emited.
diff --git a/src/fbbrowser.cpp b/src/fbbrowser.cpp
index df4b7ed..37b3349 100644
--- a/src/fbbrowser.cpp
+++ b/src/fbbrowser.cpp
@@ -5,7 +5,21 @@
#include <QFile>
#include <QFileInfo>
#include <QtWebKit>
-
+// -------------------------------------------------------------------------------------------
+void fbbrowser::forwardDownloadRequest(QString& filename)
+{
+ // Forge URL for filename from baseUrl
+ // Erm fix this
+ QString qs = "http://132.230.4.3/";
+ qs.append(filename);
+ QUrl url(qs);
+ emit downloadFile(url);
+}
+// -------------------------------------------------------------------------------------------
+void fbbrowser::forwardUpdateProgress(int progress)
+{
+ emit updateProgress(progress);
+}
// -------------------------------------------------------------------------------------------
void fbbrowser::quit()
{
@@ -42,12 +56,14 @@ fbbrowser::fbbrowser(const QUrl & url)
//jso->setParent(qwf);
QObject::connect(qwf, SIGNAL(javaScriptWindowObjectCleared()),
jso, SLOT(attachToDOM()));
+ QObject::connect(jso, SIGNAL(requestFile(QString&)), this, SLOT(forwardDownloadRequest(QString&)));
+ QObject::connect(this, SIGNAL(updateProgress(int)), jso, SLOT(updateProgress(int)));
QObject::connect(jso, SIGNAL(signalQuitAll()), this, SLOT(quit()));
// Initialize Download Manager.
dm = new DownloadManager();
- QObject::connect(jso, SIGNAL(downloadFile(QUrl&)), dm, SLOT(downloadFile(QUrl&)));
- QObject::connect(dm, SIGNAL(updateProgress(int)), jso, SLOT(updateProgress(int)));
+ QObject::connect(this, SIGNAL(downloadFile(QUrl&)), dm, SLOT(downloadFile(QUrl&)));
+ QObject::connect(dm, SIGNAL(updateProgress(int)), this, SLOT(forwardUpdateProgress(int)));
// Remove the window decoration, form to fullscreen, central view?
mw->setWindowFlags(Qt::SplashScreen);
diff --git a/src/fbbrowser.h b/src/fbbrowser.h
index ace2eb9..6de9ba6 100644
--- a/src/fbbrowser.h
+++ b/src/fbbrowser.h
@@ -36,10 +36,13 @@ private:
DownloadManager* dm;
signals:
- void downloadFile(QString filename);
+ void downloadFile(QUrl& fileUrl);
+ void updateProgress(int progress);
void killApp();
public slots:
+ void forwardUpdateProgress(int progress);
+ void forwardDownloadRequest(QString& filename);
void quit();
};