Commit Graph

101 Commits

Author SHA1 Message Date
Kai Koehne e6f6c4aee6 Use QTranslator::install(QLocale, ...) everywhere
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>
2018-07-18 06:40:36 +00:00
Liang Qi bb7a5d0cb6 Merge remote-tracking branch 'origin/5.11' into dev
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
2018-02-27 08:43:10 +01:00
Shawn Rutledge 499ec43937 use nullptr consistently (clang-tidy)
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>
2018-02-26 07:13:18 +00:00
Ulf Hermann 70f35501da Add a feature for qml-animation
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>
2018-02-15 08:04:48 +00:00
Liang Qi 0aaca005c0 Merge remote-tracking branch 'origin/5.9' into dev
Change-Id: Ibed6ee74d36b4ce37391c82db00a0abd30d09e7a
2017-04-21 11:08:24 +02:00
Alex Blasche 1bee1eb0f8 Fix forced error warnings in -no-gui build
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>
2017-04-12 14:24:39 +00:00
Simon Hausmann 017350a8a9 Merge remote-tracking branch 'origin/5.9' into dev
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
2017-04-07 12:53:23 +00:00
Tasuku Suzuki e76ffb62a2 Fix build without features.animation
Change-Id: Ie45a2f01def64941a323973ea27446e3fc85a72b
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2017-04-03 00:27:29 +00:00
Simon Hausmann 24d0266ee4 Merge remote-tracking branch 'origin/5.9' into HEAD
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
2017-03-23 14:43:46 +01:00
Shawn Rutledge d88164fdbc qml runtime: don't assume http by default
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>
2017-03-15 12:43:58 +00:00
Alexander Volkov febb1f721f sources: Add missing override and remove redundant virtual
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>
2017-02-23 14:26:49 +00:00
Shawn Rutledge 9b2b06fd7b qml: use QUrl::fromUserInput("file.qml", QDir::currentPath())
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>
2017-01-03 09:53:31 +00:00
Liang Qi 0e80d28aa5 Merge remote-tracking branch 'origin/5.8' into dev
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
2016-12-14 19:01:23 +01:00
Lars Knoll e579076bb3 Get rid of most QT_NO_FOO usages
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>
2016-11-29 10:10:27 +00:00
Liang Qi 5d4cbf4094 Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	src/qml/jsruntime/qv4object_p.h

Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
2016-11-23 10:49:37 +01:00
Friedemann Kleint 05e3cdd8ab Set Qt version on tools
Change-Id: I21d77b2eba7107528fc00db0cf5d87f8347b63be
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-11-09 09:18:44 +00:00
Anton Kudryavtsev 457bb7a465 tools: use const (and const APIs) more
For CoW types, prefer const methods to avoid needless detach()ing.

Change-Id: If9018391c001eba3b4b2061d06c4caa8136811ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-08-22 16:44:33 +00:00
Anton Kudryavtsev 3ef4fac9ff tools: replace 'foreach' with 'range for'
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>
2016-08-20 06:52:34 +00:00
Cavit Sina Dogru 4fbfbf7fe8 Qt object: Add exit(int)
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>
2016-08-09 17:16:44 +00:00
Jani Heikkinen 38ec3bd755 Updated license headers
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>
2016-01-20 11:46:25 +00:00
Friedemann Kleint 0b51b08fcd Revert "qmlscene/qml tools: Temporarily disable High DPI options."
Re-enable the options after the attributes have their final names.
Add options for enabling scaling.

This reverts commit 051684f125.

Task-number: QTBUG-46615
Task-number: QTBUG-48379
Change-Id: If862061c688f9febff3b9511a4f19649b07d2011
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2015-11-26 21:36:05 +00:00
Friedemann Kleint 051684f125 qmlscene/qml tools: Temporarily disable High DPI options.
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>
2015-11-02 17:06:32 +00:00
Friedemann Kleint cae36255e3 qml/qmlscene: Add command line option -no-scaling for Qt::AA_NoHighDpiScaling.
Task-number: QTBUG-46615
Change-Id: Idcea92d58c1532d956ad6cb16036646c231bb0ac
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-09-07 10:32:49 +00:00
Liang Qi 4a1846acd1 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	tools/qml/main.cpp

Change-Id: I6d521b21be85d91ebb96c28e2c64186f02d94842
2015-08-21 15:18:07 +02:00
Kai Koehne c1477c4660 qml: Don't build OpenGL support if OpenGL is not available in Qt.
This is an amended backport of change 668ccf18d in dev.

Change-Id: I168a4d5a55c34592599a557bef941ce1629c8178
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-08-19 13:48:28 +00:00
Robin Burchell 668ccf18dc qml: Don't build OpenGL support if OpenGL is not available in Qt.
Change-Id: I66c841778eb0ae662c3951a26665c83e233851b5
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-08-17 11:21:37 +00:00
Liang Qi 5112821a37 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	.qmake.conf
	src/qml/qml/qqmlengine.cpp
	src/quick/items/qquickitemsmodule.cpp
	tools/qml/main.cpp

Change-Id: Ida8daf6b4d7e675385f2f5514c446e52dedaf136
2015-06-30 09:08:35 +02:00
Friedemann Kleint ed7771c6ab qml: Output information about build and GL renderer in verbose mode.
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>
2015-06-15 14:37:55 +00:00
Friedemann Kleint 926303a9f8 qml: Add options to control the GL renderer.
Task-number: QTBUG-46030
Change-Id: I5af5a0ef267444d85e8da6df196229ad8199c00f
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2015-06-04 07:03:54 +00:00
Alan Alpert b252c2d479 qml tool should exit on Qt.quit()
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>
2015-03-31 17:59:26 +00:00
Alan Alpert 079c45fd0a Fix use of qml versioning in qml
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>
2015-03-17 16:42:55 +00:00
Kevin Ottens 4dc68ba888 Don't limit to files ending with .qml
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>
2015-03-16 18:22:39 +00:00
Kevin Ottens b049085a2c qml tool: don't process the command name
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>
2015-03-06 06:39:14 +00:00
Jani Heikkinen c5796292ad Update copyright headers
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>
2015-02-12 10:28:11 +00:00
Pasi Petäjäjärvi e6a419d0e3 qml: obey QT_NO_REGULAREXPRESSION define
Not all platforms do have QRegularExpression as it is based on
pcre.

Change-Id: I3247f8b2213f78a6e537f6781d97b0c6382482ad
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-11-11 11:11:41 +01:00
Shawn Rutledge 05d8ffb4df Revert: use the new form of QTranslator::load() for more flexibility
This reverts commit 427646b8d7.
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>
2014-10-28 12:37:05 +01:00
Shawn Rutledge 427646b8d7 use the new form of QTranslator::load() for more flexibility
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>
2014-10-01 15:14:23 +02:00
Jani Heikkinen e7ceacda70 Update license headers and add new licenses
- 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>
2014-08-25 11:28:46 +02:00
Shawn Rutledge 6622b87482 Tools and examples: consistently use organization name QtProject
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>
2014-07-02 09:08:06 +02:00
Jeff Tranter 52a46d332c Fix some typos in usage string.
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>
2014-05-09 16:08:38 +02:00
Erik Larsson f3d8386bcd Fix crash in qml/qmlscene when using dummy-data with imports
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>
2014-03-13 21:40:43 +01:00
Andrew Knight 50f8133a1a Remove several uses of module includes
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>
2014-03-10 15:04:11 +01:00
Shawn Rutledge 61cf2b0633 qml tool on OSX: wait for a timeout before exiting
Double-clicking to open a QML file was not working because it would
exit if no files are given on the command line.  It needs to wait
a while for the QFileOpenEvent.

Task-number: QTBUG-34926
Change-Id: Icb585a777b0438db85120c62e7717f0f6eafffb1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-11-20 16:07:26 +01:00
Kai Koehne b3d0da4ee6 Remove '-enable-debugger' argument from qml executable
Task-number: QTBUG-34836
Change-Id: I3ab2a16036a1086c0ac1f50880a402caf9f54f2d
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2013-11-16 07:05:29 +01:00
Alan Alpert 64bbcfa678 Add a verbose mode to qml
The extra output is primarily useful for debugging, and on windows it
will actually make an ugly command prompt window appear.

Change-Id: I552e479515a6f5249685844143601cb7449a10b5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-11 12:18:15 +01:00
Alan Alpert 0d5ef23ee7 Fix qml runtime when loading files that imported other files
QQmlComponent::setData does not perform any URL processing. Consequently
when using that function we need to 'normalize' the URLs ourselves to
ensure that the engine finds them acceptable.

Task-number: QTBUG-34301
Change-Id: Ia0f3a51129423020f7e4d7003ca356af3f89b441
Reviewed-by: Antti Piira <apiira@blackberry.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-01 08:06:15 +01:00
Shawn Rutledge c084d32d92 qml tool: compiles with clang
The error was that app can be uninitialized if the switch goes into
the default branch.

Change-Id: Ic690e1dd257cf88ee04d019b5b81121cecb48564
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-30 08:29:49 +01:00
Tasuku Suzuki 8d24f015b2 Make qtdeclarative compile with -no-gui
Change-Id: I079f5e09a0099550348388379c496fc8f8cfa27c
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2013-10-25 14:45:46 +02:00
Sérgio Martins 6752b6fef6 Fix WinCE build.
Change-Id: Ie0536ad94f88efe1e54226ed7f1d9e1042ffcc19
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-09-25 22:56:10 +02:00
Shawn Rutledge 8495296f4f qml: handle all possible QtMsgType in switch because of -Werror
Perhaps this illustrates why having -Werror is more of an annoyance
than whatever it was supposed to help:
https://codereview.qt-project.org/#change,65253 cannot be merged
until the new enum value that it adds is handled _everywhere_ that
it can be.

Change-Id: I2bba730b471683487e38693c9ace2d09be4c874d
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-09-25 10:33:37 +02:00
Alan Alpert 9aec6efd1f Add qml tool
This tool simply runs QML files using a QQmlApplicationEngine.

It is configurable so as to behave, by default, like qmlscene in
that it will automatically place non-Window QtQuick 2 Items inside
a QQuickWindow with the size of the root item. The configuration
is extensible so that other GUI scenes can also use it by altering
the configuration files in their installation.

On OS X, it is an app bundle, and handles the QFileOpenEvent so that
it can be the tool with which qml files are usually launched by
double-clicking.  (This does not break the ability to use it on the
command line too: the options still work, you just have to give the
path to the executable inside the bundle.)

Change-Id: I6bac813ce188be54842a78d7b532fcf2d54dc443
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2013-09-17 03:04:56 +02:00