Commit Graph

618 Commits

Author SHA1 Message Date
Alessandro Portale
7bc65cf9f3 PluginSpecs: Change URLs from http:// to https://
Avoid the redirect that is inevitable nowerdays.

Also, change necessitas.kde.org to www.qt.io, since the orgininal page
is offline.

Change-Id: Ib1823f0df97d2df87822fd2bb7552e2f2c7e971e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-05-28 20:13:29 +00:00
Eike Ziller
c676ec825f AsyncTask: Centralize setting global future synchronizer
Move the global FutureSynchronizer to Utils and use it
by default for AsyncTask (if that is in the main thread).
This way setting a synchronizer is less prone to be forgotten.
Individual uses can still override this.

Change-Id: I1a12bf4d7f4cb5be99668bf0a4797108c2fe6448
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-05-21 09:56:32 +00:00
Jarek Kobus
91c1c244a1 ModelManagerInterface: Cancel all running threads on session switch
On session switch we cancel all the running tasks.
We connect to the SessionManager::aboutToLoadSession()
signal, as this one is emitted just before loading
new session's projects. We don't connect to
SessionManager::aboutToUnloadSession(), since after
this signal is emitted the unloading may be canceled
due to e.g. showing the dialog asking for saving
changed files in the unloaded session (the user may
cancel the process of unloading).

In contrast to what we do on shutdown, we don't wait
for futures being finished here - it's just enough we
cancel all of them.

Fixes: QTCREATORBUG-25583
Change-Id: I01eeca00d150f6e98a80a050c6a19efb848b9954
Reviewed-by: hjk <hjk@qt.io>
2024-02-14 11:28:59 +00:00
Christian Stenger
32890c59af QmlJSTools: Fix tests
Amends 316e48fc50.

Change-Id: I5d28a89cdae23a76b37654aff6560b8334452e01
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-01-31 05:33:34 +00:00
Marcus Tillmanns
a25bbf23c6 Utils: Fix error prone default value of appendOrSet
It was not readily clear that Environment::appendOrSet/prependOrSet
needed a value for "sep", otherwise it would just concat the values without separator. This got apparent when looking at usages of
appendOrSet.

Instead there are now three options, "Auto", "Colon" or "Semicolon"
with the default being "Auto", which determines the separator based on
the Environment::OsType.

Usages of appendOrSet and prependOrSet are also fixed with this commit.

Change-Id: I868e14ce38f50be9cd07292fe3f22663a62d116d
Reviewed-by: hjk <hjk@qt.io>
2024-01-26 10:10:03 +00:00
Christian Kandeler
590a54828c QmlJSTools: Fix qbs build
Change-Id: I3875afb3034cc8eb4dfe79f73a0b84edeb714c70
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-01-16 10:29:49 +00:00
hjk
c6dce7e039 QmlJSTools: Hide plugin class in .cpp
Change-Id: Idfd3741141c076e2269fee99c89ef15f6e6f3b7c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-01-16 09:53:51 +00:00
hjk
63374fb34d QmlJsEditor: Don't export Internal classes
Export two functions doing the actual work instead.
Centralize some repeated code.

Change-Id: I7de674ef7ae5537663d1227d36cc556c4ee3ed74
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-01-09 16:17:37 +00:00
Friedemann Kleint
b6c3de310e Fix crash when loading a .pyproject into Qt Creator with empty settings
The build system is 0 as long as no kits are created.

Change-Id: Ia7f283071740dabe76ff3dd6b2f59e5ca214b7c2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-01 08:51:36 +00:00
Christian Kandeler
240748c106 TextEditor: Get rid of extra indent ranges in RefactoringFile
Having extra indent regions complicates the interface, the
implementation and the calling code.
Instead, derive the indent regions from the change set and let callers
opt out for the relatively few cases where indentation is not desired.

Change-Id: I49d2854830a51778534ef260fb5c9f2c7685554a
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-22 13:47:16 +00:00
Christian Kandeler
db71c461de TextEditor: Remove unneeded RefactoringFile::setFilePath()
Change-Id: Ia44642191259b83539c093d04921317b6155fdee
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-11-22 09:39:04 +00:00
Christian Kandeler
116798e544 CppEditor/QmlJSTools: Simplify RefactoringFile::file() re-implementation
Change-Id: I8f2af8de3786ecf4400bc42019d496bd52bb2545
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-21 14:24:49 +00:00
Christian Kandeler
ac952955a4 TextEditor: Clean up RefactoringFile interface
Change-Id: I1e415b6b51065d16bc49a25118931723b600c00b
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-11-20 14:38:51 +00:00
Christian Kandeler
78b9edd251 TextEditor: Rename class RefactoringChanges
... and remove outdated comment.

Change-Id: I6dcd0a38608192ccdd6734affd33e170d39e8299
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-20 14:37:19 +00:00
Jarek Kobus
ce80a6dad5 TaskTree: Rename TreeStorage<> -> Storage<>
This addresses the 20th point in the master task below.

Task-number: QTCREATORBUG-28741
Change-Id: I696beda87430fbe637abba8054012fb77516e220
Reviewed-by: hjk <hjk@qt.io>
2023-11-20 08:25:50 +00:00
Christian Kandeler
5baf4d83c6 TextEditor: Remove now-unused RefactoringChangesData
Change-Id: Idf82ce013f19422d2b5931669e1aaa4a3aa64b16
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-17 10:02:01 +00:00
Christian Kandeler
246a878a34 TextEditor: Remove RefactoringChanges::m_data
There is no use for a data member in the base class.

Change-Id: I126d8713d2a7bf4061ecbd60b4c144d39c08d550
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-17 10:01:48 +00:00
Christian Kandeler
5d6fc1fc3b TextEditor: Remove RefactoringFile::m_data
There is no use for a generic data member.

Change-Id: Iabfbc0587db2cffcc1c19baed832aa866f696ffe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-17 10:01:34 +00:00
Christian Kandeler
6f3bc431fc TextEditor: Move more code into RefactoringFile
We want to get rid of RefactoringChangesData.

Change-Id: Ia428563a0ff70ec9660761beac3eb7168b8e9eca
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-11-17 09:43:02 +00:00
Christian Kandeler
413a6a6fde TextEditor: Make RefactoringChanges::file() virtual
More preparation for de-virtualization of RefactoringChangesData.

Change-Id: Ib5f7782a8dcaa2ae093b62aebedbd7bae9d4c3f1
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-11-17 08:37:14 +00:00
hjk
6685f0255d Utils/all: Move mime constants into a central place
They are reasonably standardized, and generally usable cross-plugin,
so this can help to avoid a few cross-plugin compiletime dependencies.

Change-Id: Icb2b010c3e12dee69df54ab16f6f8e90d9cffba6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-11-08 09:59:26 +00:00
Tim Jenssen
1a3a8ecc96 Merge remote-tracking branch 'origin/qds/dev'
Change-Id: Id242ab4ca485527defdcc1555d204e12e50ddb7a
2023-09-14 17:37:24 +02:00
hjk
d6dba7dc9f Utils: Merge settingsutils.h into Store setup
Change-Id: I4f87400d3ff50869798a363f0d15aa77af0edf5c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-09-12 06:53:46 +00:00
Eike Ziller
7082d2a89b QmlJS: Delay loading of default QML type descriptions
We definitely do not need to do this during startup of Qt Creator, delay
to first use.

Change-Id: I5942b5346aedc3d6b677918ad28a6c2924d09493
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-09-06 10:52:36 +00:00
hjk
8d0aa34bfc Plugins: A bit more Keys and Store
Change-Id: Iee55eeaa881dd9f2047fdbe95ad8d827f4ba34e0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-25 08:00:02 +00:00
hjk
6e307be365 Utils: Rename the new Storage to Store
Apparently that's what the young people on the web use for such a thing.

Change-Id: I75d5396ff3cb3c26efd6008b5f2261354c4f7896
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-24 05:56:57 +00:00
hjk
dc6b40a5c0 Use Utils::Storage instead of QVariantMap in a few places
Change-Id: I02833cf2bc3caaadc22ff93ae530e4aebe4c3868
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-23 14:30:50 +00:00
hjk
8346905a51 QtSupport: Remove unusual access pattern to plugin constants
Change-Id: Ifc21607cd9927e99b5c49f1631d8940725a058fd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-08-21 07:41:45 +00:00
Ali Kianian
86d4fbab79 QmlDesigner: Import only mandatory libraries or directories
Only mandatory files are imported by the newly created component.
In the case that the import data is empty, All parent imports would be
included.

Task-number: QDS-9829
Change-Id: Ie96e2bc04a10e00b15ae12c5e58b5dc2392886ae
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-15 13:55:49 +00:00
hjk
aa25fdcc69 QtSupport: Rename qtkitinformation.{h,cpp} -> qtkitaspect.{h,cpp}
Change-Id: I12229e5e98b468101d32edd35be74bbda0921d89
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-08-15 08:59:52 +00:00
Eike Ziller
a419670ff5 Build: Change plugin json.in files to CMake style
They were still using variables in qmake style.
Directly use CMake variables in the json.in files and remove the no
longer needed escaping of quotes.

Adds a fatal message if it detects the old style in a .json.in file for
easier porting.

Change-Id: I8de88d8db2da55781f0e9d72eda03f943723188e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-07-25 13:21:16 +00:00
hjk
f10d0bad01 TextEditor: Push back explicit use of core settings
It's meant to be handled via aspects in the long term.

Change-Id: I2a2792f7bb5e75ede18e2328bb31729c212e30e6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-07-19 14:00:39 +00:00
hjk
9db19c653c All: Replace deprecated QLibraryInfo::location
... by QLibraryInfo::path() which exists since 6.0

Change-Id: I0e1e071e0d279ddaf1f1027a0e6ce350ab21739a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-06-06 14:35:55 +00:00
Eike Ziller
5365c5de80 Tr/QML Code Style: Just use "Other" for group box title
"Qml JS Code Style" is wrong (consistent would probably be "QML/JS Code
Style"), and since this is already with "Qt Quick > Code Style" with
another group box titled "Tabs and Indentation", it is also weird (the
other group box is also about the QML/JS code style).

Change-Id: I61d5f273b91aebf95f0e5f5913e160195dcd7a11
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-06-01 08:34:20 +00:00
Alessandro Portale
3fc461e712 CppEditor/QmlJSTools: Remove settings migration from Qt Creator 2.3
This removes settings migration from Cpp Code Style Settings migration
from Qt Creator <= 2.3 to 2.3+

Let's assume that most active Qt Creator users launched a Qt Creator 2.4
or later in the last decade if they still work with their decade-old
installation.

Change-Id: I9c49dd9c1c0bd85e2b8c58a0d4eb6c393abf94a1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2023-05-17 10:15:48 +00:00
Jarek Kobus
4195b4e7e2 ILocatorFilter: Remove calls to setDefaultIncludedByDefault(false)
By default, setDefaultIncludedByDefault() is set to false, so
no need to repeat it now in direct subclasses.
Leave it only inside the AllProjectFilesFilter,
as the DirectoryFilter superclass sets it to true.

Change-Id: Ib66d112a3bfeed52315663f6898148cf5c5d88b1
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-05-16 08:34:02 +00:00
Jarek Kobus
86995160ba QmlJSFunctionsFilter: Remove the old matchesFor() implementation
Rename the filter to QmlJSFunctionsFilter, to conform to the
other naming (CppFunctionsFilter, LanguageFunctionsFilter,
ClangdFunctionsFilter).

Change-Id: I6859c5c8f6d133d1f4dd49d4ee2742b5744c1463
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-05-10 12:34:52 +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
Jarek Kobus
a3a5b8f806 Utils: Rename asynctask.{cpp,h} -> async.{cpp,h}
Follows AsyncTask -> Async rename.

Change-Id: I37f18368ab826c9960a24087b52f6691bb33f225
Reviewed-by: hjk <hjk@qt.io>
2023-05-03 13:24:20 +00:00
Jarek Kobus
187a7640de Tasking::Async: Rename Async into AsyncTask
Rename Utils::AsyncTask into Utils::Async.
Rename AsyncTaskBase into AsyncTask.

Task-number: QTCREATORBUG-29102
Change-Id: I3aa24d84138c19922d4f61b1c9cf15bc8989f60e
Reviewed-by: hjk <hjk@qt.io>
2023-05-03 12:47:28 +00:00
Jarek Kobus
82e57b4e9f QmlJSToolsPlugin: Reimplement matchers()
Change-Id: If6767b4dc62eddddce0285b7b766f44241f3367e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-04-27 06:17:21 +00:00
hjk
8cf500c5bc Utils: Make Layouting a top level namespace
The whole machinery is now almost only layoutbuilder.{h,cpp},
mostly independent of the rest of Utils. Idea is to finish the
separation to make it stand-alone usable also outside creator.

Change-Id: I958aa667d17ae26b21209f22412309c5307a579c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-25 13:31:25 +00:00
Christian Stenger
5bc60ac8de QmlJS: Stop suggesting versions for imports if possible
Fixes: QTCREATORBUG-28649
Change-Id: I918b229855c18519800a54a73b56eaffa40524e5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-24 11:37:58 +00:00
hjk
79ad71a9de QmlJSTools: Use IOptionPage::setWidgetCreator() for settings
Change-Id: I57442416da54acd49cfcfd172fc67f28fee4f7b8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-21 11:05:39 +00:00
Christian Stenger
55d51e8b5e QmlJS: Improve QtQuick Controls completion
Fixes: QTCREATORBUG-28648
Change-Id: I14c402c8a486d5afa7ee500b2d8a06951540e1bd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-04-21 09:16:40 +00:00
Jarek Kobus
c09951d1b7 LocatorFilterEntry: Get rid of filter field
Remove also c'tor taking a pointer to filter.

Change-Id: Ic0fe62daeb6e79a729bee24d07d7eb77559e19c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-20 13:46:03 +00:00
Eike Ziller
5adb656550 Show locator filter descriptions more prominently
- Sort items in the menu.
- Disable items for disabled filters.
- Show a tool tip when hovering over the magnifying glass menu.
- Add descriptions to all filters and make them more consistent.

Change-Id: Ic03e303c50422f9de5dd3c512fe32bbdc958d2ba
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-18 11:19:17 +00:00
Jarek Kobus
605dfa23cd ILocatorFilter: Don't store IndexItem::Ptr as internalData
Currently it's never read.

Change-Id: If89486ad8ad74c3431fe420d83fbec9a22855f04
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-04 14:13:26 +00:00
hjk
884a1d6f94 Replace a few \returns by Returns
Change-Id: I09c633e610421f5cc8257b15de60ffa98d890ee0
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2023-03-24 14:51:55 +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