Not 100%, as there are a few more local variables involved.
Change-Id: I15458d614c381862aa6f9e1c54d56c045bac8941
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Will ease transition to a key class that doen's have ::number()
Change-Id: Ib2f2957c916f41b0731a2033422bfbf7e429bcc8
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
These are functional replacements for
QVariant::fromValue(QVariantMap) (or QVariant::fromValue(Store)) and
QVariant::toMap() (or QVariant::toValue<Store>())
We will have a few code paths in the end that need to explicitly
operarate on both QVariantMap and Store (e.g. actual reading/writing
to keep format compatibility etc), so these can't in the end be
simple to/fromValue(OneType) but need an internal 'if' or such.
Change-Id: I954f3cb24fa8fe123162b72bbd25d891dd19b768
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
It fixes the following warning:
warning: missing initializer for member
‘QtSupport::Internal::ExampleSetModel::ExtraExampleSet::qtVersion’
Amends bdfa412b14
Change-Id: Ieb984664953f53d458297970e09678c499a26197
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This change makes it possible to bake in settings for bundled/shipped
Qt versions like we have in the QtDesignStudio.app package.
The result is that the installer does not need to write absolute
paths to the settings anymore, so it stays like it was signed.
A signed package on macOS is more and more necessary
and recommended for a while. Especially If the application will
touch files in special folders like Download, Documents, or Desktop.
Change-Id: I3153ffd4229b34a59bdfe740937c21ee93de3e9b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
... and re-use the old QtcProcess::readAllStandard* names for
a QString-returning 'decoded' version.
For now, only use that in 'full Utf8' cases, to stay bug-compatible,
the plan is, however, to employ the QTextCodecs we have already
in the channel buffers. That will be one-by-one, though.
Change-Id: Id209e0671920d4ea4197918e872f441254112d52
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... by FilePath::isSameExecutable().
The only non-mechanical case is the use inside QmakeBuildSystem::testToolChain
using a build environment instead of the FilePath's device environment.
This make a difference in theory due to the use of PATHEXT in the actual
check, but I believe the case that someone creates a 'qmake.foo' and
a 'qmake.bar', adds .foo and .bar to PATHEXT and then complains that
there's a warning missing about not-matching mkspecs has zero
likelihood in reality (and will break other places in Creator anyway).
Change-Id: Id6a8d1e4dc2eb74ca81610ccb1c4ee94c6f47e12
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The patch breaks several plugin unit tests; at the very least QtSupport,
AutoTest and ClangCodeModel.
This reverts commit 72aa77ced7.
Change-Id: Iaa7f452d0f43d0072b0bbcf8934fa0dcd6f9b240
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
qmake is a "build tool", and it is also a "query tool" when called with
parameter "-query". Qt Creator, so far, assumes that building and
querying with a Qt installation are done with one and the same tool:
qmake. This change adds the ability to register a Qt version vie either
qmake or qtpaths and still build with qmake, if that is installed (which
is not anymore mandatory from Qt 6 on).
1) Distinguish between Qt query tool and qmake build tool:
Add QtVersion::queryToolFilePath() to the existing
QtVersion::qmakeFilePath(), and use queryToolFilePath in most "query"
related code, and qmakeFilePath when building with qmake (e.g. in
QmakeProjectManager).
Also, a couple of functions and variables were renamed from *qmake* to
*queryTool* in order to express that the affected code is about
querying/managing Qt versions rather than about building with qmake.
2) Support manual Qt Version adding by qtpaths via file dialog
This change adds qtpaths to the "Add" Qt Version file picker filter.
After selection, "qtpaths -query" is executed for testing purposes. If
that fails, (e.g. because it is an older Qt version), qmake is instead
chosen, silently.
Task-number: QTCREATORBUG-22175
Task-number: QTCREATORBUG-25546
Change-Id: I4d9c1e7eec7d5ae7c5a8d2e1a1ed95addff69966
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
It's also used for manually triggered detection nowadays and
closer in naming to what kit, debugger and kit have.
Change-Id: I68705aafe297d61afc8b5918650e47353d3ccce1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
also renamed the qmlscene* qmlRuntime*
Change-Id: Ifd522e21f5ce30aaa54060fdcebee2cd8b9463c4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Saves some code on the user side.
Change-Id: I32cd220b6e533f5497a1865f9c34ab9db4cfda79
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Avoid writing defaults to the settings.
Task-number: QTCREATORBUG-24430
Change-Id: Ic068ade0d34a66e1baf067d90d63e01b0d0e73c0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The default configuration only registers documentation files only once,
from the highest registered Qt version. This made sense within the Qt 5
series, since Qt documentation for the higher version included all items
from the lower versions.
With Qt 6 this changes - some API was removed in Qt 6. To make sure that
documentation of all Qt 5 API is still available, we have to register
the newest available documentation for Qt 5 and Qt 6, not only of Qt 6
(the overall newest available documentation).
Expands 3dfa188182
Change-Id: I8b2984b0be11dcc823ef4a206800c84887b632ca
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Pulls in some QStringView related updates to proparser:
f5d8ad61a4c85a656a7332c43d0c42f5eaf43593
"qmake: use new QString::arg(QStringView) overload"
52f3a7d9d40d3bf835bb0716ad201ee56731b980
"Build qmake with QT_USE_STRINGBUILDER"
c49728eb27be0f3f2eaaa77b0ed573f5d8705af1
"Port qmake from QStringRef to QStringView"
But do it in a way compatible with Qt5. Since some QStringView API is
not available in Qt5 (see QTBUG-86516), this means using a StringView
typedef that is either QStringRef (Qt5) or QStringView (Qt6)
Task-number: QTCREATORBUG-24098
Change-Id: Ic9a73ca450543f3fdd5fcf9d686c4b773a48854c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
There are very few reasons to use mainWindow() directly.
Especially for modal dialogs, using dialogParent() is important, since
that guarantees the stacking order in case of other dialogs currently
being open.
Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6
Reviewed-by: hjk <hjk@qt.io>
In Options > Kits > Qt Versions. And make it the default.
It registers each documentation file only for the highest registered Qt
version. If you have Qt 5.12 and Qt 5.13 registered, but only installed
QtWebEngine for Qt 5.12, you'll get QtWebEngine documentation for Qt
5.12, but the other documentation is from Qt 5.13.
That is usually sufficient, since the documentation still contains "old"
API, and new API is flagged with "since".
This avoids registering a lot of documentation, which creates a startup
performance issue, and also leads to usually unneeded popups for which
Qt version some documentation should be shown.
The option also allows going back to registering all documentation,
and no Qt documentation at all.
Fixes: QTCREATORBUG-21482
Fixes: QTCREATORBUG-22799
Task-number: QTCREATORBUG-10004
Change-Id: I1c7bc73982d48d8e53f5083e2fa851b6c5f60f80
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Introduced in 9c2568b8e8
Range-based for loops that modify the original container must
work on a copy.
Change-Id: Ib917014ab259c20b282cdc85e7ca6583f7844de5
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
No QLatin1String, foreach -> for, a few other things.
Change-Id: I80aaff6855e4a38c29d43db917fc37eb975a6de0
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
While doing we must take care that we do not remove documentation that
is used by other, still registered Qt versions (since for example
desktop & mobile Qt versions share the same documentation).
Fixes: QTCREATORBUG-16631
Change-Id: I77a38c89698cb3050d4a0a6963ab12d3238e2068
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Use docsPath() over documentationPath() since that fits better into
the naming scheme of the rest and already returns a FilePath.
Change hasDocumentation() to hasDocs() accordingly.
Change-Id: I619d7c68e612c4e25a830e4dce128d9a1e84c2e2
Reviewed-by: hjk <hjk@qt.io>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Mainly to get rid of the QProcess::finished deprecation warning.
Also adjust coding style in the surrounding connects when needed.
Change-Id: I12f9b248c7974b892c4a069356e578e80f8c59e9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>