summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-09-29 12:00:13 +0200
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-09-29 12:00:13 +0200
commit5f36d47460d6021400244c428b9de332e5e8983a (patch)
treed57044dbe0790dd1a882dd9793dc552ac13ae358 /src
parenta3184f5f609161f26b72bf9709fc832d04f5a055 (diff)
make it possible to pass URLs on command line
Diffstat (limited to 'src')
-rw-r--r--src/engine.cpp15
-rw-r--r--src/engine.h3
-rw-r--r--src/qml/BrowserWindow.qml1
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))