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>
“qmlimportscanner -rootPath /path/to/foo” should scan
QML files in the “foo” directory.
Remove QDir::NoDot, which was added in commit 6ff0e9a6.
Change-Id: I15cc4a289cf246786cdf8fe2020c7f3d2798b7a5
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Since the preceding path may contain debug or release in it, then we
only want to check if the path ends with it as opposed to containing it.
Change-Id: Ib4d466987fccb75771fcd2fa018b6f1375df7dc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
The product should be Qt5 (the default). The QMAKE_TARGET_DESCRIPTION is
actually less than a description but a beautified name, that is shown
e.g. in the task manager, crash reporting tool etc. Make it title case,
like most Windows applications do.
Change-Id: I570aee2c2016e78fdb7a93c2d7a66b70fdcb0cff
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
qt_tool.prf sets the VERSION to MODULE_VERSION by default. Also,
qmake automatically makes it a quadruple for the .rc file metadata.
Change-Id: Ie2d0f2022c4416ce824a6786eef4a8c461ed70f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Passing "-" as an argument for -qmlFiles instructs qmlimportscanner to
read the qml file from stdin. This is how qmlimportscanner is invoked
by qmlplugindump.
Task-number: QTBUG-58930
Change-Id: Ie43292988a31f9821887fbb704b903c03012fd3d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
This information will then be visible in Windows explorer.
Change-Id: I9d2f936584308394b4e3246d57bed44083b3cbca
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Change 3c5e438890 enabling
using the target path version of a parent module made it harder
to determine the deployment target path from the module name.
Output the relative path in addition to remove the need to
do that in deployment tools.
Task-number: QTBUG-57494
Task-number: QTBUG-52556
Change-Id: Ib76f40f19b530f9351205df9109f2fef6191979d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
This makes it easier to spot issues in build logs.
Amends change a23bcdf919.
Change-Id: I68e440c2ce79504fb5f5fa08392a91d39e631e25
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
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>
MSVC does not like QStringLiteral in operator[].
And the follow-up patch, which replaces 'foreach'
with 'range for' triggers this MSVC bug.
So this prequel patch resolves 2 issues:
1. fix MSVC build - the main issue.
2. de-duplicate QStringLiteral data (.rodata)
- as drive-by issue.
Change-Id: Ic6607edf324e9330d2b8dccd34561abb90f79cf1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
Replace it with QL1S or with QL1C in QStringBuilder expressions
Change-Id: I894c546d2d010a713cc476d60b7966e77df996af
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
The styles are installed to eg. qml/QtQuick/Controls.2/Material.
That is, the version is in the parent module. See 3c5e438 for more
details.
Change-Id: Id5083c7934071666dd5e11511f16dea07d3104bf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
... in string comparisons. It's more efficient.
Change-Id: Ia157618cf870870f24c4a2962a385962da819275
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Some (?) pre C++11 compilers are not able to resolve template arguments
for std::find_if when the predicates are local to the function.
Change-Id: I1e5c4adc3409bd32081ddedff158ab9dcc2eaa9a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
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>
The qtcreator's qmldesigner plugin contains some directories that are
not reacheable during the import scan, resulting in qmlplugindump
complaing for missing dependencies.
Since these components are not needed, let the scanner just ignore
them.
Change-Id: Icdf7c9e841cf5bcc1e737a0fc75a63b1e02f87f9
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
This is a cleaner separation and further reduces include dependencies
in the definitions of our basic data structured.
Change-Id: I18aa86cdea0c0dfbc16075d4d617af97e638811e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
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>
There's a scanner in QQmlJS::Lexer::scanDirectives that can parse those, so
let's get rid of extra parser that operates on a string. Instead this way we
can do the scanning all in one shot, avoid detaching a copy of the source code
string and (most importantly) bring the parser closer to the copy in Qt
Creator, which uses the directives approach to extract imports and pragma.
Change-Id: Iff6eb8d91a45d8a70f383f953115692be48259de
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
These lines specify additional hidden dependencies. The first use case
is in QtQuick.Dialogs: DefaultFileDialog.qml uses FolderListModel, but
this file is not listed in the qmldir because the decision whether to
use it is made at runtime. So QtQuick.Dialogs qmldir contains this:
depends Qt.labs.folderlistmodel 1.0
Task-number: QTBUG-41489
Change-Id: Ide4bca2ce2e342b95e9a87cc418d26f331372d12
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
If a .js file had an import of another .js file itself, like so:
.import "otherFile.js" as Blah
then the import scanner would keep the quotes and store
"\"otherFile.js\""
in the JSON as opposed to
"otherFile.js"
This is fixed by making use of the same code for extracting the .import
statements from JS files that is also used by the engine itself.
Additionally this fixes the use of comments in .import lines (and other
whitespace characters not producing tokens).
Change-Id: I4dd4a5217308f6fc93b6b148cd8e13392f97d2a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Javascript may contain ".import" pragmas/statements,
which should be treated in a similar way as qml file
imports.
Add findQmlImportsInJavascriptFile() which extracts and
parses the .import lines. Refactor findQmlImportsInFile()
to handle both .qml and .js and call out to the correct
parsing function.
Add "-jsFiles" for specifying javascript
files on the command line similar to "-qmlFiles".
Task-number: QTBUG-35349
Change-Id: I6b8e0cc254c1edcf16940bec5cfda7c2637f115e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix several qmlimportscanner defects:
- Expand qml file search to include subdirectories.
This applies to search paths specified with "-rootPath"
- Add "-qmlFiles" for specifying the file list directly
- Parse files with UTF8 BOMs correctly
- Don't set properties where the value is the empty string
Change-Id: I81a538d73487b49fb635c18ef4fe479748ba0bfc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
qt_tool handles bootstrapping fully automatically.
This reverts commit 0fc040ef70,
and adds some more.
Change-Id: Icffcf7f487dbf660678c7ee622f94b1063fef7e3
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>