diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-09-29 12:00:13 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-09-29 12:00:13 +0200 |
commit | 5f36d47460d6021400244c428b9de332e5e8983a (patch) | |
tree | d57044dbe0790dd1a882dd9793dc552ac13ae358 /src | |
parent | a3184f5f609161f26b72bf9709fc832d04f5a055 (diff) |
make it possible to pass URLs on command line
Diffstat (limited to 'src')
-rw-r--r-- | src/engine.cpp | 15 | ||||
-rw-r--r-- | src/engine.h | 3 | ||||
-rw-r--r-- | src/qml/BrowserWindow.qml | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/engine.cpp b/src/engine.cpp index 5768b5e..3c8d0d0 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -40,11 +40,21 @@ #include <QtCore/QDir> #include <QtCore/QStandardPaths> #include <QStringBuilder> +#include <QCoreApplication> Engine::Engine(QObject *parent) : QObject(parent) , m_settings(QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) % QDir::separator() % "settings.ini", QSettings::IniFormat, this) { + foreach (const QString &arg, QCoreApplication::arguments().mid(1)) { + if (arg.startsWith('-')) + continue; + const QUrl url(arg); + if (url.isValid()) { + m_initialUrl = url.toString(); + break; + } + } } QString Engine::settingsPath() @@ -52,6 +62,11 @@ QString Engine::settingsPath() return m_settings.fileName(); } +QString Engine::initialUrl() const +{ + return m_initialUrl; +} + QUrl Engine::fromUserInput(const QString& userInput) { QFileInfo fileInfo(userInput); diff --git a/src/engine.h b/src/engine.h index 49cbe24..5d59990 100644 --- a/src/engine.h +++ b/src/engine.h @@ -78,8 +78,10 @@ class Engine : public QObject { Q_PROPERTY(QObject * rootWindow READ rootWindow FINAL CONSTANT) Q_PROPERTY(QString settingsPath READ settingsPath FINAL CONSTANT) + Q_PROPERTY(QString initialUrl READ initialUrl FINAL CONSTANT) QSettings m_settings; + QString m_initialUrl; public: Engine(QObject *parent); @@ -88,6 +90,7 @@ public: return parent(); } QString settingsPath(); + QString initialUrl() const; Q_INVOKABLE bool isUrl(const QString& userInput); Q_INVOKABLE QUrl fromUserInput(const QString& userInput); diff --git a/src/qml/BrowserWindow.qml b/src/qml/BrowserWindow.qml index 2e7858b..c95ee53 100644 --- a/src/qml/BrowserWindow.qml +++ b/src/qml/BrowserWindow.qml @@ -199,6 +199,7 @@ Item { return navigation.webView = tab.webView + navigation.load(engine.initialUrl); } onCurrentIndexChanged: { if (!tabView.get(tabView.currentIndex)) |