Commit Graph

301 Commits

Author SHA1 Message Date
David Schulz
61fc1fd452 ClangFormat: remove identical prefix and suffix from replacement text
To reduce the changes done to the document iterate from the start and
back of the replacement text and check whether the document already contains
the proposed changes.

This also fixes the misplaced snippet part in the if else snippet.

Change-Id: I4519ed101cc03e7c49b3a9b775087361c3fd158d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-07-03 09:24:00 +00:00
Christian Kandeler
a39119669c CppEditor: Format quickfix code only if formatting is enabled
... in the ClangFormat settings (rather than the default of just
indenting).
As opposed to files generated by the wizard, quickfixes are often touching
existing code, and since ClangFormat works on line granularity, users
will experience unexpected re-formattings when ClangFormat is in indent-
only mode.
Therefore, do the formatting only if the user has enabled it in the
ClangFormat settings.

Change-Id: Icb30f166f2b6fb94113a8f25c4a5f92ff8bca9b0
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-07-03 08:47:42 +00:00
Eike Ziller
3e65778d66 Merge remote-tracking branch 'origin/11.0'
Change-Id: I8be5a00000a6699346ed1c44c0711d1f017462a7
2023-06-27 15:20:18 +02:00
Artem Sokolovskii
646eb5118b ClangFormat: Fix missing label in project settings
Fixes: QTCREATORBUG-29323
Change-Id: Ia8c89ec6b8c745cac2bcb13a149667d9c3e08496
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-27 10:51:02 +00:00
Artem Sokolovskii
0720042e1c ClangFormat: Make the behavior of the braces tab clearer
Fixes: QTCREATORBUG-29069
Change-Id: I078b7fbb6f98088f615d74a189cce00f8e5fa5fe
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-27 10:50:50 +00:00
Eike Ziller
6c601b8cd4 Merge remote-tracking branch 'origin/11.0'
Change-Id: I8d1c9720a868da02b3157a48954eb4e262539c84
2023-06-15 09:48:58 +02:00
Eike Ziller
68915713bf Merge remote-tracking branch 'origin/10.0' into tr
Conflicts:
	src/shared/qbs
	tests/system/suite_general/tst_opencreator_qbs/test.py

Change-Id: I683ebb489e7c2112b343bb3631f6343fdc84cc4a
2023-06-15 09:43:24 +02:00
Eike Ziller
e7870f736d Merge remote-tracking branch 'origin/11.0'
Conflicts:
	src/plugins/clangformat/clangformatutils.cpp

Change-Id: Ide285cc25fca9101843ab9dca01c5a33644aca7f
2023-06-14 08:43:08 +02:00
Eike Ziller
c35dca17b8 Some more tr fixes
- avoid manual line breaks
- fix plural
- add some translator comments
- explicitly name an output pane
- use imperative for placeholder text
- it is a Markdown editor nowadays, not a viewer

Change-Id: I8418cfe0294c028b7d873305db0af4c25bc1097f
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-14 06:10:53 +00:00
Artem Sokolovskii
6a20e588bf ClangFormat: Use pre-existing code style settings
Instead using of default code style settings, this commit
modifies the ClangFormat plugin to use the code style
settings that were set before applying ClangFormat.
By doing so, we preserve the previously defined code style.

Fixes: QTCREATORBUG-29185
Change-Id: I347d44d5ed49a2c50e130a983b62c844c8964391
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-13 08:10:46 +00:00
Eike Ziller
ea56417410 Merge remote-tracking branch 'origin/11.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs

Change-Id: Ide0650d70d5dbd32a5492c8db24089925251af12
2023-06-12 12:33:26 +02:00
Artem Sokolovskii
74f77f6407 ClangFormat: Add caching of current style
Previously, ClangFormat was getting the style for a file
every time styleForFile was called, which could cause
unnecessary delays and impact performance. This commit
adds caching of the current style with a timeout of 1s,
so that ClangFormat can quickly access the cached style
instead of recalculating it each time.

Change-Id: I33c114d51d6ce1acd0b6d9d2a28e2b6712e149dd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-12 09:30:55 +00:00
hjk
2fa78c7b9f ClangFormat: Proliferate FilePath use
Change-Id: I82ea75be92a7b247bad9717bf167cda8bb72cae7
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-12 07:10:32 +00:00
Eike Ziller
375db16ac4 Merge remote-tracking branch 'origin/11.0'
Change-Id: I87b22a73427cf9fc1b96075dc0db769ed3d3621c
2023-06-09 11:24:29 +02:00
Eike Ziller
27a61d482f ClangFormat: Fix that formatting was wrongly disabled
After starting Qt Creator with the Beautifier plugin, turning its
automatic format on save option on, and restarting Qt Creator _without_
the Beautifier plugin, clang format was no longer formatting on save.

The clang format based formatting is supposed to be disabled if

- the Beautifier plugin is enabled, and
- its automatic format on save option is enabled.

Fix the check for the first condition, the plugin can be present but
disabled, explicitly check if it is enabled.

Change-Id: I5c9c270dd47ceec665aebca5b613f0c4a5357d72
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-08 13:52:31 +00:00
Marcus Tillmanns
07374a7114 ClangFormat: Do not change incompatible settings
Fixes: QTCREATORBUG-29190
Change-Id: I81730f59f05c8aba718a60deebfeb2b1b3aa0d7f
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-07 07:16:23 +00:00
Artem Sokolovskii
ac24b23ff8 ClangFormat: Add file size threshold
Add file size threshold to prevent qtcreator freeze
when a file is big. The default value is 1MB.

Change-Id: I356c64cd5ca99a34413043896076dbab859538b6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-06 14:42:55 +00:00
David Schulz
c2d008a322 ClangFormat: use fromUserInput to prevent asserts
Change-Id: I9f33c8e8ef276d771d727a6678cf72e80e7d46d9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-06-05 05:44:43 +00:00
Eike Ziller
8e8ebc8f88 Merge remote-tracking branch 'origin/10.0'
Conflicts:
	coin/instructions/build.yaml

Change-Id: I697b0107e75c6259989247de2180437d7987ff37
2023-05-17 14:55:02 +02:00
Artem Sokolovskii
948dc6b37e ClangFormat: Fix clangformat ignores configuration file
Fixes: QTCREATORBUG-29145
Change-Id: I6950151aaab9df51cfdd0af0ad9cf3c7b35c0636
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-15 10:08:38 +00:00
Eike Ziller
51df19270b Merge remote-tracking branch 'origin/10.0'
Change-Id: I7cfdfc13097d5037fea597ecba98ae902a0c5afb
2023-05-12 12:24:39 +02:00
Artem Sokolovskii
b28df28660 ClangFormat: Remove redundant KeepLineBreaks property
Change-Id: I74250bde4a224d89b078f127da4e7b63454b03a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-05-12 07:49:40 +00:00
Artem Sokolovskii
ef06d89255 ClangFormat: Improve conversion from and to ClangFormat style
Improved conversion from ClangFormat style settings to
CppCode style settings and the other way around.

Task-number: QTCREATORBUG-29069
Change-Id: If4f75259f7fe77397fc144a83370749a49d25297
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-12 07:49:35 +00:00
David Schulz
1acd2499e2 Utils: replace LineColumn with Text::Position
Change-Id: Ia69547374efec7412717cbed1eb4162162a89d39
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-05-11 17:00:28 +00:00
David Schulz
74c311d68f ClangFormat: column of Position is 0-based
Amends 5b0c3258bb
Amends e9cd4dd439
Amends a631a0441e

Change-Id: I9dd542dfdf7936bdaf1fb05152228aff3895bccf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-11 13:20:39 +00:00
Jarek Kobus
a631a0441e ClangFormatBaseIndenter: Fix build
Bring back the utf16LineColumn function locally.

Amends e9cd4dd439

Change-Id: Ic10ea0355b75498217e7bc057a3666a276a18a11
Reviewed-by: hjk <hjk@qt.io>
2023-05-11 12:03:17 +00:00
hjk
a69f58180c ClangFormat: Compile fix related to LineColumns
Change-Id: I645d448bea8ee22db54b110cf83e58b7b2e20660
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-05-11 11:23:26 +00:00
Eike Ziller
7f5876b45a Merge remote-tracking branch 'origin/10.0'
Change-Id: I98e5e1ad43103984b490c65cdeed84b7414303b3
2023-05-11 10:33:18 +02:00
Artem Sokolovskii
7960c1f3f6 ClangFormat: Fix code style preferences are grayed out
Code style preferences are grayed out even when formatting mode
is set to disable.

Fixes: QTCREATORBUG-29129
Change-Id: Icf82fa0751f9291122c2af55111b6bd5fac85c7b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-05-11 08:11:54 +00:00
Alessandro Portale
9c31267e58 Remove ineffective resize() calls
This removes apparently unnecessary resize() calls on QWidgets based
forms which get anyways added to layouts and resized. Most of these size
values looked "accidental", i.e. neither divisible by 2 nor by 5, in
most cases a remnant from the ui inlining.

Change-Id: I95da3b93f2915ef955b5235e5c2ecc94b51f813a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-05-10 11:14:10 +00:00
Eike Ziller
7724f8653f Merge remote-tracking branch 'origin/10.0'
Change-Id: I7a3925ad8e4f97461b64a70217102ed900430253
2023-05-05 10:39:47 +02:00
Cristian Adam
13dd678834 Utils: Fix MinGW build
Amends a0f6e8dc04

The issue is that pthread.h is including <process.h>, which ends up to
utils/process.h since it's first in path.

Change-Id: I525384083b6952aded4b77c29d00d85f084c60f9
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-05-04 15:13:17 +00:00
hjk
50084f6b0e Layouting: Handle attach types via setter
Change-Id: I862f5cd109db3582b4f029787ec0cded2da39ce6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-05-03 13:44:19 +00:00
hjk
70b02d23e1 LayoutBuilder: Rework
Everying is a LayoutItem now, and everything is split into
a proper setup and execution phase.

Execution happens only via LayoutBuilder (directly or via
convenience wrappers in LayoutItem).

No direct access to the widget in creation, funnel out is
via the new bindTo() facility.

Change-Id: I7eb38fd736ae57a68f9a72a6add5c767da82b49f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-05-03 13:44:02 +00:00
hjk
8f345bbc35 Layouting: Drop compile dependency on BoolAspect
Change-Id: I4068048f470db126a2583d6b1b90245205cfd601
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-05-02 06:09:04 +00:00
Artem Sokolovskii
7c1f2ea16d ClangFormat: Fix autoindentation for QML_ and Q_ macros
Fixes: QTCREATORBUG-29086
Change-Id: Ie23e46baf2c802799818cb724aacd71776480b06
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-27 08:43:41 +00:00
Eike Ziller
c9696fbabb Merge remote-tracking branch 'origin/10.0'
Change-Id: I8b36c1812b61dbe08fe3e7930f950e6b8e8a7079
2023-04-24 08:52:35 +02:00
Artem Sokolovskii
178c0abbd3 ClangFormat: Fix preview updating
Fixed the behavior when the preview does not update when the Override
checkbox was not enabled initially. Currently, the preview is updating
when Override the checkbox is enabled.

Fixes: QTCREATORBUG-29043
Change-Id: I8a2a6f3cd5890b66d4bffd0c84aeafb5a29fba48
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-18 11:21:58 +00:00
Eike Ziller
4e6877753a Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/plugins/android/androidrunnerworker.cpp
	src/plugins/qtsupport/exampleslistmodel.cpp

Change-Id: I1628528dbc0ffe874b49bbe022da5933b1348057
2023-04-18 12:53:45 +02:00
Artem Sokolovskii
0c37fc356e ClangFormat: Fix wrong indentation numbers with separator
Fixes: QTCREATORBUG-29033
Change-Id: I70ba12828d3805cb8087a797d14e0ee24611418f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-18 10:07:35 +00:00
Eike Ziller
2bc37de42b Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/plugins/python/pipsupport.cpp
	src/plugins/qtsupport/exampleslistmodel.cpp
	src/plugins/qtsupport/examplesparser.cpp
	tests/auto/examples/tst_examples.cpp

Change-Id: I00273622423fa99d41621969f6ecbbdaa0e18664
2023-04-13 15:59:08 +02:00
Artem Sokolovskii
e0be80a19d ClangFormat: Change Override check box name and ToolTip
Change-Id: I3d80ca3c2fd9dd6210220eca0db1ecec5dad9f0e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-06 12:03:48 +00:00
Artem Sokolovskii
028686b419 ClangFormat: Grey out Clang-Format Style config when not overridden
Add feature to grey out the Clang-Format Style configuration widget
after unchecking the 'Override' checkbox.

Change-Id: I94bbb1f4436f3caeaed55d49582211257e480d0d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-04-06 11:20:29 +00:00
Eike Ziller
7fc0dcec0d Fix lots of tr.h files not being mentioned in CMakeLists.txt
Change-Id: I63d364ac50d9587339b10a5571870cb9a81c54ee
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-04-01 04:25:17 +00:00
Jarek Kobus
b5af4501df Fix include style
Change-Id: I64cb77f8d39dac35821fe96d735bc5dda35738e7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-24 13:42:50 +00:00
Alessandro Portale
50a214de9e Qbs build system: Add a component for test files groups
Mainly in order to enforce a unified group name across QtC libraries and
plugins.

Change-Id: I6eafe0f9d227ec73d8c9029675866c67063768fb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-21 14:54:08 +00:00
hjk
3e7d93c788 ProjectExplorer: Move some not-fully-session related bits
... out of SessionManager.

The idea is to later move SessionManager into the Core plugin,
which both is sensible conceptually and also prerequisite to
merge the Bookmark plugin into TextEditor plugin.

Currently, only the interface is split, as the load/save
implemetations are non-mechanical to disentangle.

Change-Id: I31631db3094ea192825a2ccaa6add6188662940b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-01 09:26:50 +00:00
Jarek Kobus
af03f49bf7 LlvmFileSystemAdapter: Don't use uninitialized memory
Create std::string explicitly using pointer to data and data size.
SmallVectorImpl<char> doesn't include terminating \0, so passing
data size is needed.

Fixes: QTCREATORBUG-28812
Change-Id: I63bd290e990ec8e4cd4fb609764a79e6feff92bc
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-02-17 09:37:46 +00:00
hjk
b30a74130f Clang*: Use new plugin test setup scheme
Change-Id: I636b93d74b4f9ab9ade28c46c6e84b461ccf34be
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-02-15 14:47:37 +00:00
Alessandro Portale
9f2f2f3390 Translations: Change translation context prefix from "::" to "QtC::"
lupdate would be confused by translation contexts starting with ::

Change-Id: Ie95e73436fd3cafc80a8e89f908efadc747e644c
Reviewed-by: hjk <hjk@qt.io>
2023-02-10 16:27:55 +00:00