forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/14.0'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs src/libs/solutions/tasking/tasktree.cpp src/plugins/coreplugin/imode.cpp src/plugins/cppeditor/cpphighlighter.cpp Change-Id: I5114911d18e377076c5c07b27d6ca918774f34b9
This commit is contained in:
2
.github/workflows/build_cmake.yml
vendored
2
.github/workflows/build_cmake.yml
vendored
@@ -7,7 +7,7 @@ on:
|
|||||||
- 'doc/**'
|
- 'doc/**'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
QT_VERSION: 6.7.1
|
QT_VERSION: 6.7.2
|
||||||
MACOS_DEPLOYMENT_TARGET: 11.0
|
MACOS_DEPLOYMENT_TARGET: 11.0
|
||||||
CLANG_VERSION: 18.1.7
|
CLANG_VERSION: 18.1.7
|
||||||
ELFUTILS_VERSION: 0.175
|
ELFUTILS_VERSION: 0.175
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ instructions:
|
|||||||
variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_18.1.7-based
|
variableValue: https://ci-files02-hki.ci.qt.io/packages/jenkins/qtcreator_libclang/libclang-release_18.1.7-based
|
||||||
- type: EnvironmentVariable
|
- type: EnvironmentVariable
|
||||||
variableName: QTC_QT_BASE_URL
|
variableName: QTC_QT_BASE_URL
|
||||||
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.7/6.7.1-released/Qt"
|
variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.7/6.7.2-released/Qt"
|
||||||
- type: EnvironmentVariable
|
- type: EnvironmentVariable
|
||||||
variableName: QTC_QT_MODULES
|
variableName: QTC_QT_MODULES
|
||||||
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
|
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
|
||||||
|
|||||||
92
dist/changelog/changes-14.0.1.md
vendored
Normal file
92
dist/changelog/changes-14.0.1.md
vendored
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
Qt Creator 14.0.1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Qt Creator version 14.0.1 contains bug fixes.
|
||||||
|
|
||||||
|
The most important changes are listed in this document. For a complete list of
|
||||||
|
changes, see the Git log for the Qt Creator sources that you can check out from
|
||||||
|
the public Git repository. For example:
|
||||||
|
|
||||||
|
<https://code.qt.io/cgit/qt-creator/qt-creator.git/log/?id=v14.0.0..v14.0.1>
|
||||||
|
|
||||||
|
General
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Fixed wrong colors when using a light theme on a dark system
|
||||||
|
([QTCREATORBUG-31226](https://bugreports.qt.io/browse/QTCREATORBUG-31226))
|
||||||
|
|
||||||
|
Editing
|
||||||
|
-------
|
||||||
|
|
||||||
|
* Fixed a crash when selecting a context menu item for an editor that was
|
||||||
|
closed in the meantime
|
||||||
|
([QTCREATORBUG-31232](https://bugreports.qt.io/browse/QTCREATORBUG-31232))
|
||||||
|
|
||||||
|
### C++
|
||||||
|
|
||||||
|
* Fixed a crash in the type hierarchy builder
|
||||||
|
([QTCREATORBUG-31318](https://bugreports.qt.io/browse/QTCREATORBUG-31318))
|
||||||
|
* Fixed the highlighting of non-plain character literals
|
||||||
|
([QTCREATORBUG-31342](https://bugreports.qt.io/browse/QTCREATORBUG-31342))
|
||||||
|
|
||||||
|
### QML
|
||||||
|
|
||||||
|
* Fixed that context help could show help from the wrong module
|
||||||
|
([QTCREATORBUG-31280](https://bugreports.qt.io/browse/QTCREATORBUG-31280))
|
||||||
|
|
||||||
|
### FakeVim
|
||||||
|
|
||||||
|
* Fixed that invalid values could be set for the tabstop size
|
||||||
|
([QTCREATORBUG-28082](https://bugreports.qt.io/browse/QTCREATORBUG-28082))
|
||||||
|
|
||||||
|
Projects
|
||||||
|
--------
|
||||||
|
|
||||||
|
### CMake
|
||||||
|
|
||||||
|
* Fixed the application of changes to the `Initial Arguments`
|
||||||
|
([QTCREATORBUG-31320](https://bugreports.qt.io/browse/QTCREATORBUG-31320))
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
---------
|
||||||
|
|
||||||
|
### C++
|
||||||
|
|
||||||
|
* Fixed pretty printing for Qt 4
|
||||||
|
([QTCREATORBUG-31355](https://bugreports.qt.io/browse/QTCREATORBUG-31355))
|
||||||
|
|
||||||
|
Analyzer
|
||||||
|
--------
|
||||||
|
|
||||||
|
### Axivion
|
||||||
|
|
||||||
|
* Fixed a crash when creating links from the issues table to column data
|
||||||
|
|
||||||
|
### Valgrind
|
||||||
|
|
||||||
|
* Fixed missing error kinds for newer Valgrind versions in the parser
|
||||||
|
([QTCREATORBUG-31376](https://bugreports.qt.io/browse/QTCREATORBUG-31376))
|
||||||
|
|
||||||
|
Platforms
|
||||||
|
---------
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
* Fixed a crash when adding a Docker device while an application is running
|
||||||
|
on a Docker device
|
||||||
|
([QTCREATORBUG-31364](https://bugreports.qt.io/browse/QTCREATORBUG-31364))
|
||||||
|
|
||||||
|
Credits for these changes go to:
|
||||||
|
--------------------------------
|
||||||
|
Alessandro Portale
|
||||||
|
Alexandre Laurent
|
||||||
|
André Pönitz
|
||||||
|
Andrew Shark
|
||||||
|
Christian Kandeler
|
||||||
|
Christian Stenger
|
||||||
|
Cristian Adam
|
||||||
|
Eike Ziller
|
||||||
|
Leena Miettinen
|
||||||
|
Marco Bubke
|
||||||
|
Marcus Tillmanns
|
||||||
|
Mehdi Salem
|
||||||
9
dist/changelog/template.md
vendored
9
dist/changelog/template.md
vendored
@@ -5,10 +5,9 @@ Qt Creator version 13 contains bug fixes and new features.
|
|||||||
|
|
||||||
The most important changes are listed in this document. For a complete list of
|
The most important changes are listed in this document. For a complete list of
|
||||||
changes, see the Git log for the Qt Creator sources that you can check out from
|
changes, see the Git log for the Qt Creator sources that you can check out from
|
||||||
the public Git repository. For example:
|
the public Git repository or view online at
|
||||||
|
|
||||||
git clone git://code.qt.io/qt-creator/qt-creator.git
|
<https://code.qt.io/cgit/qt-creator/qt-creator.git/log/?id=12.0..v13.0.0>
|
||||||
git log --cherry-pick --pretty=oneline origin/12.0..v13.0.0
|
|
||||||
|
|
||||||
New plugins
|
New plugins
|
||||||
-----------
|
-----------
|
||||||
@@ -46,6 +45,8 @@ Editing
|
|||||||
|
|
||||||
### SCXML
|
### SCXML
|
||||||
|
|
||||||
|
### FakeVim
|
||||||
|
|
||||||
### Binary Files
|
### Binary Files
|
||||||
|
|
||||||
Projects
|
Projects
|
||||||
@@ -83,6 +84,8 @@ Analyzer
|
|||||||
|
|
||||||
### CTF Visualizer
|
### CTF Visualizer
|
||||||
|
|
||||||
|
### Valgrind
|
||||||
|
|
||||||
### Cppcheck
|
### Cppcheck
|
||||||
|
|
||||||
Terminal
|
Terminal
|
||||||
|
|||||||
@@ -170,7 +170,7 @@
|
|||||||
|
|
||||||
\image qtcreator-build-cmake-output.png {CMake output in Projects mode}
|
\image qtcreator-build-cmake-output.png {CMake output in Projects mode}
|
||||||
|
|
||||||
To clear the search results, select the \inlineimage icons/clean_pane_small.png
|
To clear the output from CMake, select the \inlineimage icons/clean_pane_small.png
|
||||||
(\uicontrol Clear) button.
|
(\uicontrol Clear) button.
|
||||||
|
|
||||||
You can enter a string in the \uicontrol Filter field to filter output.
|
You can enter a string in the \uicontrol Filter field to filter output.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// **********************************************************************
|
// **********************************************************************
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\previouspage creator-testing.html
|
\previouspage creator-configuring-projects.html
|
||||||
\page creator-debugging.html
|
\page creator-debugging.html
|
||||||
\nextpage creator-debugger-engines.html
|
\nextpage creator-debugger-engines.html
|
||||||
|
|
||||||
|
|||||||
@@ -469,7 +469,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page creator-how-to.html
|
\page creator-how-to-insert-multiple-cursors.html
|
||||||
\previouspage creator-how-tos.html
|
\previouspage creator-how-tos.html
|
||||||
|
|
||||||
\ingroup creator-how-to-edit
|
\ingroup creator-how-to-edit
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page creator-run-settings-\B2Q.html
|
\page creator-run-settings-b2qt.html
|
||||||
\previouspage creator-reference.html
|
\previouspage creator-reference.html
|
||||||
|
|
||||||
\ingroup creator-reference-run-configurations
|
\ingroup creator-reference-run-configurations
|
||||||
|
|||||||
@@ -2,9 +2,8 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\previouspage creator-project-creating.html
|
|
||||||
\page creator-how-to-select-build-system.html
|
\page creator-how-to-select-build-system.html
|
||||||
\nextpage creator-file-creating.html
|
\previouspage creator-how-tos.html
|
||||||
|
|
||||||
\ingroup creator-how-to-projects-create
|
\ingroup creator-how-to-projects-create
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
<value type="int" key="EditorConfiguration.TabSize">14</value>
|
<value type="int" key="EditorConfiguration.TabSize">14</value>
|
||||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
<value type="int">10</value>
|
<value type="int">10</value>
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<valuemap type="QVariantMap" key="CMakeSpecificSettings">
|
<valuemap type="QVariantMap" key="CMakeSpecificSettings">
|
||||||
|
|||||||
@@ -40,6 +40,24 @@ set(resource_files
|
|||||||
debugger/stdtypes.py
|
debugger/stdtypes.py
|
||||||
debugger/utils.py
|
debugger/utils.py
|
||||||
debugger/loadorder.txt
|
debugger/loadorder.txt
|
||||||
|
|
||||||
|
debugger-with-python2/qttypes.py
|
||||||
|
debugger-with-python2/personaltypes.py
|
||||||
|
debugger-with-python2/android_stdtypes.py
|
||||||
|
debugger-with-python2/README.txt
|
||||||
|
debugger-with-python2/gdbbridge.py
|
||||||
|
debugger-with-python2/cdbbridge.py
|
||||||
|
debugger-with-python2/lldbbridge.py
|
||||||
|
debugger-with-python2/misctypes.py
|
||||||
|
debugger-with-python2/opencvtypes.py
|
||||||
|
debugger-with-python2/libcpp_stdtypes.py
|
||||||
|
debugger-with-python2/creatortypes.py
|
||||||
|
debugger-with-python2/stdtypes.py
|
||||||
|
debugger-with-python2/gdbtracepoint.py
|
||||||
|
debugger-with-python2/utils.py
|
||||||
|
debugger-with-python2/boosttypes.py
|
||||||
|
debugger-with-python2/dumper.py
|
||||||
|
debugger-with-python2/pdbbridge.py
|
||||||
)
|
)
|
||||||
|
|
||||||
# copy resource directories during build
|
# copy resource directories during build
|
||||||
|
|||||||
@@ -288,8 +288,6 @@ class DumperBase():
|
|||||||
# A hack to cover most of the changes from Qt 5 to 6
|
# A hack to cover most of the changes from Qt 5 to 6
|
||||||
if version == 0x60000 and self.qtversionAtLeast6 is not None:
|
if version == 0x60000 and self.qtversionAtLeast6 is not None:
|
||||||
return self.qtversionAtLeast6
|
return self.qtversionAtLeast6
|
||||||
if version == 0x50000: # FIXME: This drops unknown 4.x for now
|
|
||||||
return True
|
|
||||||
return self.qtVersion() >= version
|
return self.qtVersion() >= version
|
||||||
|
|
||||||
def qtVersionPing(self, typeid, size_for_qt5=-1):
|
def qtVersionPing(self, typeid, size_for_qt5=-1):
|
||||||
@@ -496,7 +494,7 @@ class DumperBase():
|
|||||||
native_type = self.lookupNativeType(typename)
|
native_type = self.lookupNativeType(typename)
|
||||||
if native_type is None:
|
if native_type is None:
|
||||||
#sCANNOT DETERMINE SIZE FOR TYelf.dump_location()
|
#sCANNOT DETERMINE SIZE FOR TYelf.dump_location()
|
||||||
self.dump_location()
|
#self.dump_location()
|
||||||
self.warn("TYPEIDS: %s" % self.typeid_cache)
|
self.warn("TYPEIDS: %s" % self.typeid_cache)
|
||||||
self.warn("COULD NOT FIND TYPE '%s'" % typename)
|
self.warn("COULD NOT FIND TYPE '%s'" % typename)
|
||||||
return None
|
return None
|
||||||
@@ -1070,7 +1068,7 @@ class DumperBase():
|
|||||||
def check(self, exp):
|
def check(self, exp):
|
||||||
if not exp:
|
if not exp:
|
||||||
self.warn('Check failed: %s' % exp)
|
self.warn('Check failed: %s' % exp)
|
||||||
self.dump_location()
|
#self.dump_location()
|
||||||
raise RuntimeError('Check failed: %s' % exp)
|
raise RuntimeError('Check failed: %s' % exp)
|
||||||
|
|
||||||
def check_typeid(self, typeid):
|
def check_typeid(self, typeid):
|
||||||
@@ -3716,7 +3714,7 @@ typename))
|
|||||||
return size, typeid
|
return size, typeid
|
||||||
|
|
||||||
typeobj = self.lookupType(typename)
|
typeobj = self.lookupType(typename)
|
||||||
self.warn("LOOKUP FIELD TYPE: %s TYPEOBJ: %s" % (typename, typeobj))
|
#self.warn("LOOKUP FIELD TYPE: %s TYPEOBJ: %s" % (typename, typeobj))
|
||||||
if typeobj is not None:
|
if typeobj is not None:
|
||||||
typeid = typeobj.typeid
|
typeid = typeobj.typeid
|
||||||
size = self.type_size(typeid)
|
size = self.type_size(typeid)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ PaletteWindowText=ff000000
|
|||||||
PaletteWindowTextDisabled=PaletteTextDisabled
|
PaletteWindowTextDisabled=PaletteTextDisabled
|
||||||
PaletteBase=PaletteWindow
|
PaletteBase=PaletteWindow
|
||||||
PaletteBaseDisabled=PaletteWindowDisabled
|
PaletteBaseDisabled=PaletteWindowDisabled
|
||||||
PaletteAlternateBase=ff515151
|
PaletteAlternateBase=fff7f7f7
|
||||||
;PaletteAlternateBaseDisabled
|
;PaletteAlternateBaseDisabled
|
||||||
PaletteToolTipBase=PaletteDark
|
PaletteToolTipBase=PaletteDark
|
||||||
;PaletteToolTipBaseDisabled
|
;PaletteToolTipBaseDisabled
|
||||||
|
|||||||
@@ -11548,6 +11548,14 @@ Cela ne peut être annulé.</translation>
|
|||||||
<source>Cannot parse "%1".</source>
|
<source>Cannot parse "%1".</source>
|
||||||
<translation>Impossible d'analyser « %1 ».</translation>
|
<translation>Impossible d'analyser « %1 ».</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Android package installation finished with success.</source>
|
||||||
|
<translation>Installation du paquet Android terminée avec succès.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Android package installation failed.</source>
|
||||||
|
<translation>Échec lors de l'installation du paquet Android.</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Android package installation failed.
|
<source>Android package installation failed.
|
||||||
%1</source>
|
%1</source>
|
||||||
@@ -12873,7 +12881,7 @@ Exécutable : %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Skip throwing assertions</source>
|
<source>Skip throwing assertions</source>
|
||||||
<translation>Ignore les assertions</translation>
|
<translation>Ignorer les assertions</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Skips all assertions that test for thrown exceptions.</source>
|
<source>Skips all assertions that test for thrown exceptions.</source>
|
||||||
@@ -13024,7 +13032,7 @@ Exécutable : %2</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run disabled tests</source>
|
<source>Run disabled tests</source>
|
||||||
<translation>Exécute les tests désactivés</translation>
|
<translation>Exécuter les tests désactivés</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Executes disabled tests when performing a test run.</source>
|
<source>Executes disabled tests when performing a test run.</source>
|
||||||
@@ -13045,7 +13053,7 @@ Exécutable : %2</translation>
|
|||||||
<message>
|
<message>
|
||||||
<source>Throw on failure</source>
|
<source>Throw on failure</source>
|
||||||
<translatorcomment>GTest option gtest_throw_on_failure</translatorcomment>
|
<translatorcomment>GTest option gtest_throw_on_failure</translatorcomment>
|
||||||
<translation>Envoi d'une exception en cas d'échec</translation>
|
<translation>Envoyer une exception en cas d'échec</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Turns assertion failures into C++ exceptions.</source>
|
<source>Turns assertion failures into C++ exceptions.</source>
|
||||||
@@ -13220,7 +13228,7 @@ Voir la documentation de Google Test pour plus d'informations sur les filtr
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Disable crash handler while debugging</source>
|
<source>Disable crash handler while debugging</source>
|
||||||
<translation>Désactive le gestionnaire de plantage lors du débogage</translation>
|
<translation>Désactiver le gestionnaire de plantage lors du débogage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enables interrupting tests on assertions.</source>
|
<source>Enables interrupting tests on assertions.</source>
|
||||||
@@ -13228,7 +13236,7 @@ Voir la documentation de Google Test pour plus d'informations sur les filtr
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Use XML output</source>
|
<source>Use XML output</source>
|
||||||
<translation>Utilise la sortie XML</translation>
|
<translation>Utiliser la sortie XML</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>XML output is recommended, because it avoids parsing issues, while plain text is more human readable.<p>Warning: Plain text misses some information, such as duration.</source>
|
<source>XML output is recommended, because it avoids parsing issues, while plain text is more human readable.<p>Warning: Plain text misses some information, such as duration.</source>
|
||||||
@@ -13703,7 +13711,7 @@ Cela peut provoquer des problèmes lors de l'exécution.
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Automatically scroll results</source>
|
<source>Automatically scroll results</source>
|
||||||
<translation>Défile automatiquement les résultats</translation>
|
<translation>Faire défiler automatiquement les résultats</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Number of worker threads used when scanning for tests.</source>
|
<source>Number of worker threads used when scanning for tests.</source>
|
||||||
@@ -13723,7 +13731,7 @@ Cela peut provoquer des problèmes lors de l'exécution.
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Group results by application</source>
|
<source>Group results by application</source>
|
||||||
<translation>Regrouppe les résultats par application</translation>
|
<translation>Regrouper les résultats par application</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Process arguments</source>
|
<source>Process arguments</source>
|
||||||
@@ -13781,7 +13789,7 @@ Avertissement : fonctionnalité expérimentale pouvant entraîner un échec
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Automatically run</source>
|
<source>Automatically run</source>
|
||||||
<translation>Exécute automatiquement</translation>
|
<translation>Exécuter automatiquement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Active Test Frameworks</source>
|
<source>Active Test Frameworks</source>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Product {
|
|||||||
"android/**/*",
|
"android/**/*",
|
||||||
"cplusplus/**/*",
|
"cplusplus/**/*",
|
||||||
"debugger/**/*",
|
"debugger/**/*",
|
||||||
|
"debugger-with-python2/**/*",
|
||||||
"designer/**/*",
|
"designer/**/*",
|
||||||
"glsl/**/*",
|
"glsl/**/*",
|
||||||
"jsonschemas/**/*",
|
"jsonschemas/**/*",
|
||||||
@@ -36,6 +37,7 @@ Product {
|
|||||||
"qml-type-descriptions/qbs-bundle.json",
|
"qml-type-descriptions/qbs-bundle.json",
|
||||||
"qml-type-descriptions/qbs.qmltypes",
|
"qml-type-descriptions/qbs.qmltypes",
|
||||||
"debugger/**/__pycache__/*",
|
"debugger/**/__pycache__/*",
|
||||||
|
"debugger-with-python2/**/__pycache__/*",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IPlugin::ShutdownFlag
|
\enum ExtensionSystem::IPlugin::ShutdownFlag
|
||||||
|
|
||||||
This enum type holds whether the plugin is shut down synchronously or
|
This enum type holds whether the plugin is shut down synchronously or
|
||||||
asynchronously.
|
asynchronously.
|
||||||
|
|||||||
@@ -629,19 +629,19 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias CustomTask::Task
|
\typealias Tasking::CustomTask::Task
|
||||||
|
|
||||||
Type alias for the task type associated with the custom task's \c Adapter.
|
Type alias for the task type associated with the custom task's \c Adapter.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias CustomTask::Deleter
|
\typealias Tasking::CustomTask::Deleter
|
||||||
|
|
||||||
Type alias for the task's type deleter associated with the custom task's \c Adapter.
|
Type alias for the task's type deleter associated with the custom task's \c Adapter.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias CustomTask::TaskSetupHandler
|
\typealias Tasking::CustomTask::TaskSetupHandler
|
||||||
|
|
||||||
Type alias for \c std::function<SetupResult(Task &)>.
|
Type alias for \c std::function<SetupResult(Task &)>.
|
||||||
|
|
||||||
@@ -676,7 +676,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias CustomTask::TaskDoneHandler
|
\typealias Tasking::CustomTask::TaskDoneHandler
|
||||||
|
|
||||||
Type alias for \c std::function<DoneResult(const Task &, DoneWith)> or DoneResult.
|
Type alias for \c std::function<DoneResult(const Task &, DoneWith)> or DoneResult.
|
||||||
|
|
||||||
@@ -865,7 +865,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable nullItem
|
\variable Tasking::nullItem
|
||||||
|
|
||||||
A convenient global group's element indicating a no-op item.
|
A convenient global group's element indicating a no-op item.
|
||||||
|
|
||||||
@@ -883,7 +883,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable successItem
|
\variable Tasking::successItem
|
||||||
|
|
||||||
A convenient global executable element containing an empty, successful, synchronous task.
|
A convenient global executable element containing an empty, successful, synchronous task.
|
||||||
|
|
||||||
@@ -912,7 +912,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable errorItem
|
\variable Tasking::errorItem
|
||||||
|
|
||||||
A convenient global executable element containing an empty, erroneous, synchronous task.
|
A convenient global executable element containing an empty, erroneous, synchronous task.
|
||||||
|
|
||||||
@@ -941,7 +941,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable sequential
|
\variable Tasking::sequential
|
||||||
A convenient global group's element describing the sequential execution mode.
|
A convenient global group's element describing the sequential execution mode.
|
||||||
|
|
||||||
This is the default execution mode of the Group element.
|
This is the default execution mode of the Group element.
|
||||||
@@ -956,7 +956,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable parallel
|
\variable Tasking::parallel
|
||||||
A convenient global group's element describing the parallel execution mode.
|
A convenient global group's element describing the parallel execution mode.
|
||||||
|
|
||||||
All the direct child tasks of a group are started after the group is started,
|
All the direct child tasks of a group are started after the group is started,
|
||||||
@@ -967,7 +967,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable parallelIdealThreadCountLimit
|
\variable Tasking::parallelIdealThreadCountLimit
|
||||||
A convenient global group's element describing the parallel execution mode with a limited
|
A convenient global group's element describing the parallel execution mode with a limited
|
||||||
number of tasks running simultanously. The limit is equal to the ideal number of threads
|
number of tasks running simultanously. The limit is equal to the ideal number of threads
|
||||||
excluding the calling thread.
|
excluding the calling thread.
|
||||||
@@ -981,39 +981,39 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable stopOnError
|
\variable Tasking::stopOnError
|
||||||
A convenient global group's element describing the StopOnError workflow policy.
|
A convenient global group's element describing the StopOnError workflow policy.
|
||||||
|
|
||||||
This is the default workflow policy of the Group element.
|
This is the default workflow policy of the Group element.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable continueOnError
|
\variable Tasking::continueOnError
|
||||||
A convenient global group's element describing the ContinueOnError workflow policy.
|
A convenient global group's element describing the ContinueOnError workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable stopOnSuccess
|
\variable Tasking::stopOnSuccess
|
||||||
A convenient global group's element describing the StopOnSuccess workflow policy.
|
A convenient global group's element describing the StopOnSuccess workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable continueOnSuccess
|
\variable Tasking::continueOnSuccess
|
||||||
A convenient global group's element describing the ContinueOnSuccess workflow policy.
|
A convenient global group's element describing the ContinueOnSuccess workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable stopOnSuccessOrError
|
\variable Tasking::stopOnSuccessOrError
|
||||||
A convenient global group's element describing the StopOnSuccessOrError workflow policy.
|
A convenient global group's element describing the StopOnSuccessOrError workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable finishAllAndSuccess
|
\variable Tasking::finishAllAndSuccess
|
||||||
A convenient global group's element describing the FinishAllAndSuccess workflow policy.
|
A convenient global group's element describing the FinishAllAndSuccess workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\variable finishAllAndError
|
\variable Tasking::finishAllAndError
|
||||||
A convenient global group's element describing the FinishAllAndError workflow policy.
|
A convenient global group's element describing the FinishAllAndError workflow policy.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1104,7 +1104,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias GroupItem::GroupSetupHandler
|
\typealias Tasking::GroupItem::GroupSetupHandler
|
||||||
|
|
||||||
Type alias for \c std::function<SetupResult()>.
|
Type alias for \c std::function<SetupResult()>.
|
||||||
|
|
||||||
@@ -1134,7 +1134,7 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias GroupItem::GroupDoneHandler
|
\typealias Tasking::GroupItem::GroupDoneHandler
|
||||||
|
|
||||||
Type alias for \c std::function<DoneResult(DoneWith)> or DoneResult.
|
Type alias for \c std::function<DoneResult(DoneWith)> or DoneResult.
|
||||||
|
|
||||||
@@ -3607,13 +3607,13 @@ void TimeoutTaskAdapter::start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias TaskTreeTask
|
\typealias Tasking::TaskTreeTask
|
||||||
|
|
||||||
Type alias for the CustomTask, to be used inside recipes, associated with the TaskTree task.
|
Type alias for the CustomTask, to be used inside recipes, associated with the TaskTree task.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typealias TimeoutTask
|
\typealias Tasking::TimeoutTask
|
||||||
|
|
||||||
Type alias for the CustomTask, to be used inside recipes, associated with the
|
Type alias for the CustomTask, to be used inside recipes, associated with the
|
||||||
\c std::chrono::milliseconds type. \c std::chrono::milliseconds is used to set up the
|
\c std::chrono::milliseconds type. \c std::chrono::milliseconds is used to set up the
|
||||||
|
|||||||
@@ -93,12 +93,12 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typedef QrcParser::Ptr
|
\typedef Utils::QrcParser::Ptr
|
||||||
Represents pointers.
|
Represents pointers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\typedef QrcParser::ConstPtr
|
\typedef Utils::QrcParser::ConstPtr
|
||||||
Represents constant pointers.
|
Represents constant pointers.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -216,9 +216,9 @@ TextFileFormat::ReadResult readTextFile(const FilePath &filePath, const QTextCod
|
|||||||
Reads a text file from \a filePath into a list of strings, \a plainTextList
|
Reads a text file from \a filePath into a list of strings, \a plainTextList
|
||||||
using \a defaultCodec and text file format \a format.
|
using \a defaultCodec and text file format \a format.
|
||||||
|
|
||||||
Returns whether decoding was possible without errors. If errors occur,
|
Returns whether decoding was possible without errors. If an errors occur
|
||||||
returns an error message, \a errorString and a sample error,
|
\a errorString is set to the error message, and \a decodingErrorSample is
|
||||||
\a decodingErrorSample.
|
set to a snippet that failed to decode.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TextFileFormat::ReadResult
|
TextFileFormat::ReadResult
|
||||||
@@ -239,8 +239,9 @@ TextFileFormat::ReadResult
|
|||||||
Reads a text file from \a filePath into a string, \a plainText using
|
Reads a text file from \a filePath into a string, \a plainText using
|
||||||
\a defaultCodec and text file format \a format.
|
\a defaultCodec and text file format \a format.
|
||||||
|
|
||||||
Returns whether decoding was possible without errors.
|
Returns whether decoding was possible without errors. If an errors occur
|
||||||
|
\a errorString is set to the error message, and \a decodingErrorSample is
|
||||||
|
set to a snippet that failed to decode.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
TextFileFormat::ReadResult
|
TextFileFormat::ReadResult
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ static QList<LinkWithColumns> linksForIssue(const std::map<QString, Dto::Any> &i
|
|||||||
const QString &line) {
|
const QString &line) {
|
||||||
QList<int> columns;
|
QList<int> columns;
|
||||||
auto it = issueRow.find(path);
|
auto it = issueRow.find(path);
|
||||||
if (it != end) {
|
if (it != end && !it->second.isNull()) {
|
||||||
Link link{ FilePath::fromUserInput(it->second.getString()) };
|
Link link{ FilePath::fromUserInput(it->second.getString()) };
|
||||||
columns.append(findColumn(it->first));
|
columns.append(findColumn(it->first));
|
||||||
it = issueRow.find(line);
|
it = issueRow.find(line);
|
||||||
|
|||||||
@@ -617,10 +617,10 @@ void CMakeBuildSettingsWidget::reconfigureWithInitialParameters()
|
|||||||
if (reply != QMessageBox::Yes)
|
if (reply != QMessageBox::Yes)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_buildConfig->cmakeBuildSystem()->clearCMakeCache();
|
|
||||||
|
|
||||||
updateInitialCMakeArguments();
|
updateInitialCMakeArguments();
|
||||||
|
|
||||||
|
m_buildConfig->cmakeBuildSystem()->clearCMakeCache();
|
||||||
|
|
||||||
if (ProjectExplorerPlugin::saveModifiedFiles())
|
if (ProjectExplorerPlugin::saveModifiedFiles())
|
||||||
m_buildConfig->cmakeBuildSystem()->runCMake();
|
m_buildConfig->cmakeBuildSystem()->runCMake();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1240,6 +1240,11 @@ void CMakeBuildSystem::clearCMakeCache()
|
|||||||
path.removeRecursively();
|
path.removeRecursively();
|
||||||
|
|
||||||
emit configurationCleared();
|
emit configurationCleared();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMakeBuildSystem::disableCMakeBuildMenuActions()
|
||||||
|
{
|
||||||
|
emitParsingStarted();
|
||||||
emitParsingFinished(false);
|
emitParsingFinished(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ public:
|
|||||||
|
|
||||||
bool persistCMakeState();
|
bool persistCMakeState();
|
||||||
void clearCMakeCache();
|
void clearCMakeCache();
|
||||||
|
void disableCMakeBuildMenuActions();
|
||||||
|
|
||||||
// Context menu actions:
|
// Context menu actions:
|
||||||
void buildCMakeTarget(const QString &buildTarget);
|
void buildCMakeTarget(const QString &buildTarget);
|
||||||
|
|||||||
@@ -263,6 +263,7 @@ void CMakeManager::clearCMakeCache(BuildSystem *buildSystem)
|
|||||||
QTC_ASSERT(cmakeBuildSystem, return);
|
QTC_ASSERT(cmakeBuildSystem, return);
|
||||||
|
|
||||||
cmakeBuildSystem->clearCMakeCache();
|
cmakeBuildSystem->clearCMakeCache();
|
||||||
|
cmakeBuildSystem->disableCMakeBuildMenuActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMakeManager::runCMake(BuildSystem *buildSystem)
|
void CMakeManager::runCMake(BuildSystem *buildSystem)
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ using namespace Internal;
|
|||||||
* name.
|
* name.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*! \enum ReadOnlyFilesDialog::ReadOnlyResult
|
/*! \enum Core::ReadOnlyFilesDialog::ReadOnlyResult
|
||||||
This enum holds the operations that are allowed to make the file writable.
|
This enum holds the operations that are allowed to make the file writable.
|
||||||
|
|
||||||
\value RO_Cancel
|
\value RO_Cancel
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ void EditorManagerPlaceHolder::showEvent(QShowEvent *)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum EditorManager::OpenEditorFlag
|
\enum Core::EditorManager::OpenEditorFlag
|
||||||
|
|
||||||
This enum specifies settings for opening a file in an editor.
|
This enum specifies settings for opening a file in an editor.
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IDocument::OpenResult
|
\enum Core::IDocument::OpenResult
|
||||||
|
|
||||||
The OpenResult enum describes whether a file was successfully opened.
|
The OpenResult enum describes whether a file was successfully opened.
|
||||||
|
|
||||||
@@ -87,13 +87,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IDocument::ReloadSetting
|
\enum Core::IDocument::ReloadSetting
|
||||||
|
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IDocument::ChangeTrigger
|
\enum Core::IDocument::ChangeTrigger
|
||||||
|
|
||||||
The ChangeTrigger enum describes whether a file was changed from \QC
|
The ChangeTrigger enum describes whether a file was changed from \QC
|
||||||
internally or from the outside.
|
internally or from the outside.
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IDocument::ChangeType
|
\enum Core::IDocument::ChangeType
|
||||||
|
|
||||||
The ChangeType enum describes the way in which the file changed.
|
The ChangeType enum describes the way in which the file changed.
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IDocument::ReloadFlag
|
\enum Core::IDocument::ReloadFlag
|
||||||
|
|
||||||
The ReloadFlag enum describes if a file should be reloaded from disk.
|
The ReloadFlag enum describes if a file should be reloaded from disk.
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\property IMode::enabled
|
\property Core::IMode::enabled
|
||||||
|
|
||||||
This property holds whether the mode is enabled.
|
This property holds whether the mode is enabled.
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\property IMode::displayName
|
\property Core::IMode::displayName
|
||||||
|
|
||||||
This property holds the display name of the mode.
|
This property holds the display name of the mode.
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\property IMode::icon
|
\property Core::IMode::icon
|
||||||
|
|
||||||
This property holds the icon of the mode.
|
This property holds the icon of the mode.
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\property IMode::priority
|
\property Core::IMode::priority
|
||||||
|
|
||||||
This property holds the priority of the mode.
|
This property holds the priority of the mode.
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\property IMode::id
|
\property Core::IMode::id
|
||||||
|
|
||||||
This property holds the ID of the mode.
|
This property holds the ID of the mode.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace Core {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\enum IOutputPane::Flag
|
\enum Core::IOutputPane::Flag
|
||||||
|
|
||||||
This enum type controls the behavior of the output pane when it is requested to show itself.
|
This enum type controls the behavior of the output pane when it is requested to show itself.
|
||||||
|
|
||||||
|
|||||||
@@ -884,7 +884,8 @@ void ILocatorFilter::setConfigurable(bool configurable)
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
Shows the standard configuration dialog with options for the prefix string
|
Shows the standard configuration dialog with options for the prefix string
|
||||||
and for isIncludedByDefault(). The \a additionalWidget is added at the top.
|
and for isIncludedByDefault(). \a parent is used as the dialog's parent.
|
||||||
|
The \a additionalWidget is added at the top.
|
||||||
Ownership of \a additionalWidget stays with the caller, but its parent is
|
Ownership of \a additionalWidget stays with the caller, but its parent is
|
||||||
reset to \c nullptr.
|
reset to \c nullptr.
|
||||||
|
|
||||||
|
|||||||
@@ -472,6 +472,9 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T
|
|||||||
case T_UTF8_STRING_LITERAL:
|
case T_UTF8_STRING_LITERAL:
|
||||||
case T_UTF16_STRING_LITERAL:
|
case T_UTF16_STRING_LITERAL:
|
||||||
case T_UTF32_STRING_LITERAL:
|
case T_UTF32_STRING_LITERAL:
|
||||||
|
case T_WIDE_CHAR_LITERAL:
|
||||||
|
case T_UTF16_CHAR_LITERAL:
|
||||||
|
case T_UTF32_CHAR_LITERAL:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (!tk.userDefinedLiteral()) { // Simple case: No prefix, no suffix.
|
if (!tk.userDefinedLiteral()) { // Simple case: No prefix, no suffix.
|
||||||
@@ -481,16 +484,17 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char quote = tk.isStringLiteral() ? '"' : '\'';
|
||||||
int stringOffset = 0;
|
int stringOffset = 0;
|
||||||
if (!tk.f.joined) {
|
if (!tk.f.joined) {
|
||||||
stringOffset = text.indexOf('"', tk.utf16charsBegin());
|
stringOffset = text.indexOf(quote, tk.utf16charsBegin());
|
||||||
QTC_ASSERT(stringOffset > 0, return);
|
QTC_ASSERT(stringOffset > 0, return);
|
||||||
setFormat(tk.utf16charsBegin(), stringOffset - tk.utf16charsBegin(),
|
setFormat(tk.utf16charsBegin(), stringOffset - tk.utf16charsBegin(),
|
||||||
formatForCategory(C_KEYWORD));
|
formatForCategory(C_KEYWORD));
|
||||||
}
|
}
|
||||||
int operatorOffset = tk.utf16charsBegin() + tk.utf16chars();
|
int operatorOffset = tk.utf16charsBegin() + tk.utf16chars();
|
||||||
if (tk.userDefinedLiteral()) {
|
if (tk.userDefinedLiteral()) {
|
||||||
const int closingQuoteOffset = text.lastIndexOf('"', operatorOffset);
|
const int closingQuoteOffset = text.lastIndexOf(quote, operatorOffset);
|
||||||
QTC_ASSERT(closingQuoteOffset >= tk.utf16charsBegin(), return);
|
QTC_ASSERT(closingQuoteOffset >= tk.utf16charsBegin(), return);
|
||||||
operatorOffset = closingQuoteOffset + 1;
|
operatorOffset = closingQuoteOffset + 1;
|
||||||
}
|
}
|
||||||
@@ -498,7 +502,10 @@ void CppHighlighter::highlightStringLiteral(QStringView text, const CPlusPlus::T
|
|||||||
formatForCategory(C_STRING));
|
formatForCategory(C_STRING));
|
||||||
if (const int operatorLength = tk.utf16charsBegin() + tk.utf16chars() - operatorOffset;
|
if (const int operatorLength = tk.utf16charsBegin() + tk.utf16chars() - operatorOffset;
|
||||||
operatorLength > 0) {
|
operatorLength > 0) {
|
||||||
setFormat(operatorOffset, operatorLength, formatForCategory(C_OPERATOR));
|
setFormat(
|
||||||
|
operatorOffset,
|
||||||
|
operatorLength,
|
||||||
|
formatForCategory(tk.userDefinedLiteral() ? C_OVERLOADED_OPERATOR : C_OPERATOR));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,6 +634,12 @@ private slots:
|
|||||||
<< 49 << 1 << 49 << 1 << C_STRING;
|
<< 49 << 1 << 49 << 1 << C_STRING;
|
||||||
QTest::newRow("multi-line raw string literal with consecutive closing parens (suffix)")
|
QTest::newRow("multi-line raw string literal with consecutive closing parens (suffix)")
|
||||||
<< 49 << 2 << 49 << 3 << C_KEYWORD;
|
<< 49 << 2 << 49 << 3 << C_KEYWORD;
|
||||||
|
QTest::newRow("wide char literal with user-defined suffix (prefix)")
|
||||||
|
<< 73 << 16 << 73 << 16 << C_KEYWORD;
|
||||||
|
QTest::newRow("wide char literal with user-defined suffix (content)")
|
||||||
|
<< 73 << 17 << 73 << 18 << C_STRING;
|
||||||
|
QTest::newRow("wide char literal with user-defined suffix (suffix)")
|
||||||
|
<< 73 << 20 << 73 << 22 << C_OVERLOADED_OPERATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
void test()
|
void test()
|
||||||
|
|||||||
@@ -68,3 +68,6 @@ static void parenTest2()
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wchar_t operator ""_wc(const wchar_t c) { return c; }
|
||||||
|
const auto c = L'c'_wc;
|
||||||
|
|||||||
@@ -185,6 +185,7 @@ void TypeHierarchyBuilder::buildDerived(const std::optional<QFuture<void>> &futu
|
|||||||
return;
|
return;
|
||||||
Document::Ptr doc = snapshot.document(fileName);
|
Document::Ptr doc = snapshot.document(fileName);
|
||||||
if ((_candidates.contains(fileName) && !_candidates.value(fileName).contains(symbolName))
|
if ((_candidates.contains(fileName) && !_candidates.value(fileName).contains(symbolName))
|
||||||
|
|| !symbol->identifier()
|
||||||
|| !doc->control()->findIdentifier(symbol->identifier()->chars(),
|
|| !doc->control()->findIdentifier(symbol->identifier()->chars(),
|
||||||
symbol->identifier()->size())) {
|
symbol->identifier()->size())) {
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -1827,6 +1827,7 @@ bool WatchModel::contextMenuEvent(const ItemViewEvent &ev)
|
|||||||
menu->addAction(s.settingsDialog.action());
|
menu->addAction(s.settingsDialog.action());
|
||||||
|
|
||||||
// useDebuggingHelpers/useDynamicType have no auto-apply, but need to be persisted on triggered
|
// useDebuggingHelpers/useDynamicType have no auto-apply, but need to be persisted on triggered
|
||||||
|
connect(this, &WatchModel::dataChanged, menu, &QMenu::close);
|
||||||
connect(debugHelperAction, &QAction::triggered,
|
connect(debugHelperAction, &QAction::triggered,
|
||||||
&s.useDebuggingHelpers, &BoolAspect::writeSettings, Qt::UniqueConnection);
|
&s.useDebuggingHelpers, &BoolAspect::writeSettings, Qt::UniqueConnection);
|
||||||
connect(dynamicTypeAction, &QAction::triggered,
|
connect(dynamicTypeAction, &QAction::triggered,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
#include "formwindowfile.h"
|
#include "formwindowfile.h"
|
||||||
|
#include "qtcreatorintegration.h"
|
||||||
#include "designerconstants.h"
|
#include "designerconstants.h"
|
||||||
#include "resourcehandler.h"
|
#include "resourcehandler.h"
|
||||||
|
|
||||||
@@ -230,6 +231,10 @@ bool FormWindowFile::writeFile(const Utils::FilePath &filePath, QString *errorSt
|
|||||||
{
|
{
|
||||||
if (Designer::Constants::Internal::debug)
|
if (Designer::Constants::Internal::debug)
|
||||||
qDebug() << Q_FUNC_INFO << this->filePath() << filePath;
|
qDebug() << Q_FUNC_INFO << this->filePath() << filePath;
|
||||||
|
auto *integration = qobject_cast<QtCreatorIntegration *>(m_formWindow->core()->integration());
|
||||||
|
Q_ASSERT(integration);
|
||||||
|
if (!integration->setQtVersionFromFile(filePath))
|
||||||
|
integration->resetQtVersion();
|
||||||
return write(filePath, format(), m_formWindow->contents(), errorString);
|
return write(filePath, format(), m_formWindow->contents(), errorString);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,8 @@
|
|||||||
#include <texteditor/texteditor.h>
|
#include <texteditor/texteditor.h>
|
||||||
#include <texteditor/textdocument.h>
|
#include <texteditor/textdocument.h>
|
||||||
|
|
||||||
|
#include <qtsupport/qtkitaspect.h>
|
||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
#include <utils/fileutils.h>
|
#include <utils/fileutils.h>
|
||||||
#include <utils/mimeutils.h>
|
#include <utils/mimeutils.h>
|
||||||
@@ -45,16 +47,20 @@
|
|||||||
#include <utils/temporaryfile.h>
|
#include <utils/temporaryfile.h>
|
||||||
|
|
||||||
#include <QDesignerFormWindowInterface>
|
#include <QDesignerFormWindowInterface>
|
||||||
|
#include <QDesignerFormWindowManagerInterface>
|
||||||
#include <QDesignerFormEditorInterface>
|
#include <QDesignerFormEditorInterface>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
#include <QLibraryInfo>
|
||||||
#include <QLoggingCategory>
|
#include <QLoggingCategory>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
|
#include <QVersionNumber>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <optional>
|
||||||
|
|
||||||
Q_LOGGING_CATEGORY(log, "qtc.designer", QtWarningMsg);
|
Q_LOGGING_CATEGORY(log, "qtc.designer", QtWarningMsg);
|
||||||
|
|
||||||
@@ -84,6 +90,17 @@ static void reportRenamingError(const QString &oldName, const QString &reason)
|
|||||||
.arg(oldName, reason));
|
.arg(oldName, reason));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::optional<QVersionNumber> qtVersionFromProject(const Project *project)
|
||||||
|
{
|
||||||
|
if (const auto *target = project->activeTarget()) {
|
||||||
|
if (const auto *kit = target->kit(); kit->isValid()) {
|
||||||
|
if (const auto *qtVersion = QtSupport::QtKitAspect::qtVersion(kit))
|
||||||
|
return qtVersion->qtVersion();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
class QtCreatorIntegration::Private
|
class QtCreatorIntegration::Private
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -143,6 +160,10 @@ QtCreatorIntegration::QtCreatorIntegration(QDesignerFormEditorInterface *core, Q
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
auto *fwm = core->formWindowManager();
|
||||||
|
connect(fwm, &QDesignerFormWindowManagerInterface::activeFormWindowChanged,
|
||||||
|
this, &QtCreatorIntegration::slotActiveFormWindowChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
QtCreatorIntegration::~QtCreatorIntegration()
|
QtCreatorIntegration::~QtCreatorIntegration()
|
||||||
@@ -433,6 +454,40 @@ static ClassDocumentPtrPair
|
|||||||
return ClassDocumentPtrPair(0, Document::Ptr());
|
return ClassDocumentPtrPair(0, Document::Ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QtCreatorIntegration::slotActiveFormWindowChanged(QDesignerFormWindowInterface *formWindow)
|
||||||
|
{
|
||||||
|
if (formWindow == nullptr
|
||||||
|
|| !setQtVersionFromFile(Utils::FilePath::fromString(formWindow->fileName()))) {
|
||||||
|
resetQtVersion();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the file's Qt version on the integration for Qt Designer to write
|
||||||
|
// it out in the appropriate format (PYSIDE-2492, scoped enum support).
|
||||||
|
bool QtCreatorIntegration::setQtVersionFromFile(const Utils::FilePath &filePath)
|
||||||
|
{
|
||||||
|
if (const auto *uiProject = ProjectManager::projectForFile(filePath)) {
|
||||||
|
if (auto versionOpt = qtVersionFromProject(uiProject)) {
|
||||||
|
setQtVersion(versionOpt.value());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
|
||||||
|
// FIXME: To be replaced by a real property setter on QDesignerIntegration
|
||||||
|
void QtCreatorIntegration::setQtVersion(const QVersionNumber &version)
|
||||||
|
{
|
||||||
|
setProperty("qtVersion", QVariant::fromValue(version));
|
||||||
|
}
|
||||||
|
#endif // < 6.9
|
||||||
|
|
||||||
|
void QtCreatorIntegration::resetQtVersion()
|
||||||
|
{
|
||||||
|
setQtVersion(QLibraryInfo::version());
|
||||||
|
}
|
||||||
|
|
||||||
void QtCreatorIntegration::slotNavigateToSlot(const QString &objectName, const QString &signalSignature,
|
void QtCreatorIntegration::slotNavigateToSlot(const QString &objectName, const QString &signalSignature,
|
||||||
const QStringList ¶meterNames)
|
const QStringList ¶meterNames)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,8 +8,11 @@
|
|||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QUrl;
|
class QUrl;
|
||||||
|
class QVersionNumber;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
namespace Utils { class FilePath; }
|
||||||
|
|
||||||
namespace Designer {
|
namespace Designer {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
@@ -27,10 +30,14 @@ public:
|
|||||||
|
|
||||||
void updateSelection() override;
|
void updateSelection() override;
|
||||||
|
|
||||||
|
bool setQtVersionFromFile(const Utils::FilePath &filePath);
|
||||||
|
void resetQtVersion();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void creatorHelpRequested(const QUrl &url);
|
void creatorHelpRequested(const QUrl &url);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void slotActiveFormWindowChanged(QDesignerFormWindowInterface *formWindow);
|
||||||
void slotNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
void slotNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
||||||
void slotDesignerHelpRequested(const QString &manual, const QString &document);
|
void slotDesignerHelpRequested(const QString &manual, const QString &document);
|
||||||
void slotSyncSettingsToDesigner();
|
void slotSyncSettingsToDesigner();
|
||||||
@@ -44,6 +51,10 @@ private:
|
|||||||
void handleSymbolRenameStage2(QDesignerFormWindowInterface *formWindow,
|
void handleSymbolRenameStage2(QDesignerFormWindowInterface *formWindow,
|
||||||
const QString &newName, const QString &oldName);
|
const QString &newName, const QString &oldName);
|
||||||
|
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
|
||||||
|
void setQtVersion(const QVersionNumber &version);
|
||||||
|
#endif
|
||||||
|
|
||||||
class Private;
|
class Private;
|
||||||
Private * const d;
|
Private * const d;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ FakeVimSettings::FakeVimSettings()
|
|||||||
tabStop.setToolTip(Tr::tr("Vim tabstop option."));
|
tabStop.setToolTip(Tr::tr("Vim tabstop option."));
|
||||||
|
|
||||||
#ifndef FAKEVIM_STANDALONE
|
#ifndef FAKEVIM_STANDALONE
|
||||||
|
tabStop.setRange(1, 99);
|
||||||
backspace.setDisplayStyle(FvStringAspect::LineEditDisplay);
|
backspace.setDisplayStyle(FvStringAspect::LineEditDisplay);
|
||||||
isKeyword.setDisplayStyle(FvStringAspect::LineEditDisplay);
|
isKeyword.setDisplayStyle(FvStringAspect::LineEditDisplay);
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ void setupFetchModule()
|
|||||||
Module()
|
Module()
|
||||||
{
|
{
|
||||||
setSettingsGroup("Lua.Fetch");
|
setSettingsGroup("Lua.Fetch");
|
||||||
|
setAutoApply(false);
|
||||||
|
|
||||||
pluginsAllowedToFetch.setSettingsKey("pluginsAllowedToFetch");
|
pluginsAllowedToFetch.setSettingsKey("pluginsAllowedToFetch");
|
||||||
pluginsAllowedToFetch.setLabelText("Plugins allowed to fetch data from the internet");
|
pluginsAllowedToFetch.setLabelText("Plugins allowed to fetch data from the internet");
|
||||||
|
|||||||
@@ -1140,6 +1140,7 @@ LinuxDevicePrivate::LinuxDevicePrivate(LinuxDevice *parent)
|
|||||||
|
|
||||||
LinuxDevicePrivate::~LinuxDevicePrivate()
|
LinuxDevicePrivate::~LinuxDevicePrivate()
|
||||||
{
|
{
|
||||||
|
QMutexLocker locker(&m_shellMutex);
|
||||||
auto closeShell = [this] {
|
auto closeShell = [this] {
|
||||||
m_shellThread.quit();
|
m_shellThread.quit();
|
||||||
m_shellThread.wait();
|
m_shellThread.wait();
|
||||||
|
|||||||
@@ -38,7 +38,14 @@ enum MemcheckError
|
|||||||
Leak_PossiblyLost,
|
Leak_PossiblyLost,
|
||||||
Leak_StillReachable,
|
Leak_StillReachable,
|
||||||
Leak_IndirectlyLost,
|
Leak_IndirectlyLost,
|
||||||
ReallocSizeZero
|
ReallocSizeZero,
|
||||||
|
InvalidSize,
|
||||||
|
InvalidSizeAndAlignment,
|
||||||
|
InvalidAlignment,
|
||||||
|
MismatchedAllocateDeallocateSize,
|
||||||
|
MismatchedAllocateDeallocateAlignment,
|
||||||
|
FishyValue,
|
||||||
|
// CoreMemError // questionable, seems to be unlikely to happen
|
||||||
};
|
};
|
||||||
Q_ENUM_NS(MemcheckError);
|
Q_ENUM_NS(MemcheckError);
|
||||||
|
|
||||||
|
|||||||
@@ -35,10 +35,12 @@ VcpkgSettings::VcpkgSettings()
|
|||||||
|
|
||||||
vcpkgRoot.setSettingsKey("VcpkgRoot");
|
vcpkgRoot.setSettingsKey("VcpkgRoot");
|
||||||
vcpkgRoot.setExpectedKind(PathChooser::ExistingDirectory);
|
vcpkgRoot.setExpectedKind(PathChooser::ExistingDirectory);
|
||||||
FilePath defaultPath = Environment::systemEnvironment().searchInPath(Constants::VCPKG_COMMAND)
|
FilePath defaultPath = FilePath::fromUserInput(
|
||||||
.parentDir();
|
qtcEnvironmentVariable(Constants::ENVVAR_VCPKG_ROOT));
|
||||||
|
|
||||||
if (!defaultPath.isDir())
|
if (!defaultPath.isDir())
|
||||||
defaultPath = FilePath::fromUserInput(qtcEnvironmentVariable(Constants::ENVVAR_VCPKG_ROOT));
|
defaultPath = Environment::systemEnvironment().searchInPath(Constants::VCPKG_COMMAND).parentDir();
|
||||||
|
|
||||||
if (defaultPath.isDir())
|
if (defaultPath.isDir())
|
||||||
vcpkgRoot.setDefaultPathValue(defaultPath);
|
vcpkgRoot.setDefaultPathValue(defaultPath);
|
||||||
|
|
||||||
|
|||||||
Submodule src/shared/qbs updated: 70e60671e7...34e91f7a5d
Reference in New Issue
Block a user