Commit Graph

81484 Commits

Author SHA1 Message Date
David Schulz
28d1d3ffe1 Debugger: support piping the python dumper to cdb
Fixes: QTCREATORBUG-29000
Change-Id: I7454ded07829d06a33dc1b2ec95a838ca977ca95
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-04-20 12:51:22 +00:00
Cristian Adam
d8be2491a5 CMakePM: Add new / existing source files to project
This will add the new added source files (.cpp, .h, .qrc, .ui) to the
corresponding CMake source file as last arguments for known CMake
functions like add_executable, add_library as well for the Qt
counterprarts qt_add_executable or qt_add_library.

For custom functions the code will insert a target_sources() call.
Subsequent calls will add the files to the last target_sources.

The previous copy to clipboard mechanism and settings have been removed.

Fixes: QTCREATORBUG-26006
Fixes: QTCREATORBUG-27213
Fixes: QTCREATORBUG-28493
Fixes: QTCREATORBUG-29006
Change-Id: Ia6e075e4e5718e4106c1236673d469139611a677
Reviewed-by: hjk <hjk@qt.io>
2023-04-20 12:43:33 +00:00
hjk
d74c2369ee AutoTest: Take advantage of IOptionPage::setWidgetCreator()
Less boilerplate for the implementation and user code access to
IOptionPage::{apply,finish} is planned to be removed.

Change-Id: I1d914d21c62a983a212d9696d14890cfd0e643c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-20 12:25:20 +00:00
Jarek Kobus
74322dfedf LocatorFilterEntry: Get rid of internalData
Change-Id: I2bcd64c39bdaf0fe8504b68ba4aaaef7cdcab475
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 12:14:02 +00:00
Jarek Kobus
107d16fe34 ExternalToolsFilter: Use Acceptor for LocatorFilterEntry
Change-Id: I1d9073f9849be7ada05a9f12237db2a32a5c802b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 12:09:53 +00:00
Jarek Kobus
64f946445c CppLocatorFilter: Add cppCurrentDocumentMatcher()
Add also a test for it.

Change-Id: I324b1a2cbe89c0a1258dde93524689cb85e06737
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 11:59:01 +00:00
Jarek Kobus
0b5db8e558 ExecuteFilter: Use Acceptor for LocatorFilterEntry
Change-Id: I44bac91b192f8f9eb15b3151cd3d0d21caed0312
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 11:56:43 +00:00
Jarek Kobus
7f49d93fc1 FileSystemFilter: Use Acceptor for LocatorFilterEntry
Change-Id: I64059f0b02f8b893ba092b8ccea6c85453463078
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 11:56:35 +00:00
Christian Stenger
e0219fad4d Debugger: Make debugger aspect more explicit
There are basically 3 states for the decision whether to start
a debugger or not. But these had been under-represented by just
displaying 2 states.
Enabled (checked) and disabled (unchecked) are obvious, but the
default of Auto (represented as checked) is there for convenience
of the user, but it has some drawbacks of failing its guess
whether to enable the debugger or not.
Turn the former check boxes into a tri-state combo boxes and
explicitly display the consequences inside the summary.

Task-number: QTCREATORBUG-28627
Change-Id: Ieffed5b227ae978555258097385d6e80dfad3ac6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-04-20 11:35:54 +00:00
Christian Stenger
35df3812f7 Debugger: Improve detection for the need of Qml Debugger
By default QC performs an educated guess whether to enable
QML debugging or not.
Improve this as the detection may fail and leave the user without
a special hint depending on the project structure.

Fixes: QTCREATORBUG-28627
Change-Id: Ibd461aff2bf9be7058bdf33c8740ef07a457c365
Reviewed-by: hjk <hjk@qt.io>
2023-04-20 11:35:36 +00:00
Cristian Adam
d41365610f CMakePM: Integrate CMake's lexer
Kept only the needed bits to parse the CMake files.

Change-Id: I7c4aa0779846fcee91469a38f84d801513e3aa63
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 11:34:38 +00:00
Cristian Adam
71eb0ab9f8 CMakePM: Add CMake source file parser
Files taken from the CMake repository https://gitlab.kitware.com/cmake/cmake.git

624461526f4707a2406ebbd40245a605b6bd41fa (tag: v3.26.3)

Change-Id: I9ef388908cd22eb2748b5c17d039848ee23585b9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 11:34:29 +00:00
Marco Bubke
4132b308f5 QmlDesigner: Fix warnings
Some compilers still don't support [[maybe_unused]] for members

Change-Id: I1a653b9e76eb40313c4f4dd9201d78a24b3d543d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-20 11:06:30 +00:00
Jarek Kobus
c118f8cae4 UrlLocatorFilter: Use Acceptor for LocatorFilterEntry
Change-Id: Id4b97a10bc01ab4392d7e7fc6e5890dcd3d42be9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-20 10:28:44 +00:00
Jarek Kobus
3726bfc779 MacroLocatorFilter: Use Acceptor for LocatorFilterEntry
Change-Id: Ie7aa7d81e1b81190b2966de09dc04b3ffb2691ea
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 10:27:49 +00:00
Eike Ziller
7879d84033 deployqt: Support elfutils from Linux distribution
Which can be in a more complicated directory than just /usr/lib, like
/usr/lib/aarch64-linux-gnu .
So, recursively look for the elf library to determine the right
directory.

Change-Id: I58ed8a045fbde50dea8851f63409a5a0863c3b16
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-20 09:55:23 +00:00
Jussi Witick
b57971a9cd Fix namespace usage in QSR project wizard template
Consistently use namespaces with different feature if/def's in main.cpp

Task-number: QSR-2079
Change-Id: I0609f7eb8cb18d270e59c11025850e6369e5db87
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
(cherry picked from commit f98a03a28d)
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 09:21:13 +00:00
Jarek Kobus
99b5d93cfb LocatorMatcher: Introduce MatcherType enum
Use it for registering/getting different kinds of matchers.

Change-Id: I6f944e0332bf8c512892a00b8ba88f9939f34682
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 09:18:11 +00:00
Orgad Shaneh
f5cccab95b MacroExpander: Fix Path and FilePath on Windows
They should have / separator.

Amends commit 4fbc56d453.

Change-Id: I7218c345b271360f24c03aea5ee62be05342afe0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 08:31:29 +00:00
Eike Ziller
71f9e536c5 Markdown: Fix that text editing actions were not available
Add the TextEditorActionHandler and point it to the text editor.

Change-Id: I2c84d6b0160c7402ea32d56ed4dbc72d512072a1
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-20 08:31:06 +00:00
Ulf Hermann
1c60f57340 C++ editor: Make generated Q_PROPERTYs FINAL by default
It's bad style to omit the FINAL because such properties can be
shadowed, causing problems in QML.

Change-Id: I9083c69128f6335f584f0a1d28f1fe1e54a02eaf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-04-20 07:44:42 +00:00
Leena Miettinen
e73aaa044e Doc: Remove details about locator filters and refer to tooltips
- Reorganize the topic contents, so that all examples are in one place
- Add subtitles
- Update screenshots

Task-number: QTCREATORBUG-28996
Change-Id: Id139b19c5ff18c08b7a27494d6ac5051b298c014
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-20 07:38:15 +00:00
Marco Bubke
852c0b7fce QmlDesigner: Silence more warnings
Change-Id: I8982ce6fe2860950e92b95e1bf02d22e857939d7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-20 07:26:17 +00:00
Marco Bubke
6e5ffb997d Sqlite: Update to 3.41.2
Previous version was 3.41.0. So it is only a bug fix update.

Change-Id: Ibb3373eff19b740d9bbc0ee5786f8054f1d80553
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-20 07:25:39 +00:00
Jarek Kobus
b6d1cbc5f6 StringUtils: Fix missing include
Amends a353e9fde1

Change-Id: Iee878da1f907ec0131dd3fd16fe4f84752355b38
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-04-19 19:39:33 +00:00
Marco Bubke
2694d6a1f5 Add feature to disable QmlDesigner and related files
QTC_WITH_QMLDESIGNER or WITH_QMLDESIGNER has to be set to OFF to disable
QmlDesigner related code.

Change-Id: I7e25200fe856fcc7de3493cfa394cdd4f923e0bf
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 17:19:33 +00:00
Marco Bubke
4393df48be QmlDesigner: Reduce version demands
We now expect Qt 6.4.3 and MacOS 10.15 or higher.

Change-Id: I339e3ca7f668d9451859c51472712c831a6caf8c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 17:19:07 +00:00
Marco Bubke
ccf64cf642 QmlDesigner: Disbable maybe-uninitialized warning
Change-Id: I683bacc47b6f98a7adb64c3391c3df65c42fe945
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 16:22:48 +00:00
Marco Bubke
111e71238c QmlDesigner: Fix warning
Change-Id: I91cc82b907c3ddfaf194094217a66379c3c41eb8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-04-19 16:12:10 +00:00
Marco Bubke
df56f95128 QmlDesigner: Fix build for Qt < 6.5
Change-Id: I943b42e3536a2705dfcee5620e84ea5ddf4fc828
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 16:10:02 +00:00
Marco Bubke
66288ef113 QmlDesigner: Cleanup QmlDesignerBasePlugin
Please don't put unrelated code into a plugin source file. It gets
really cluttered. Use UniqueObjectPtr if the QObject has a parent.

Change-Id: I6535163be1f67528a0cf66bf050f48601e3fa09c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-19 16:00:36 +00:00
Marco Bubke
34c69766dd QmlDesigner: Add version scanning for Qt5
Add some hardwired code for lagacy Qt5 support.

Task-number: QDS-9542
Change-Id: I505685042f53b7e653e76c8d883c8d7bb30605d7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 15:58:21 +00:00
Henning Gruendl
062c774541 QmlDesigner: Update workspace management
- Add QML attribute displayName to the workspace presets
- Add workspace order
- Replace QStringList workspaces with proper model in order to use text
  and value role
- Clean up workspace management, remove redundant functions, move
  warning messages out of backend
- Utilizing expected_str to forward error message
- Change output format of generated XML workspace files
- Remove workspace combo box from C++ based toolbar

Task-number: QDS-9184
Change-Id: I19455db75e6b07aea9342eb5276c6191a1456a2d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 14:15:27 +00:00
Henning Gruendl
f0b2cc0836 QmlDesigner: Add insight tracker linking
- Add proper insight tracker library linking to the QtDS CMake template.
- Add CMake option LINK_INSIGHT to turn insight linking off
- Add check for Qt version 6.5 and insight configuration available

Task-number: QDS-9354
Change-Id: I606364743cce61c281d3faae929df50ba95892b7
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 14:14:51 +00:00
Ali Kianian
ca300e9eb8 QmlDesigner: Fix text selection bug for code editor
The event is returned to the parent hierarchy when the position is not
in the scrollbars area.

Task-number: QDS-9726
Change-Id: Id781650e15035a26f282990d7ee387b4417bc6eb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 14:11:23 +00:00
Marco Bubke
6035ff939d QmlDesigner: Add module scanner
For performance reason we want to get the qml modules directly from the
file system. When the project storage is finished we can get the modules
from there.

Task-number: QDS-9542
Change-Id: I26d4b028fbf5ebc541fcd8e34d285ded1fb14935
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-04-19 13:58:22 +00:00
Jarek Kobus
129fc0583f ILocatorFilter: Move allLocatorFilters() into private section
This shouldn't be used outside of locator scope.
For other usages that could reuse some filter's
implementation use LocatorMatcher with shared
list of LocatorMatcherTask.

Change-Id: I63a62c79b38985e24835fecd38d016dfb164a16e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-19 13:47:33 +00:00
Alessandro Portale
dd5eed0b35 Utils: Fix painting artifacts of FancyLineEdit on StyledBar
Don't enforce a premature polishing by the style.

Fixes: QTCREATORBUG-27510
Change-Id: I1598a75741c5990567a33ad8376144432894597a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-04-19 12:59:53 +00:00
Jarek Kobus
6e8988c926 CppModelManager: Use locator matcher for unused functions
With this patch, when both cpp and lsp function filters
are available, they now run in parallel. The execution time
for getting the filter results (~110 K hits) for the
Creator codebase went goes from ~1100 ms into ~650 ms.

This patch also solves the potential issue with interference
between parallel runs of functions filter in locator and
in find unused functions.

Change-Id: I8f7f0b85d325848c04760ab76a7b9f02bcb5991e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-19 12:54:25 +00:00
Jarek Kobus
8f44964059 CppCurrentDocumentFilter: Get rid of the arg from c'tor
It's always CppModelManager::instance().

Change-Id: Ia049ad3bd452f8773d679549c33981460c2705d4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-19 12:14:41 +00:00
Jarek Kobus
1cc7342ef1 JsonFieldPage: Use locator matcher for line edit completion
This may be tested in File | New File... | C/C++ | C++ Class,
Base class line edit should provide class completion.

With locator matcher the task is being executed ~20% faster.

This patch also solves the potential issue with interference
between parallel runs of classes filter in locator and
in LineEditField.

Change-Id: Ice3e719d9cbe72ec4cd11bd4362a94e9c3ce8874
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 12:13:54 +00:00
hjk
3351459ead ProjectExplorer: Avoid KitConfigWidget creation in some code paths
They are now only created when the kit is selected for editing or
for getting a tooltip.

Change-Id: I50b4194610f662645eada9f69e4b6f2d20aa6c00
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-19 11:53:36 +00:00
Eike Ziller
a353e9fde1 Markdown: Reuse Markdown highlighter from change log viewer
Change-Id: Ief1b0c135a34bfd5e9b5220e9fbf93f281d8e95a
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 11:48:15 +00:00
Jarek Kobus
8175f96e50 CMakeTargetLocatorFilter: Use Acceptor for LocatorFilterEntry
Change-Id: I5f82853bab8fdc38ae0793e9865c6d1da10f8ccd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-19 11:09:09 +00:00
Jarek Kobus
fe067e1d49 HelpIndexFilter: Use Acceptor for LocatorFilterEntry
Change-Id: If5fbe4f4c7d0f3c7cda3d232be596937b73c6fd0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 10:58:24 +00:00
Marco Bubke
79b5a9f03e TextEditor: Return BaseTextEditor for duplicate
Because the type is always a BaseTextEditor we can return a
BaseTextEditor type. C++ is allowing to change the overload return type
so long it is compatible.

Change-Id: Ib4c88faaa6fdfb97fd03c51a120de0fa0c2d00cd
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-19 10:17:56 +00:00
Jarek Kobus
eb98f2f404 ActionsFilter: Use Acceptor for LocatorFilterEntry
Change-Id: I433f9b44173efd0c66130bcf411cf0ec04816edb
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-04-19 09:40:13 +00:00
Cristian Adam
a37b0f0e6c CMakePM: Add .h header files to .c source files
Utils::mimeTypesForFileName would only return "text/x-c++hdr" for .h
files.  This is perfectly fine for C++ source files.

The ancestor "text/x-chdr" is required for C source files though.

Fixes: QTCREATORBUG-28991
Change-Id: I21f038787e48e88b5e4b9e8ca386b3af80d098ea
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-19 09:40:04 +00:00
Eike Ziller
b5d7b24733 Add wizard for markdown file
Fixes: QTCREATORBUG-29056
Change-Id: Ia2ba9aef86aab3e156e3c36d8e28c9f37d7da8b3
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-04-19 09:28:26 +00:00
Henning Gruendl
cf61025af6 QmlDesigner: Remove experimental key insight
Remove the experimental key from the insight plugin meta data template.

Change-Id: I88ea837a1ff296a940e12b5935433947b2e2b7f2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-19 09:15:09 +00:00