diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 20:56:51 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 20:56:51 +0200 |
commit | f9ef039ad955db67dc3ab6e9056afc4a325aa9a3 (patch) | |
tree | 4928ff85fb630639e306ea4eb7137a2064a80c8b /tools | |
parent | 0238c739f81911f0963cf2c40b27dcfc8e3d38b7 (diff) | |
parent | 52fb4685e95e5b44e54d2d0f8ea27dea866c75e9 (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
src/qml/debugger/qqmldebug.cpp
Change-Id: I93de5a81b18cdece475870cf7cfba1b9baef2304
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qml/main.cpp | 3 | ||||
-rw-r--r-- | tools/qmljs/qmljs.cpp | 4 | ||||
-rw-r--r-- | tools/qmlplugindump/main.cpp | 2 | ||||
-rw-r--r-- | tools/qmlscene/main.cpp | 53 |
4 files changed, 43 insertions, 19 deletions
diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp index 90d2a940a3..0f16c62320 100644 --- a/tools/qml/main.cpp +++ b/tools/qml/main.cpp @@ -332,6 +332,7 @@ void printUsage() printf("\t-desktop.......................Force use of desktop GL (AA_UseDesktopOpenGL)\n"); printf("\t-gles..........................Force use of GLES (AA_UseOpenGLES)\n"); printf("\t-software......................Force use of software rendering (AA_UseOpenGLES)\n"); + printf("\t-no-scaling....................Disable High DPI scaling (AA_NoHighDpiScaling)\n"); printf("\tDebugging options:\n"); printf("\t-verbose ..................... Print information about what qml is doing, like specific file urls being loaded.\n"); printf("\t-translation [file] .......... Load the given file as the translations file.\n"); @@ -503,6 +504,8 @@ int main(int argc, char *argv[]) QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); } else if (arg == QLatin1String("-desktop")) { QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL); + } else if (arg == QLatin1String("-no-scaling")) { + QCoreApplication::setAttribute(Qt::AA_NoHighDpiScaling); } else { files << arg; } diff --git a/tools/qmljs/qmljs.cpp b/tools/qmljs/qmljs.cpp index 53e520cd1f..132817ff8c 100644 --- a/tools/qmljs/qmljs.cpp +++ b/tools/qmljs/qmljs.cpp @@ -188,9 +188,9 @@ int main(int argc, char *argv[]) QV4::Scope scope(&vm); QV4::ScopedContext ctx(scope, vm.rootContext()); - QV4::ScopedObject print(scope, vm.memoryManager->alloc<builtins::Print>(ctx)); + QV4::ScopedObject print(scope, vm.memoryManager->allocObject<builtins::Print>(vm.rootContext())); vm.globalObject->put(QV4::ScopedString(scope, vm.newIdentifier(QStringLiteral("print"))).getPointer(), print); - QV4::ScopedObject gc(scope, vm.memoryManager->alloc<builtins::GC>(ctx)); + QV4::ScopedObject gc(scope, vm.memoryManager->allocObject<builtins::GC>(ctx)); vm.globalObject->put(QV4::ScopedString(scope, vm.newIdentifier(QStringLiteral("gc"))).getPointer(), gc); foreach (const QString &fn, args) { diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp index 911328c12a..0238a4aaae 100644 --- a/tools/qmlplugindump/main.cpp +++ b/tools/qmlplugindump/main.cpp @@ -1157,7 +1157,7 @@ int main(int argc, char *argv[]) "//\n" "// This file was auto-generated by:\n" "// '%1 %2'\n" - "\n").arg(QFileInfo(args.at(0)).fileName()).arg(QStringList(args.mid(1)).join(QLatin1String(" ")))); + "\n").arg(QFileInfo(args.at(0)).baseName(), args.mid(1).join(QLatin1Char(' ')))); qml.writeStartObject("Module"); QStringList quotedDependencies; foreach (const QString &dep, dependencies) diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index fe01b92244..14845ed433 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -156,7 +156,7 @@ struct Options applicationAttributes.append(Qt::AA_ShareOpenGLContexts); } - QUrl file; + QUrl url; bool originalQml; bool originalQmlRaster; bool maximized; @@ -252,12 +252,10 @@ static bool checkVersion(const QUrl &url) if (!qgetenv("QMLSCENE_IMPORT_NAME").isEmpty()) fprintf(stderr, "QMLSCENE_IMPORT_NAME is no longer supported.\n"); - QString fileName = url.toLocalFile(); - if (fileName.isEmpty()) { - fprintf(stderr, "qmlscene: filename required.\n"); - return false; - } + if (!url.isLocalFile()) + return true; + const QString fileName = url.toLocalFile(); QFile f(fileName); if (!f.open(QFile::ReadOnly | QFile::Text)) { fprintf(stderr, "qmlscene: failed to check version of file '%s', could not open...\n", @@ -300,7 +298,7 @@ static void displayFileDialog(Options *options) QString fileName = QFileDialog::getOpenFileName(0, "Open QML file", QString(), "QML Files (*.qml)"); if (!fileName.isEmpty()) { QFileInfo fi(fileName); - options->file = QUrl::fromLocalFile(fi.canonicalFilePath()); + options->url = QUrl::fromLocalFile(fi.canonicalFilePath()); } #else Q_UNUSED(options); @@ -358,6 +356,7 @@ static void usage() puts(" --desktop..........................Force use of desktop GL (AA_UseDesktopOpenGL)"); puts(" --gles.............................Force use of GLES (AA_UseOpenGLES)"); puts(" --software.........................Force use of software rendering (AA_UseOpenGLES)"); + puts(" --no-scaling.......................Disable High DPI scaling (AA_NoHighDpiScaling)"); puts(" --verbose..........................Print version and graphical diagnostics for the run-time"); puts(" -I <path> ........................ Add <path> to the list of import paths"); puts(" -P <path> ........................ Add <path> to the list of plugin paths"); @@ -416,6 +415,24 @@ static void setWindowTitle(bool verbose, const QObject *topLevel, QWindow *windo window->setTitle(newTitle); } +static QUrl parseUrlArgument(const char *arg) +{ + const QUrl url = QUrl::fromUserInput(QFile::decodeName(arg), QDir::currentPath(), QUrl::AssumeLocalFile); + if (!url.isValid()) { + fprintf(stderr, "Invalid URL: \"%s\"\n", arg); + return QUrl(); + } + if (url.isLocalFile()) { + const QFileInfo fi(url.toLocalFile()); + if (!fi.exists()) { + fprintf(stderr, "\"%s\" does not exist.\n", + qPrintable(QDir::toNativeSeparators(fi.absoluteFilePath()))); + return QUrl(); + } + } + return url; +} + int main(int argc, char ** argv) { Options options; @@ -423,8 +440,8 @@ int main(int argc, char ** argv) QStringList imports; QStringList pluginPaths; for (int i = 1; i < argc; ++i) { - if (*argv[i] != '-' && QFileInfo(QFile::decodeName(argv[i])).exists()) { - options.file = QUrl::fromLocalFile(argv[i]); + if (*argv[i] != '-') { + options.url = parseUrlArgument(argv[i]); } else { const QString lowerArgument = QString::fromLatin1(argv[i]).toLower(); if (lowerArgument == QLatin1String("--maximized")) @@ -455,6 +472,8 @@ int main(int argc, char ** argv) options.applicationAttributes.append(Qt::AA_UseSoftwareOpenGL); else if (lowerArgument == QLatin1String("--desktop")) options.applicationAttributes.append(Qt::AA_UseDesktopOpenGL); + else if (lowerArgument == QLatin1String("--no-scaling")) + options.applicationAttributes.append(Qt::AA_NoHighDpiScaling); else if (lowerArgument == QLatin1String("--verbose")) options.verbose = true; else if (lowerArgument == QLatin1String("-i") && i + 1 < argc) @@ -502,7 +521,7 @@ int main(int argc, char ** argv) QUnifiedTimer::instance()->setSlowModeEnabled(options.slowAnimations); - if (options.file.isEmpty()) + if (options.url.isEmpty()) #if defined(QMLSCENE_BUNDLE) displayOptionsDialog(&options); #else @@ -514,8 +533,8 @@ int main(int argc, char ** argv) if (options.verbose) puts(QLibraryInfo::build()); - if (!options.file.isEmpty()) { - if (!options.versionDetection || checkVersion(options.file)) { + if (!options.url.isEmpty()) { + if (!options.versionDetection || checkVersion(options.url)) { #ifndef QT_NO_TRANSLATION QTranslator translator; #endif @@ -528,15 +547,17 @@ int main(int argc, char ** argv) engine.addImportPath(imports.at(i)); for (int i = 0; i < pluginPaths.size(); ++i) engine.addPluginPath(pluginPaths.at(i)); - if (options.file.isLocalFile()) { - QFileInfo fi(options.file.toLocalFile()); + if (options.url.isLocalFile()) { + QFileInfo fi(options.url.toLocalFile()); #ifndef QT_NO_TRANSLATION loadTranslationFile(translator, fi.path()); #endif loadDummyDataFiles(engine, fi.path()); } QObject::connect(&engine, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit())); - component->loadUrl(options.file); + component->loadUrl(options.url); + while (component->isLoading()) + QCoreApplication::processEvents(); if ( !component->isReady() ) { fprintf(stderr, "%s\n", qPrintable(component->errorString())); return -1; @@ -560,7 +581,7 @@ int main(int argc, char ** argv) qxView->setResizeMode(QQuickView::SizeViewToRootObject); else qxView->setResizeMode(QQuickView::SizeRootObjectToView); - qxView->setContent(options.file, component, contentItem); + qxView->setContent(options.url, component, contentItem); } } |