diff options
| author | Jonathan Bauer | 2011-03-06 18:20:29 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2011-03-06 18:20:29 +0100 |
| commit | 01ba87df900d8ec6d0b0b52f8aa59db8bfcb7076 (patch) | |
| tree | 1562371fa24549e47d607657447df0aaffb63c27 /src | |
| parent | baseUrl is now global variable (diff) | |
| download | fbgui-01ba87df900d8ec6d0b0b52f8aa59db8bfcb7076.tar.gz fbgui-01ba87df900d8ec6d0b0b52f8aa59db8bfcb7076.tar.xz fbgui-01ba87df900d8ec6d0b0b52f8aa59db8bfcb7076.zip | |
URL loading from cmdline or config file or default, depending where an URL can be found.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fbbrowser.cpp | 91 | ||||
| -rw-r--r-- | src/fbbrowser.h | 2 | ||||
| -rw-r--r-- | src/fbgui.conf | 3 | ||||
| -rw-r--r-- | src/fbgui.cpp | 5 | ||||
| -rw-r--r-- | src/fbgui.h | 2 | ||||
| -rw-r--r-- | src/main.cpp | 29 |
6 files changed, 68 insertions, 64 deletions
diff --git a/src/fbbrowser.cpp b/src/fbbrowser.cpp index 527ef65..313bc64 100644 --- a/src/fbbrowser.cpp +++ b/src/fbbrowser.cpp @@ -7,47 +7,7 @@ #include <QFileInfo> #include <QNetworkInterface> #include <QtWebKit> -// ------------------------------------------------------------------------------------------- -void fbbrowser::forwardDownloadRequest(QString& filename) -{ - // Forge URL for filename from baseUrl - QUrl fileUrl; - fileUrl = baseUrl.resolved(QUrl(filename)); - emit downloadFile(fileUrl); -} -// ------------------------------------------------------------------------------------------- -void fbbrowser::forwardUpdateProgress(int progress) -{ - emit updateProgress(progress); -} -// ------------------------------------------------------------------------------------------- -void fbbrowser::getMAC() -{ - QNetworkInterface *qNetI = new QNetworkInterface(); - QList<QNetworkInterface> list; - list=qNetI->allInterfaces(); - QString str; - QString macAddress; - for (int i = 0; i < list.size(); ++i) { - str = list.at(i).name(); - macAddress = list.at(i).hardwareAddress(); - qDebug() << str; - qDebug() << macAddress; - } - emit printMAC(macAddress); -} -// ------------------------------------------------------------------------------------------- -void fbbrowser::getTime() -{ - qDebug() << "---- call: showTime_Slot"; - QString time = QTime::currentTime().toString("hh:mm:ss"); - emit printTime(time); -} -// ------------------------------------------------------------------------------------------- -void fbbrowser::quit() -{ - emit killApp(); -} + // ------------------------------------------------------------------------------------------- fbbrowser::fbbrowser() { @@ -55,16 +15,16 @@ fbbrowser::fbbrowser() mw = new QMainWindow(this); view = new QWebView(mw); - // Prepare loading of baseUrl. + // Prepare loading of baseURL. // Maybe possible to let DM take care of these steps? manager = new QNetworkAccessManager(this); - request.setUrl(baseUrl); + request.setUrl(baseURL); reply = manager->get(request); // TODO: error differentiation if(reply->error() == QNetworkReply::NoError) { - qDebug() << "Loading: " << baseUrl.toString(); - view->load(baseUrl); + qDebug() << "Loading: " << baseURL.toString(); + view->load(baseURL); } else { @@ -105,3 +65,44 @@ fbbrowser::~fbbrowser() delete dm; delete jso; } +// ------------------------------------------------------------------------------------------- +void fbbrowser::forwardDownloadRequest(QString& filename) +{ + // Forge URL for filename from baseURL + QUrl fileUrl; + fileUrl = baseURL.resolved(QUrl(filename)); + emit downloadFile(fileUrl); +} +// ------------------------------------------------------------------------------------------- +void fbbrowser::forwardUpdateProgress(int progress) +{ + emit updateProgress(progress); +} +// ------------------------------------------------------------------------------------------- +void fbbrowser::getMAC() +{ + QNetworkInterface *qNetI = new QNetworkInterface(); + QList<QNetworkInterface> list; + list=qNetI->allInterfaces(); + QString str; + QString macAddress; + for (int i = 0; i < list.size(); ++i) { + str = list.at(i).name(); + macAddress = list.at(i).hardwareAddress(); + qDebug() << str; + qDebug() << macAddress; + } + emit printMAC(macAddress); +} +// ------------------------------------------------------------------------------------------- +void fbbrowser::getTime() +{ + qDebug() << "---- call: showTime_Slot"; + QString time = QTime::currentTime().toString("hh:mm:ss"); + emit printTime(time); +} +// ------------------------------------------------------------------------------------------- +void fbbrowser::quit() +{ + emit killApp(); +} diff --git a/src/fbbrowser.h b/src/fbbrowser.h index 7def71f..96a8711 100644 --- a/src/fbbrowser.h +++ b/src/fbbrowser.h @@ -8,7 +8,7 @@ #include "JSObject.h" #include "DownloadManager.h" -extern QUrl baseUrl; +extern QUrl baseURL; class QWebView; class QWebFrame; diff --git a/src/fbgui.conf b/src/fbgui.conf new file mode 100644 index 0000000..d0a9345 --- /dev/null +++ b/src/fbgui.conf @@ -0,0 +1,3 @@ +[default] +url=http://132.230.4.3/webkitTest.html + diff --git a/src/fbgui.cpp b/src/fbgui.cpp index 2303844..991372b 100644 --- a/src/fbgui.cpp +++ b/src/fbgui.cpp @@ -5,16 +5,17 @@ #include <QUrl> #include <QMap> -QUrl baseUrl; +QUrl baseURL; // Function not yet used, depends how settings will be loaded. +// Probably better to not use a member variable to save settings, +// rather process/set them in the main & use globals. void fbgui::setOption(QString key, QString value) { if (!_options.contains(key)) _options.insert(key, value); else { - // temp, find a better way for this _options.remove(key); _options.insert(key, value); } diff --git a/src/fbgui.h b/src/fbgui.h index 49f66a0..8a62a32 100644 --- a/src/fbgui.h +++ b/src/fbgui.h @@ -4,6 +4,8 @@ #include <QtCore> #include "fbbrowser.h" +#define DEFAULT_URL "http://132.230.4.3/webkitTest.html" + class fbgui : public QObject { Q_OBJECT diff --git a/src/main.cpp b/src/main.cpp index 4172d79..08e9246 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,10 +6,10 @@ #include <iostream> #include "fbgui.h" -extern QUrl baseUrl; +extern QUrl baseURL; // temporary settings testing stuff -QMap<QString, QString> options; +QMap<QString, QString> clo; void printHelp() { @@ -28,7 +28,6 @@ int main(int argc, char *argv[]) app->setApplicationName("fbgui"); app->setObjectName("test"); - /* Parse cmdline argus. */ int longIndex = 0; static const char *optString = "u:h"; @@ -43,31 +42,29 @@ int main(int argc, char *argv[]) switch(opt) { case 'u': - options.insert("url", optarg); + clo.insert("url", optarg); break; case 'h': - options.insert("help", "help"); + clo.insert("help", "help"); break; } opt = getopt_long(argc, argv, optString, longOpts, &longIndex); } - // - if (options.contains("help")) + if (clo.contains("help")) { printHelp(); exit(EXIT_SUCCESS); } - // + // Read the config file, for now hardcoded expected name. + QSettings confFileSettings(app->applicationDirPath() + "/fbgui.conf", QSettings::IniFormat); + confFileSettings.setIniCodec("UTF-8"); - if (options.contains("url")) - // TODO: also check in conf before settings this. - baseUrl = options.value("url"); + if (clo.contains("url")) + baseURL = clo.value("url"); + else if (confFileSettings.contains("default/url")) + baseURL = confFileSettings.value("default/url").toUrl(); else - { - std::cout << "No URL specified. Exiting..."; - exit(EXIT_FAILURE); - } - // TODO: Read INI. + baseURL = DEFAULT_URL; // Start fbgui. fbgui *gui = new fbgui(); |
