forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: Ifb5f580cfea7c0d166756938b013a338279d45d9
This commit is contained in:
@@ -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
105
dist/changelog/changes-10.0.1.md
vendored
Normal 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 |
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}'
|
||||
|
||||
@@ -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 &Left Sidebar</source>
|
||||
<translation>切換左邊欄(&L)</translation>
|
||||
<translation>切換左側邊條(&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Toggle &Right Sidebar</source>
|
||||
<translation>切換右邊欄(&R)</translation>
|
||||
<translation>切換右側邊條(&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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Submodule src/shared/qbs updated: e002680feb...03e717b06e
@@ -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 + '"'
|
||||
])
|
||||
|
||||
@@ -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 []
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user