diff options
| author | Jonathan Bauer | 2011-03-06 13:37:20 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2011-03-06 13:37:20 +0100 |
| commit | 1dbd03fbcfe5910a224c0d1c5040402f8496f900 (patch) | |
| tree | fc6ce32ed58be06b1d75cb8beb7c7ccdf7132acd /src | |
| parent | jsobject member renaming (diff) | |
| download | fbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.tar.gz fbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.tar.xz fbgui-1dbd03fbcfe5910a224c0d1c5040402f8496f900.zip | |
updated communication between jso/dm/fbb
Diffstat (limited to 'src')
| -rw-r--r-- | src/JSObject.cpp | 7 | ||||
| -rw-r--r-- | src/JSObject.h | 2 | ||||
| -rw-r--r-- | src/fbbrowser.cpp | 22 | ||||
| -rw-r--r-- | src/fbbrowser.h | 5 |
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(); }; |
