aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qml/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qml runtime tool: support alternate conf; add resizeToItem confShawn Rutledge2019-04-251-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | The qmlscene --resize-to-root feature has always been missing from the qml runtime tool; however it was already possible to add it by writing a custom configuration file. Now we support loading different configurations from resources as well as from the filesystem, and the first new configuration being added here is resizeToItem.qml which provides behavior equivalent to qmlscene --resize-to-root. When the argument given to --config ends with .qml, by convention it's to be loaded from the filesystem; whereas configurations from resources are specified without the .qml extension (to make the command line shorter). [ChangeLog][QtQml][qml] The QML Runtime tool now has default behavior matching qmlscene when the root QML object is an Item: it will be wrapped in a Window which will resize the Item when the Window is resized. But you can alternatively use the --config resizeToItem option, resulting in the same behavior as qmlscene --resizeToRoot: resizing the root Item programmatically causes the wrapping Window to be resized. Behavior can still be customized in other ways using the --config option with an external QML configuration file. Task-number: QTBUG-53557 Change-Id: Icdcbbd12258105c33b64634049d735e022dfbd06 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qml runtime tool: --quiet disables categorized logging tooShawn Rutledge2019-04-251-2/+5
| | | | | | | | | | | [ChangeLog][QtQml][qml] The QML Runtime tool --quiet option now disables categorized logging in addition to qDebug, qInfo, qWarning and qFatal, except for some early QPA-level categorized logging that occurs during application construction. You can still override specific categories by setting QT_LOGGING_CONF or QT_LOGGING_RULES. Change-Id: Icf986a7fa9980d07beed308df8f69fcc4da9d771 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qml runtime tool: group globals and declare static; improve paddingShawn Rutledge2019-04-251-43/+29
| | | | | | | This fixes a few code model warnings. Change-Id: I0739e19ad5601caa4177f0fd843b1a8d38c936a6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Use QCommandLineParser in the qml runtime toolShawn Rutledge2019-04-241-114/+122
| | | | | | | | | | | | | Some advantages: - support double-hyphen options as well as the existing single-hyphen options - support translation of the usage text [ChangeLog][QtQml][qml] The QML Runtime tool now accepts command-line arguments in double-dash GNU style as well as the old single-dash style. Task-number: QTBUG-53557 Change-Id: I9929c63841272894640abe254efaea9773eee633 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-191-1/+6
|\ | | | | | | Change-Id: I9ef4be23bfe35aa48d4c65d4159e72c527943845
| * Update the QML Runtime iconShawn Rutledge2019-04-171-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new one has been drawn; use it on all platforms, not just on macOS. It is now also used as the default window icon, to be more identifiable when minimized, etc. Of course it can be overridden by plugins that can be loaded from qml. [ChangeLog][QtQml][qml] The QML Runtime tool now has an updated application icon and a default window icon. QtQuick applications can still use QWindow::setIcon() to override the window icon. Task-number: QTBUG-70826 Task-number: QTBUG-74662 Change-Id: I8671d0c99f7f4283dbe2dc4c605abb560f7bf1a1 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | qml runtime: Don't assume there is a window, verify itShawn Rutledge2019-01-151-4/+5
| | | | | | | | | | Change-Id: I83ea0f679170dfab6f99edb17950e27ca2aedfb1 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | Clean up LoadWatcher in the Qml RuntimeShawn Rutledge2019-01-151-37/+35
|/ | | | | | | | | | Name the variables in a self-documenting way. While we're at it, do initialization at declaration when possible, reorder the public sections before the private ones, fix comment spacing, and use function-pointer connect syntax where possible. Change-Id: I3fddc8f6d27afa197d425fb7ae3baee02acedceb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use QTranslator::install(QLocale, ...) everywhereKai Koehne2018-07-181-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | QTranslator::install(QLocale, ...) indirectly uses QLocale::uiLanguages(), which is the correct way to ask the system for ui languages. This was already attempted once in commit 427646b8d7, but reverted later on in commit 05d8ffb4df, because it requires shipping .qm files for the native language. Anyhow, we're shipping empty Qt translations for English since a while, and also have been fixing our examples to do so. [ChangeLog][Important Behavior Changes] The automatic translation loading in qml, qmlscene and QQmlApplicationEngine now tries to load translations for all languages in QLocale::uiLanguages(). This might require shipping an empty translation for the source language. Task-number: QTBUG-7329 Task-number: QTBUG-41977 Task-number: QTBUG-69196 Change-Id: Ifcf45b453ee9d05c018f379cc01e192d1b0a3f56 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-02-271-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4internalclass.cpp src/qml/parser/qqmljslexer.cpp src/qml/qml/v8/qv8engine.cpp src/qml/util/qqmladaptormodel_p.h src/quick/items/qquickanimatedsprite.cpp tests/auto/quick/qquickanimatedsprite/tst_qquickanimatedsprite.cpp Change-Id: I16702b7a0da29c2a332afee47728d6a6ebf4fb3f
| * use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add a feature for qml-animationUlf Hermann2018-02-151-2/+4
|/ | | | | | | | | It should be possible to switch it off without globally switching animations off in Qt. Change-Id: I3cae6b72b2c6b5c420f21625208de5e273839438 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-211-1/+6
|\ | | | | | | Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
| * Fix forced error warnings in -no-gui buildv5.9.0-beta2Alex Blasche2017-04-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiling main.cpp main.cpp:361:23: error: unused parameter argc [-Werror=unused-parameter] void getAppFlags(int &argc, char **argv) ^ main.cpp:361:36: error: unused parameter argv [-Werror=unused-parameter] void getAppFlags(int &argc, char **argv) ^ main.cpp:74:12: error: exitTimerId defined but not used [-Werror=unused-variable] static int exitTimerId = -1; ^ Change-Id: I3eb7aff4ab3b5f1e89fdbf6d090107efedb376dd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-04-071-0/+4
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jit/qv4assembler.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4vme_moth.cpp Change-Id: I865d794e550a263387a39ca8d051ebf48b70cbc0
| * Fix build without features.animationTasuku Suzuki2017-04-031-0/+4
| | | | | | | | | | | | Change-Id: Ie45a2f01def64941a323973ea27446e3fc85a72b Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into HEADSimon Hausmann2017-03-231-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp src/qml/jit/qv4assembler.cpp src/qml/jit/qv4assembler_p.h src/qml/jit/qv4isel_masm.cpp src/qml/jsruntime/qv4context.cpp src/qml/jsruntime/qv4context_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4vme_moth.cpp src/qml/memory/qv4mmdefs_p.h Change-Id: I9966750b7cd9106b78e4c4779f12b95a481cca40
| * qml runtime: don't assume http by defaultShawn Rutledge2017-03-151-1/+1
| | | | | | | | | | | | | | | | Avoid doing network operations unless a network-specific scheme is given. Task-number: QTBUG-57870 Change-Id: I1387603da5b8325232bef27b0ed45483a0ae30a4 Reviewed-by: David Faure <david.faure@kdab.com>
* | sources: Add missing override and remove redundant virtualAlexander Volkov2017-02-231-2/+2
|/ | | | | | | Change-Id: I48e26b1491024d41ebf75d40f0d1a7e9a1b20f22 Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qml: use QUrl::fromUserInput("file.qml", QDir::currentPath())Shawn Rutledge2017-01-031-23/+7
| | | | | | | | | | | | | | | After change dc6b73390b262b9554599cbf40539763b1280261 in qtbase, the qml runtime was failing at an assertion in QQmlTypeLoader::getType() which tries to avoid relative URLs and relative directory paths. It's important to convert relative paths to fully-qualified paths when converting to an URL, because QQmlTypeLoader uses it as a cache key, and we want to avoid ambiguity about which file is being cached. Task-number: QTBUG-57870 Change-Id: Ib984cf722009f5f04cb67fffbc52d12bcc98df89 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-141-5/+5
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp src/qml/qml/qqmlimport.cpp src/quick/items/context2d/qquickcontext2dtexture_p.h tools/qmleasing/splineeditor.h Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
| * Get rid of most QT_NO_FOO usagesLars Knoll2016-11-291-5/+5
| | | | | | | | | | | | | | | | Instead use QT_CONFIG(foo). This change actually detected a few mis-spelled macros and invalid usages. Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-231-0/+1
|\| | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4object_p.h Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
| * Set Qt version on toolsFriedemann Kleint2016-11-091-0/+1
| | | | | | | | | | Change-Id: I21d77b2eba7107528fc00db0cf5d87f8347b63be Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | tools: use const (and const APIs) moreAnton Kudryavtsev2016-08-221-1/+1
|/ | | | | | | For CoW types, prefer const methods to avoid needless detach()ing. Change-Id: If9018391c001eba3b4b2061d06c4caa8136811ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* tools: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-201-4/+4
| | | | | | | | | Mark some local variables or parameters as const to prevent detach()'ing. Use qAsConst where is not possible mark as const. Change-Id: I0a777c3bd855abd3bb1ad0907152360cf4a1050e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Qt object: Add exit(int)Cavit Sina Dogru2016-08-091-3/+14
| | | | | | | | | | | | This is similar to the Qt.quit() function but also specifies the return code that the event loop will return. [ChangeLog][QtQml] Added exit(int retCode) method to the Qt global object. An application can call Qt.exit to specify a return code of the engine. Task-number: QTBUG-54360 Change-Id: Iaa319e6dc4d6b99dc3a5c01845e87b936fd2cab0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Updated license headersJani Heikkinen2016-01-201-17/+12
| | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I04760a0801837cfc516d1c7c02d4f503f6bb70b6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Revert "qmlscene/qml tools: Temporarily disable High DPI options."Friedemann Kleint2015-11-261-6/+5
| | | | | | | | | | | | Re-enable the options after the attributes have their final names. Add options for enabling scaling. This reverts commit 051684f125bbc31bd882c4cd313c3482bcd145a0. Task-number: QTBUG-46615 Task-number: QTBUG-48379 Change-Id: If862061c688f9febff3b9511a4f19649b07d2011 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
* qmlscene/qml tools: Temporarily disable High DPI options.Friedemann Kleint2015-11-021-0/+4
| | | | | | | | To be re-enabled once the attribute names are final. Task-number: QTBUG-46615 Change-Id: Id463167ab102e3c2f3af4fe39675853eae3bb851 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* qml/qmlscene: Add command line option -no-scaling for Qt::AA_NoHighDpiScaling.Friedemann Kleint2015-09-071-0/+3
| | | | | | Task-number: QTBUG-46615 Change-Id: Idcea92d58c1532d956ad6cb16036646c231bb0ac Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-211-2/+2
|\ | | | | | | | | | | | | Conflicts: tools/qml/main.cpp Change-Id: I6d521b21be85d91ebb96c28e2c64186f02d94842
| * qml: Don't build OpenGL support if OpenGL is not available in Qt.Kai Koehne2015-08-191-5/+5
| | | | | | | | | | | | | | This is an amended backport of change 668ccf18d in dev. Change-Id: I168a4d5a55c34592599a557bef941ce1629c8178 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | qml: Don't build OpenGL support if OpenGL is not available in Qt.Robin Burchell2015-08-171-3/+3
| | | | | | | | | | Change-Id: I66c841778eb0ae662c3951a26665c83e233851b5 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-301-15/+67
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/qml/qml/qqmlengine.cpp src/quick/items/qquickitemsmodule.cpp tools/qml/main.cpp Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
| * qml: Output information about build and GL renderer in verbose mode.Friedemann Kleint2015-06-151-15/+57
| | | | | | | | | | | | | | | | | | Make static contain() a member of LoadWatcher() and connect to QQuickWindow::onOpenGlContextCreated(). Print information similar to qtdiag. Change-Id: I0bc6bc43418e4392c6b5e2643d4f7899ff4f4f8b Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * qml: Add options to control the GL renderer.Friedemann Kleint2015-06-041-0/+10
| | | | | | | | | | | | Task-number: QTBUG-46030 Change-Id: I5af5a0ef267444d85e8da6df196229ad8199c00f Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | qml tool should exit on Qt.quit()Alan Alpert2015-03-311-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | In a QML/C++ application there may be additional code after app.exec(). In a pure QML application this is not the case, and you may wish to call Qt.quit() during scene creation (before app.exec()). [ChangeLog][QtQml][qml] qml tool now quits immediately if Qt.quit() is called before all scenes complete creation. Change-Id: I5c6fb64769724350ef3d74c34e2ede2d06562e4b Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Fix use of qml versioning in qmlAlan Alpert2015-03-171-2/+2
| | | | | | | | | | | | | | | | The bumping of a version number shouldn't "unpublish" any types. Change-Id: I01ceb70442cb6643478f75bb5729f3db7c989bfa Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* | Don't limit to files ending with .qmlKevin Ottens2015-03-161-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | Especially useful when the program is invoked indirectly by a shell running the QML file like an executable. Such script executable often don't have an extension to make their invocation look like that of binary executables. [ChangeLog][QtQml] Make it possible to make script without .qml suffix Change-Id: I5a569bdea185cfa60ce68afa27ae03278b1acdb8 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | qml tool: don't process the command nameKevin Ottens2015-03-061-1/+1
|/ | | | | | | | | | The first argument is the command name. There's no need to compare it against possible arguments. Change-Id: I776f10b6872286f89f07582b81d4990260ef9ddc Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Update copyright headersJani Heikkinen2015-02-121-6/+6
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* qml: obey QT_NO_REGULAREXPRESSION definePasi Petäjäjärvi2014-11-111-1/+4
| | | | | | | | Not all platforms do have QRegularExpression as it is based on pcre. Change-Id: I3247f8b2213f78a6e537f6781d97b0c6382482ad Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Revert: use the new form of QTranslator::load() for more flexibilityShawn Rutledge2014-10-281-2/+4
| | | | | | | | | | | | | | | | | | | This reverts commit 427646b8d7c52e5b84240e07ffd391217ce3bfa8. It seems that it should have been more correct, but we are still not shipping English translations, and static QString find_translation() in qtranslator.cpp will return any language which is in QLocale::uiLanguages() for which the translation file is found. That is a long list on OSX. Reverting the patch means find_translation() is not called in such cases. This change can be re-done whenever we are more sure that the attempt to find a translation will succeed in finding a sensible one, or fall back to not translating, rather than choosing a language that the user didn't intend. Task-number: QTBUG-41977 Change-Id: I425946cc71cec96b4f38629eb2b7e80220c5236d Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* use the new form of QTranslator::load() for more flexibilityShawn Rutledge2014-10-011-4/+2
| | | | | | | | | | | | | | As the docs explain, the variant of QTranslator::load() taking a const QLocale& is better because it "uses QLocale::uiLanguages() and not simply the locale name, which refers to the formatting of dates and numbers and not necessarily the UI language." And, using a default-constructed QLocale permits QLocale::setDefault() to override the system locale, so for example an application's main.cpp can do that before constructing a QQmlApplicationEngine. Task-number: QTBUG-7329 Change-Id: Ia29a4c894087c92b071c0fe484728866f2660fe6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Update license headers and add new licensesJani Heikkinen2014-08-251-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Tools and examples: consistently use organization name QtProjectShawn Rutledge2014-07-021-1/+1
| | | | | | | | | | | | This affects the location of the QSettings files or registry entries. Other parts of Qt are using this organization name so it's good to have all the settings in the same place. [ChangeLog][QtQuick] tools and examples consistently use the QtProject organization name Change-Id: I1fae4eaed0248411fe95dda9572d38006648b162 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Fix some typos in usage string.Jeff Tranter2014-05-091-2/+2
| | | | | | | | Fix some spelling errors in the command usage string. Change-Id: Iee94987d0a3dff78e39f588b4c21415ed40a514c Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix crash in qml/qmlscene when using dummy-data with importsErik Larsson2014-03-131-9/+5
| | | | | | | | | | | | | | | | | | | When using the tools qml and qmlscene with dummy-data it will crash or behave wrong, due to the dummy-data component will get the state not ready, if the dummy-data qml-files does an import of another folder or a js-file. By changing the way of loading dummy-data, by letting QQmlComponent handle the file opening instead of using the setData() method, qmlscene and qml will be able to handle this type of dummy-data. The tool qml also needed to load the dummy data before loading the regular components, otherwise the dummy-data would not be ready for the other components to use. Task-number: QTBUG-32721 Change-Id: Ia1cc2b2626187e23c7d7313be788202d91b12471 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Remove several uses of module includesAndrew Knight2014-03-101-0/+3
| | | | | | | | | | Module includes are discouraged because they may increase compilation time. While debugging a broken core module include header, a number of module include infractions were discovered in qtdeclarative. Replace them with their more specific counterparts. Change-Id: I614e9a6aa2177f396e5289f3cdb3c35faa0202c9 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>