diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-09 14:28:30 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-09 14:28:56 +0200 |
commit | c727b8dea9df50ca9a08bff483128bba6263ac65 (patch) | |
tree | b2e2b7c20ba400a33721ed86ca51a8da8e8b0d79 /examples/webenginewidgets/demobrowser/browserapplication.cpp | |
parent | d364c05de52f9ab39034e56cac4e0a7981dc541d (diff) | |
parent | e3d94abf9356bb8ee6e402fb7b9813c96919faf2 (diff) |
Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: I2843a633721212850db77c772caf24e0ea82b450
Diffstat (limited to 'examples/webenginewidgets/demobrowser/browserapplication.cpp')
-rw-r--r-- | examples/webenginewidgets/demobrowser/browserapplication.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/examples/webenginewidgets/demobrowser/browserapplication.cpp b/examples/webenginewidgets/demobrowser/browserapplication.cpp index 0d5c54199..26764b93c 100644 --- a/examples/webenginewidgets/demobrowser/browserapplication.cpp +++ b/examples/webenginewidgets/demobrowser/browserapplication.cpp @@ -136,11 +136,7 @@ BrowserApplication::BrowserApplication(int &argc, char **argv) socket.connectToServer(serverName); if (socket.waitForConnected(500)) { QTextStream stream(&socket); - QStringList args = QCoreApplication::arguments(); - if (args.count() > 1) - stream << args.last(); - else - stream << QString(); + stream << getCommandLineUrlArgument(); stream.flush(); socket.waitForBytesWritten(); return; @@ -255,11 +251,13 @@ void BrowserApplication::postLaunch() // newMainWindow() needs to be called in main() for this to happen if (m_mainWindows.count() > 0) { - QStringList args = QCoreApplication::arguments(); - if (args.count() > 1) - mainWindow()->loadPage(args.last()); - else + const QString url = getCommandLineUrlArgument(); + if (!url.isEmpty()) { + mainWindow()->loadPage(url); + } else { mainWindow()->slotHome(); + } + } BrowserApplication::historyManager(); } @@ -421,6 +419,19 @@ void BrowserApplication::installTranslator(const QString &name) QApplication::installTranslator(translator); } +QString BrowserApplication::getCommandLineUrlArgument() const +{ + const QStringList args = QCoreApplication::arguments(); + if (args.count() > 1) { + const QString lastArg = args.last(); + const bool isValidUrl = QUrl::fromUserInput(lastArg).isValid(); + if (isValidUrl) + return lastArg; + } + + return QString(); +} + #if defined(Q_OS_OSX) bool BrowserApplication::event(QEvent* event) { |