Merge remote-tracking branch 'origin/10.0' into qds/dev

Change-Id: Ifb5f580cfea7c0d166756938b013a338279d45d9
This commit is contained in:
Tim Jenssen
2023-05-04 15:32:11 +02:00
20 changed files with 186 additions and 73 deletions

View File

@@ -23,44 +23,41 @@ instructions:
ref: master
directory: "build/qtsdk"
userMessageOnFailure: "Failed to install qtsdk, check logs"
- type: ExecuteCommand
command: "python3 -m pip install pipenv==2022.4.8 --user"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 120
userMessageOnFailure: "Failed to install Pipenv"
- type: InstallSourceArchive
maxTimeInSeconds: 600
maxTimeBetweenOutput: 600
project: qtsdk/tqtc-qtsdk
ref: master
directory: "build/tqtc-qtsdk"
userMessageOnFailure: "Failed to install tqtc-qtsdk, check logs"
- type: Group
instructions:
- type: ExecuteCommand
command: python tqtc-qtsdk/jenkins-templates/jenkins/scripts/pkg_bootstrap.py
maxTimeInSeconds: 36000
maxTimeBetweenOutput: 3600
userMessageOnFailure: "pkg_bootstrap.py failed"
enable_if:
condition: property
property: host.os
in_values: [MacOS, Linux]
- type: ExecuteCommand
command: "python -m pip install pipenv==2022.4.8 --user"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 120
userMessageOnFailure: "Failed to install Pipenv"
condition: and
conditions:
- condition: property
property: host.os
equals_value: Windows
- type: Group
instructions:
- type: ExecuteCommand
command: python3 tqtc-qtsdk/jenkins-templates/jenkins/scripts/pkg_bootstrap.py
maxTimeInSeconds: 36000
maxTimeBetweenOutput: 3600
userMessageOnFailure: "pkg_bootstrap.py failed"
enable_if:
condition: property
property: host.os
equals_value: Windows
condition: and
conditions:
- condition: property
property: host.os
not_equals_value: Windows
- type: ChangeDirectory
directory: "{{.AgentWorkingDir}}/build/qtsdk/packaging-tools"
- type: ExecuteCommand
command: "python3 -m pipenv install --skip-lock"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 120
userMessageOnFailure: "Failed to install requirements from Pipfile"
enable_if:
condition: property
property: host.os
in_values: [MacOS, Linux]
- type: ExecuteCommand
command: "python -m pipenv install --skip-lock"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 120
userMessageOnFailure: "Failed to install requirements from Pipfile"
enable_if:
condition: property
property: host.os
equals_value: Windows
directory: "{{.BuildDir}}/qtsdk/packaging-tools"
- type: ExecuteCommand
command: "python3 -m pipenv run python -u install_qt.py --qt-path {{.BuildDir}}/qt_install_dir --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution

105
dist/changelog/changes-10.0.1.md vendored Normal file
View File

@@ -0,0 +1,105 @@
Qt Creator 10.0.1
=================
Qt Creator version 10.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:
git clone git://code.qt.io/qt-creator/qt-creator.git
git log --cherry-pick --pretty=oneline origin/v10.0.0..v10.0.1
General
-------
* Enabled example categories for Qt 6.5.1 and later
Editing
-------
* Fixed layout issues in the editor toolbar (QTCREATORBUG-28765)
### C++
* Clangd
* Fixed the renaming of macros and namespaces
* Fixed that renaming appended `_new` to the replacement by default
(QTCREATORBUG-28321, QTCREATORBUG-28910)
* Fixed that Cuda files were not passed to Clangd (QTCREATORBUG-28984)
* Clang Format
* Fixed the formatting for advanced C++ (QTCREATORBUG-29033)
* Fixed the updating of the coding style preview (QTCREATORBUG-29043)
* Fixed the indentation of `QML_*` macros (QTCREATORBUG-29086)
### QML
* Fixed a crash when trying to open non-existing `.qml` files
(QTCREATORBUG-29021)
Projects
--------
* Re-added a Qt Quick Application wizard that works with Qt 5 and other build
systems than CMake
* Fixed that additional empty lines could be added to files created by wizards
(QTCREATORBUG-29040)
### CMake
* Added missing `RUNTIME DESTINATION` properties to the `install` commands of
wizard-generated projects (QTCREATORBUG-28999)
* Fixed that macros were not expanded for all configure cache variables
(QTCREATORBUG-28982)
* Fixed switching from `.c` files to their header (QTCREATORBUG-28991)
* Presets
* Fixed that boolean values for cache variables were interpreted as string
values (QTCREATORBUG-29078)
* Fixed inheritance over multiple levels
(QTCREATORBUG-29076)
Debugging
---------
### Clang
* Fixed the pretty printers of `std::string` for Clang 15 and later
Analyzer
--------
### Clang
* Fixed starting Clazy and Clang-Tidy while a build is running
(QTCREATORBUG-29044)
Platforms
---------
### Android
* Fixed that changes to the `JDK Location` did not take effect immediately
(QTCREATORBUG-28827)
* Fixed debugging on Android Automotive devices (QTCREATORBUG-28851)
Credits for these changes go to:
--------------------------------
Alessandro Portale
Artem Sokolovskii
Christian Kandeler
Christian Stenger
Cristian Adam
David Schulz
Eike Ziller
Haowei Hsu
Jaroslaw Kobus
Jussi Witick
Leena Miettinen
Marcus Tillmanns
Orgad Shaneh
Patrik Teivonen
Robert Löhning
Sivert Krøvel
Thiago Macieira
Ulf Hermann
Zoltan Gera

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -75,6 +75,10 @@
\image qtcreator-project-qt-quick.webp {New Project dialog}
\note To use \l qmake as the build system, develop with Qt 5,
or add translations to the application, select
\uicontrol {Qt Quick Application (compat)}.
\li In the \uicontrol {Project Location} dialog, \uicontrol Name field,
enter a name for the project. Keep in mind that you cannot easily
change the project name later.
@@ -93,8 +97,8 @@
\QDS, select \uicontrol {Create a project that you can open in \QDS}.
\li In the \uicontrol {Build system} field, select the build system to
use for building and running the project: \l qmake,
\l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}.
use for building and running the project: \l {Setting Up CMake}
{CMake} or \l {Setting Up Qbs}{Qbs}.
\li Select \uicontrol Next to open the
\uicontrol {Define Project Details} dialog.

View File

@@ -30,8 +30,8 @@
{CMake} as the build system to use for building and running the
project.
\note If you select \l qmake, the instructions for configuring the
project won't apply.
\note If you select \l {Setting Up Qbs}{Qbs}, the instructions for
configuring the project won't apply.
\li Select \uicontrol Next to open the
\uicontrol {Define Project Details} dialog.

View File

@@ -15,8 +15,8 @@
\title Creating a Qt Widget Based Application
This tutorial describes how to use \QC to create a small Qt application,
Text Finder. It is a simplified version of the Qt UI Tools \l{Text Finder
Example}. We use \QD to construct the application user interface from
Text Finder. It is a simplified version of the Qt UI Tools \l{Text Finder}
example. You'll use \QD to construct the application user interface from
Qt widgets and the code editor to write the application logic in C++.
\image qtcreator-textfinder-screenshot.png

View File

@@ -17,6 +17,7 @@
( '%{IncludeQMainWindow}' ) ? 'QtWidgets/%{IncludeQMainWindow}' : '',
( '%{IncludeQDeclarativeItem}' ) ? 'QtQuick1/%{IncludeQDeclarativeItem}' : '',
( '%{IncludeQQuickItem}' ) ? 'QtDeclarative/%{IncludeQQuickItem}' : '',
( '%{AddQmlElementMacro}' && !'%{IncludeQQuickItem}' ) ? 'QtQml/QQmlEngine' : '',
( '%{IncludeQSharedData}' ) ? 'QtCore/QSharedDataPointer' : '' ])}\
%{JS: Cpp.openNamespaces('%{Class}')}
@if '%{IncludeQSharedData}'

View File

@@ -5512,7 +5512,7 @@ Add, modify, and remove document filters, which determine the documentation set
</message>
<message>
<source>Hide Sidebar</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Increase Font Size</source>
@@ -13006,11 +13006,11 @@ For qmlproject projects, use the importPaths property to add import paths.</sour
</message>
<message>
<source>Toggle &amp;Left Sidebar</source>
<translation>(&amp;L)</translation>
<translation>(&amp;L)</translation>
</message>
<message>
<source>Toggle &amp;Right Sidebar</source>
<translation>(&amp;R)</translation>
<translation>(&amp;R)</translation>
</message>
<message>
<source>Projects</source>
@@ -14917,11 +14917,11 @@ Ids must begin with a lowercase letter.</source>
</message>
<message>
<source>Hide Sidebar</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>Show Sidebar</source>
<translation></translation>
<translation></translation>
</message>
</context>
<context>
@@ -15671,7 +15671,7 @@ instead of its installation directory when run outside git bash.</source>
<name>QtC::Help</name>
<message>
<source>Show Sidebar</source>
<translation></translation>
<translation></translation>
</message>
<message>
<source>Qt Creator Offline Help</source>

View File

@@ -1267,20 +1267,16 @@ std::unique_ptr<AssistInterface> CppEditorWidget::createAssistInterface(AssistKi
if (cap)
return cap->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason);
else {
if (isOldStyleSignalOrSlot())
return CppModelManager::instance()
->completionAssistProvider()
->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason);
return TextEditorWidget::createAssistInterface(kind, reason);
if (isOldStyleSignalOrSlot()) {
return CppModelManager::instance()
->completionAssistProvider()
->createAssistInterface(textDocument()->filePath(), this, getFeatures(), reason);
}
} else if (kind == QuickFix) {
if (isSemanticInfoValid())
return std::make_unique<CppQuickFixInterface>(const_cast<CppEditorWidget *>(this), reason);
} else {
return TextEditorWidget::createAssistInterface(kind, reason);
}
return nullptr;
if (kind == QuickFix && isSemanticInfoValid())
return std::make_unique<CppQuickFixInterface>(const_cast<CppEditorWidget *>(this), reason);
return TextEditorWidget::createAssistInterface(kind, reason);
}
QSharedPointer<FunctionDeclDefLink> CppEditorWidget::declDefLink() const

View File

@@ -149,7 +149,8 @@ QTextCursor CppQuickFixInterface::adjustedCursor()
QuickFixOperations quickFixOperations(const TextEditor::AssistInterface *interface)
{
const auto cppInterface = dynamic_cast<const CppQuickFixInterface *>(interface);
QTC_ASSERT(cppInterface, return {});
if (!cppInterface)
return {};
QuickFixOperations quickFixes;
for (CppQuickFixFactory *factory : CppQuickFixFactory::cppQuickFixFactories())
factory->match(*cppInterface, quickFixes);

View File

@@ -330,8 +330,9 @@ bool GenericBuildSystem::addFiles(Node *, const FilePaths &filePaths_, FilePaths
QSet<QString> toAdd;
for (const QString &filePath : filePaths) {
const QString directory = QFileInfo(filePath).absolutePath();
if (!includes.contains(directory))
const QFileInfo fi(filePath);
const QString directory = fi.absolutePath();
if (fi.fileName() == "include" && !includes.contains(directory))
toAdd << directory;
}

View File

@@ -141,6 +141,8 @@ Core::GeneratedFiles GenericProjectWizard::generateFiles(const QWizard *w,
const QDir dir(projectPath.toString());
for (const QString &path : paths) {
QFileInfo fileInfo(path);
if (fileInfo.fileName() != "include")
continue;
QDir thisDir(fileInfo.absoluteFilePath());
if (! thisDir.entryList(nameFilters, QDir::Files).isEmpty()) {

View File

@@ -1042,7 +1042,7 @@ std::unique_ptr<AssistInterface> QmlJSEditorWidget::createAssistInterface(
return std::make_unique<Internal::QmlJSQuickFixAssistInterface>(
const_cast<QmlJSEditorWidget *>(this), reason);
}
return nullptr;
return TextEditorWidget::createAssistInterface(assistKind, reason);
}
QString QmlJSEditorWidget::foldReplacementText(const QTextBlock &block) const

View File

@@ -175,8 +175,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason,
std::unique_ptr<AssistInterface> assistInterface =
m_editorWidget->createAssistInterface(kind, reason);
if (!assistInterface)
return;
QTC_ASSERT(assistInterface, return);
// We got an assist provider and interface so no need to reset the current context anymore
earlyReturnContextClear.reset({});
@@ -395,8 +394,10 @@ void CodeAssistantPrivate::notifyChange()
if (m_editorWidget->position() < m_proposalWidget->basePosition()) {
destroyContext();
} else {
m_proposalWidget->updateProposal(
m_editorWidget->createAssistInterface(m_assistKind, m_proposalWidget->reason()));
std::unique_ptr<AssistInterface> assistInterface
= m_editorWidget->createAssistInterface(m_assistKind, m_proposalWidget->reason());
QTC_ASSERT(assistInterface, destroyContext(); return);
m_proposalWidget->updateProposal(std::move(assistInterface));
if (!isDisplayingProposal())
requestActivationCharProposal();
}

View File

@@ -5,7 +5,6 @@ QtcAutotest {
Depends { name: "QmlJS" }
files: [ "tst_testtrie.h", "tst_testtrie.cpp" ]
cpp.defines: base.concat([
'QMLJS_LIBRARY',
'QTCREATORDIR="' + project.ide_source_tree + '"',
'TESTSRCDIR="' + path + '"'
])

View File

@@ -544,6 +544,7 @@ def checkAndCopyFiles(dataSet, fieldName, templateDir):
files = map(lambda record:
os.path.normpath(os.path.join(srcPath, testData.field(record, fieldName))),
dataSet)
files = list(files) # copy data from map object to list to make it reusable
for currentFile in files:
if not neededFilePresent(currentFile):
return []

View File

@@ -513,8 +513,13 @@ def progressBarWait(timeout=60000, warn=True):
checkIfObjectExists(":Qt Creator_Core::Internal::ProgressBar", False, timeout)
def readFile(filename):
with open(filename, "r") as f:
return f.read()
try:
with open(filename, "r") as f:
return f.read()
except:
# Read file as binary
with open(filename, "rb") as f:
return f.read()
def simpleFileName(navigatorFileName):
# try to find the last part of the given name, assume it's inside a (folder) structure

View File

@@ -12,7 +12,7 @@ TripleTab = '\t\t\t'
def main():
files = map(lambda record: os.path.join(srcPath, testData.field(record, "filename")),
testData.dataset("files.tsv"))
files = filter(lambda x: not x.endswith(".bin"), files)
files = list(filter(lambda x: not x.endswith(".bin"), files))
for currentFile in files:
if not neededFilePresent(currentFile):
return

View File

@@ -8,7 +8,7 @@ source("../../shared/qtcreator.py")
def main():
files = map(lambda record: os.path.join(srcPath, testData.field(record, "filename")),
testData.dataset("files.tsv"))
files = filter(lambda x: not x.endswith(".bin"), files)
files = list(filter(lambda x: not x.endswith(".bin"), files))
for currentFile in files:
if not neededFilePresent(currentFile):
return