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>
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>
... 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>
- FilePathify related functions
- Logic of related functions were updated to use new configuration
files location and new settings variables
Change-Id: I9f5504fc72f5c051a83dc80e1feb2e13272de146
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
- Moved the functions from clangformatutils to the places where
it is belong
Change-Id: Ia4108c5b096610170e0f9d16d15d40d5538ffbdc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
- private field 'm_postId' is not used
- private field 'm_hostChecked' is not used
- missing field 'AcrossEmptyLines' initializer
Change-Id: I1e31c79e078bcb68d053202ad322299b92c4fa38
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
- Indenter uses .clang-format file from a dir of
editing file or from a parent dir. If there is no
such file then indenter starts to use file from a dir
with the name current CodeStyle settings.
- Test fixed
ToDo: Add file absentness processing in case of import
Change-Id: If09ef0c598899856b948c214e524bcfd5dad76e2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Now there are changeable and unchangeable settings,
as it works for usual codestyle settings.
They save parallel with codestyle settings but in another dir.
In general, the behavior became similar to usual codestyle settings.
ToDo: Make indenter use this settings instead standard one and
instead project settings when "override" checkbox is checked.
Change-Id: I639dbda296932bf9b967a11f1cc4fda120415ed9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Behavior was: The field became "LLVM" after a change to another style.
Fixed behavior: BasedOnStyle field becomes and stays chosen style.
Change-Id: I0d41a216f7f06c5681cc20a52c736406307a3724
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Added test checking behavior when after Q_OBJECT all class structure
have correct indenting and redundent tabs doesn't appear before key words
such as public:, private: , etc.
Made automatic addition Qt defines to StatementMacro to .clang-format files.
Fixes: QTCREATORBUG-26776
Change-Id: I3490421a9caf2831b593939597940358f7ce8f01
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
There was no proper separation of responsibilities between these
plugins. In particular, CppTools had lots of editor-related
functionality, so it's not clear why it was separated out in the first
place.
In fact, for a lot of code, it seemed quite arbitrary where it was put
(just one example: switchHeaderSource() was in CppTools, wheras
switchDeclarationDefinition() was in CppEditor).
Merging the plugins will enable us to get rid of various convoluted
pseudo-abstractions that were only introduced to keep up the artificial
separation.
Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Silence the following warning:
warning: missing initializer for member
‘clang::tooling::IncludeStyle::IncludeCategory::SortPriority’
[-Wmissing-field-initializers]
118 | style.IncludeStyle.IncludeCategories = {{"^<Q.*", 200}};
According to the docs of IncludeCategories, the SortPriority field
is optional, and when not set its value is set to the value of
Priority field. So in order to fix the warning we repeat the same
value for SortPriority field.
In addition we ensure that we require at least clang version 10.0.0.
Change-Id: I8baae7a33ad1a7a7f3afe66779f482b29a7396b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Change-Id: I3608bca6541614bb55e67d35c87334957cd02761
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
- 'Default' values remain so after save/load
- the language is fixed to C++
- the project settings are shown correctly
- fix parsing configuration file
- do not trigger slots when we fill the table
Change-Id: I91b477721b5084803324cd38d0cfeb9d5650dd9f
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
If no .clang-format file can be found and the settings do not
override the configuration neither globally not in the project
then construct the global settings (if required) and use them
instead of constructing the style every time.
Task-number: QTCREATORBUG-22144
Change-Id: Ib59b7f166f030ce3fb085f105f30fbf0eb25b185
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
We've searched for the config we want to use but did not change
the path for the source file which is used internally by libformat
to find the configuration.
Fixes: QTCREATORBUG-22048
Change-Id: Ibdcc33ac338f06e966dfc5c06cdb38db3bb768b6
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Add the context menu item to C++ editor which allow you to open
the currently used .clang-format configuration file.
Change-Id: If9d6bec4f4085c18b13df15d78417aee82ddb4e4
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
If there is a .clang-format file in the project use it as
a base for the custom file that creator uses to override
the project settings.
Change-Id: I0786dbdd6077b87d4dd428981e24d503668f1031
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Let's use by default the configuration that clang-format picks itself
for the source file. The Qt Creator configuration will now only
override the default one with global or project settings and can be
turned off with the checkbox.
This behavior is clearer than always picking some configuration
which Qt Creator prefers best.
Change-Id: If5ed3d67eb6b4b47a6d0fd5259f7efbb608914d1
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>