summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/demobrowser/browserapplication.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-09 14:28:30 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-05-09 14:28:56 +0200
commitc727b8dea9df50ca9a08bff483128bba6263ac65 (patch)
treeb2e2b7c20ba400a33721ed86ca51a8da8e8b0d79 /examples/webenginewidgets/demobrowser/browserapplication.cpp
parentd364c05de52f9ab39034e56cac4e0a7981dc541d (diff)
parente3d94abf9356bb8ee6e402fb7b9813c96919faf2 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Diffstat (limited to 'examples/webenginewidgets/demobrowser/browserapplication.cpp')
-rw-r--r--examples/webenginewidgets/demobrowser/browserapplication.cpp29
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)
{