aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlplugindump
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-02-24 10:14:57 +0100
committerLiang Qi <liang.qi@qt.io>2017-02-24 11:48:14 +0100
commitb1fa22c1683d9f6cedb001f5ef8a0dac71868935 (patch)
treec30a114c75be071310df974283b928329f9d5c12 /tools/qmlplugindump
parentba68c325688acf3072715757480497524f61c425 (diff)
parentfe5d69669197a51662061b014810f0242eec5ca7 (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts: src/qml/compiler/qv4ssa.cpp src/quick/accessible/qaccessiblequickview_p.h src/quick/items/qquickmousearea.cpp src/quick/util/qquickanimatorjob.cpp tools/qmlplugindump/main.cpp Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
Diffstat (limited to 'tools/qmlplugindump')
-rw-r--r--tools/qmlplugindump/main.cpp38
-rw-r--r--tools/qmlplugindump/qmlplugindump.pro10
2 files changed, 40 insertions, 8 deletions
diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp
index acd892bedb..dd7ae36c5d 100644
--- a/tools/qmlplugindump/main.cpp
+++ b/tools/qmlplugindump/main.cpp
@@ -33,6 +33,10 @@
#include <QtQuick/private/qquickevents_p_p.h>
#include <QtQuick/private/qquickpincharea_p.h>
+#ifdef QT_WIDGETS_LIB
+#include <QApplication>
+#endif // QT_WIDGETS_LIB
+
#include <QtGui/QGuiApplication>
#include <QtCore/QDir>
#include <QtCore/QFileInfo>
@@ -741,8 +745,8 @@ void sigSegvHandler(int) {
void printUsage(const QString &appName)
{
std::cerr << qPrintable(QString(
- "Usage: %1 [-v] [-noinstantiate] [-defaultplatform] [-[non]relocatable] [-dependencies <dependencies.json>] [-merge <file-to-merge.qmltypes>] [-output <output-file.qmltypes>] [-noforceqtquick] module.uri version [module/import/path]\n"
- " %1 [-v] [-noinstantiate] -path path/to/qmldir/directory [version]\n"
+ "Usage: %1 [-v] [-qapp] [-noinstantiate] [-defaultplatform] [-[non]relocatable] [-dependencies <dependencies.json>] [-merge <file-to-merge.qmltypes>] [-output <output-file.qmltypes>] [-noforceqtquick] module.uri version [module/import/path]\n"
+ " %1 [-v] [-qapp] [-noinstantiate] -path path/to/qmldir/directory [version]\n"
" %1 [-v] -builtins\n"
"Example: %1 Qt.labs.folderlistmodel 2.0 /home/user/dev/qt-install/imports").arg(
appName)) << std::endl;
@@ -866,7 +870,7 @@ static bool getDependencies(const QQmlEngine &engine, const QString &pluginImpor
QByteArray depencenciesData = importScanner.readAllStandardOutput();
if (!readDependenciesData(QLatin1String("<outputOfQmlimportscanner>"), depencenciesData,
dependencies, QStringList(pluginImportUri), forceQtQuickDependency)) {
- std::cerr << "failed to proecess output of qmlimportscanner" << std::endl;
+ std::cerr << "failed to process output of qmlimportscanner" << std::endl;
if (importScanner.exitCode() != 0)
std::cerr << importScanner.readAllStandardError().toStdString();
return false;
@@ -992,10 +996,25 @@ int main(int argc, char *argv[])
else
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
- QGuiApplication app(argc, argv);
+ // Check which kind of application should be instantiated.
+ bool useQApplication = false;
+ for (int i = 0; i < argc; ++i) {
+ QString arg = QLatin1String(argv[1]);
+ if (arg == QLatin1String("--qapp") || arg == QLatin1String("-qapp"))
+ useQApplication = true;
+ }
+
+#ifdef QT_WIDGETS_LIB
+ QScopedPointer<QCoreApplication> app(useQApplication
+ ? new QApplication(argc, argv)
+ : new QGuiApplication(argc, argv));
+#else
+ QScopedPointer<QCoreApplication> app(new QGuiApplication(argc, argv));
+#endif // QT_WIDGETS_LIB
+
QCoreApplication::setApplicationVersion(QLatin1String(QT_VERSION_STR));
- const QStringList args = app.arguments();
- const QString appName = QFileInfo(app.applicationFilePath()).baseName();
+ const QStringList args = app->arguments();
+ const QString appName = QFileInfo(app->applicationFilePath()).baseName();
if (args.size() < 2) {
printUsage(appName);
return EXIT_INVALIDARGUMENTS;
@@ -1065,6 +1084,9 @@ int main(int argc, char *argv[])
} else if (arg == QLatin1String("--defaultplatform")
|| arg == QLatin1String("-defaultplatform")) {
continue;
+ } else if (arg == QLatin1String("--qapp")
+ || arg == QLatin1String("-qapp")) {
+ continue;
} else {
std::cerr << "Invalid argument: " << qPrintable(arg) << std::endl;
return EXIT_INVALIDARGUMENTS;
@@ -1331,8 +1353,8 @@ int main(int argc, char *argv[])
QTimer timer;
timer.setSingleShot(true);
timer.setInterval(0);
- QObject::connect(&timer, SIGNAL(timeout()), &app, SLOT(quit()));
+ QObject::connect(&timer, SIGNAL(timeout()), app.data(), SLOT(quit()));
timer.start();
- return app.exec();
+ return app->exec();
}
diff --git a/tools/qmlplugindump/qmlplugindump.pro b/tools/qmlplugindump/qmlplugindump.pro
index b38eea2554..2749ec943f 100644
--- a/tools/qmlplugindump/qmlplugindump.pro
+++ b/tools/qmlplugindump/qmlplugindump.pro
@@ -1,4 +1,5 @@
QT += qml qml-private quick-private core-private
+qtHaveModule(widgets): QT += widgets
CONFIG += no_import_scan
@@ -21,4 +22,13 @@ macx {
CONFIG -= app_bundle
}
+QMAKE_TARGET_PRODUCT = qmlplugindump
+QMAKE_TARGET_DESCRIPTION = QML plugin dump tool
+
+win32 {
+ VERSION = $${QT_VERSION}.0
+} else {
+ VERSION = $${QT_VERSION}
+}
+
load(qt_tool)