Commit Graph

80111 Commits

Author SHA1 Message Date
hjk
e18c1dceb2 Layouting: Add QTextEdit
Change-Id: I3a74dce8ee7874b73cb11acab52092c4053722b8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-26 13:05:48 +00:00
Jarek Kobus
836cffc161 ExternalToolsFilter: Reimplement matchers()
Change-Id: I158558688f3013329a8970e29744527003070f7e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-04-26 12:49:55 +00:00
Jarek Kobus
9d9f1f9c23 MacroLocatorFilter: Reimplement matchers()
Change-Id: I90e638e68414e8b6fc38cc98d85720d05a78df50
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 12:36:57 +00:00
Christian Kandeler
b024ebda0e ProjectExplorer: Support moving to different dir when renaming
... files in the project tree.

Fixes: QTCREATORBUG-15981
Change-Id: Id704ec0638046e2191638b59e0a597b984d4822a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 12:32:34 +00:00
Leena Miettinen
2d91be25f2 Doc: Try to make All Topics more visible
And provide some tips for searching.

Task-number: QTCREATORBUG-28996
Change-Id: I35d611326555ccc568c98c49e092380d206fce6b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 12:21:38 +00:00
Leena Miettinen
e7b5e64a70 Doc: Remove detailed info about wizard templates
Improve descriptions of some wizard templates.

Task-number: QTCREATORBUG-28996
Change-Id: Ib53fa38918120af60a03f3850fed7db1e6f0c391
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 12:18:57 +00:00
Jarek Kobus
eb41e98b00 ClangCodeModel: Reimplement matchers()
Change-Id: I2d541e24347aa47ec41f88cd7d18004dee7197cf
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-26 12:05:23 +00:00
Jarek Kobus
5a341e087f LocatorFiltersFilter: Reimplement matchers()
Change-Id: I59d7f005e9e044b0375cb94254392f23a330f3f0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 09:30:26 +00:00
hjk
0ec89bc10f Qnx: Allow kit creator creation per target architecture
So far there were always kits for "all" (usually three?) archs
created, leaving n-1 of them in an typically unused but expensive
to validate state.

Change-Id: I78c7ed3faea0829104dc62bf358e9e1c62082b01
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-26 09:25:12 +00:00
Christian Kandeler
5e73bacb0e CppEditor: Merge two factories
They are closely related, and we might want to add more variants of this
functionality.

Change-Id: Ida83cce018fad5a84d5f6d24a0fa4ff2bca5a67b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 09:23:32 +00:00
Alessandro Portale
3821683647 StyleHelper: Add setter for "panelwidget[_singlerow]"
20 string duplications warrant a centralized setter. A couple more of
them will come with the upcoming toolbar changes.

Change-Id: Ide8c680da21d5be09f968bcc0a774e062c6f0260
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 09:23:29 +00:00
Christian Kandeler
963ae0a192 ProjectExplorer: Keep "Run" entry in top-level project node visible
Enable/disable instead of show/hide, for more stable UI.

Fixes: QTCREATORBUG-29042
Change-Id: Ie2c37b3cb127f9dffaf42570f11b2cca6accd3fd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-26 09:21:24 +00:00
The Qt Project
3a70cb2870 Merge "Merge remote-tracking branch 'origin/10.0'" 2023-04-26 09:12:23 +00:00
Christian Kandeler
02d86516c7 ProjectExplorer: Optionally show run environment in app output pane
Fixes: QTCREATORBUG-28427
Change-Id: I1022a377d3728ad5e91fa62514082110b86db9f4
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-04-26 09:11:53 +00:00
Eike Ziller
fd93ad897f Merge remote-tracking branch 'origin/10.0'
Change-Id: I02df4ad5e4a074f572cd6dd33551864e7c82f51c
2023-04-26 11:07:54 +02:00
Jarek Kobus
8903e7f387 ExecuteFilter: Reimplement matchers()
Change-Id: I4a916164d1a81e0bed678ed1579a5da1cbb57f50
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 08:58:41 +00:00
hjk
52246b8760 Qnx: Also add target architectures in the info box
I always get confused by Qnx's 'Target' names. This reminds
me there is more...

Change-Id: I6b7197b7199180d895b695de81b75270643526f6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-26 08:44:47 +00:00
Jarek Kobus
070bfe9387 FutureSynchronizer: Change the default value of cancelOnWait to true
The "false" default wasn't really useful.

This changes the default value to the following usages:

1. AndroidDeployQtStep
   Introduced in 91f136ef3a
   The synchronizer was used to cancel the running tasks inside
   the doCancel(), so the similar behavior should be expected
   when destructing the AndroidDeployQtStep.

2. GitClient
   Introduced in f3106ebafe
   Is used only inside the last line of
   GitSubmitEditor::updateFileModel(). The running function
   (CommitDataFetchResult::fetch) doesn't take QPromise<>,
   so it can't detect if the future was canceled or not.
   In this case this change is no-op.

3. ExtraCompiler
   Introduced in c99ce1f455
   The intention was to make it cancellable and finish
   early on cancel.

4. PluginManager global future synchronizer
   Introduced in 72bddf9f51
   The intention was to make it cancellable and finish
   early on cancel.

The relevant places in code are marked explicitly for
points: 1, 2 and 3.

Change-Id: I1a52deb8d1f81d355950c8772bbaa6d0a202fd7e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 08:17:27 +00:00
Jarek Kobus
20f1ff22d7 UrlLocatorFilter: Reimplement matchers()
Change-Id: I4f81eba8ddfef6bdea31b60309642f167fce33a7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-26 07:56:18 +00:00
Eike Ziller
d42e48f424 Examples: Hide "Show All" link if items fit
It doesn't make sense to indicate to the user that there are more items,
if there aren't.

Change-Id: I80a3a113dc5f7aea693c054bb1755923cb02944c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-26 07:53:22 +00:00
Eike Ziller
ea5e78e822 Examples/Marketplace: Put separator into heading for expanded view too
Amends e596ee2b68

Change-Id: I888942bab2d330e8e8028e01017e7599a8fa567d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-26 07:53:08 +00:00
Marcus Tillmanns
aeb2b458d0 Terminal: Allow dropping files
Change-Id: I978ea72d6de7df6c31d1d2d2368e7aadf835279d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-04-26 07:08:08 +00:00
hjk
3edc491b2a Utils: Simplify SettingsAccessor constructors
Use setters instead.

Change-Id: I912234fa832eeb80519740ca011921f1e71d70b4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 06:32:52 +00:00
hjk
39dd0f8c0c Help: Use IOptionPage::setWidgetCreator() for filter settings
Change-Id: I2107386b8440b94812426abbf9a9b2713fcb29d4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 06:25:41 +00:00
hjk
0b92e7f2f4 Subversion: Code cosmetic
Change-Id: Ibe085e2ca5c754a95d50d6eeb7f0182736443d99
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 06:25:31 +00:00
hjk
aeac83af78 Utils: Collapse the two SettingsAccessor constructor hierarchies
Change-Id: I7b659c9e3c66700cfc92f9cfbd9df0535a1ca655
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 06:24:19 +00:00
hjk
b4a6af026e Utils: Remove displayName from SettingsAccessors
It was not used.

Change-Id: I7c0927698bf31548ec076c39881561d72e8495e6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-26 06:23:21 +00:00
hjk
fe3887e2bf ExtensionsSystem: Future #3
Change-Id: Ie1e8230ac044b6c79e1125fb39bab0e68d0d6e6d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-04-25 14:13:05 +00:00
Jarek Kobus
65d704854e PluginManager: Fix an obvious linkage error
Amends 72bddf9f51

Change-Id: I238bea72821252f37ebba02903ca68de8633500e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 14:08:00 +00:00
Jarek Kobus
c67dc5e8d4 All Plugins: Use global future synchronizer
Instead of using plugin's own synchronizers. The global
synchronizer does the synchronization just before all the
plugins' destructors run (in sync), so this should be
the right equivalent.

Change-Id: I8d09c9ea4a11b7a703684ad5319191ce310d992e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 13:45:39 +00:00
Jarek Kobus
fde32a206b LineNumberFilter: Reimplement matchers()
Change-Id: I5c4905aabaee81c7870994ca9019e451a7c23119
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-25 13:39:02 +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
Eike Ziller
68c92f6dfa Provide device roots in filesystem locator filter
Check if the full search text matches a device root and suggest them at
the end of the results.

Change-Id: I6e6e201597a9824b5e0c342cbc930baf2ac5ffea
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-04-25 13:27:52 +00:00
Marcus Tillmanns
1fe09a00d7 FSEngine: Fix thread safety
Change-Id: I5223cef1a70ffcb92e886733af2b1d8061c4dbf0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 13:00:09 +00:00
Jarek Kobus
f46f9ac432 AutoTest: Optimize starting task tree in TestCodeParser::scanForTests()
When loading a Qt project, after the Scanning For Tests
finished, the scanForTests() blocks the main thread for
about 2.5 seconds on the call to m_taskTree->start().
The reason is that created task tree contains about 8000
asynchronous tasks. If all they run in parallel it means
that we start them all synchronously.

Don't use internal QThreadPool, as it doesn't prevent
the freeze when more than maxTreadCount() threads
are started. Instead, use the parallel limit with the
same constraint that was used for thread pool.
It means that only constrained number of tasks are being
run in parallel and the rest is being postponed until
some of the running tasks finished. In this way starting
the constrained number of tasks reduces the GUI freeze
to ~0 ms on task tree start().

In general: this patch divides the overall freeze of
2.5 seconds evenly into many very small pieces and
distributes them evenly in time, so the GUI stays responsive.

This patch, when applied together with 2 bottom patches,
reduces the GUI freeze spent inside scanForTests() after loading
a Qt project and after Scanning For Tests finished
from about 23 seconds into 160 ms.

Change-Id: If33076d4f042c3d96434b9f3cc305776fb30906d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-25 12:58:22 +00:00
Jarek Kobus
b9ca680b03 AutoTest: Further optimize TestCodeParser::scanForTests()
When loading a Qt project, after the Scanning For Tests
finished, the scanForTests() blocks the main thread for
about 3.5 seconds on the calls to parser->init().

Refactor the code so that it operates on QSet<FilePath>
instead of QList<FilePaths>.

This patch constraints the freeze to about 40 ms.

Change-Id: I219b3e2abf2b7e5166eec08d83f4cdcb8e4a8098
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-25 12:58:08 +00:00
Jarek Kobus
72bddf9f51 PluginManager: Introduce global future synchronizer
The global synchronizer will be destructed after the
asynchronous shutdown phase and prior to deleting
all the plugins (i.e. synchronously). It's assumed that
between deleting the synchronizer and the point when all
plugin destructors are finished no new futures are added
to the global future synchronizer.

Change-Id: Ibc839b04f2c2bbd35980b8baed51b29c2c4f7c76
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 12:57:37 +00:00
Jarek Kobus
e03081a008 LanguageClient: Reimplement matchers()
Change-Id: Iad31279b1563022132b5c2f971ceeb96f19a5eaf
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-04-25 12:56:42 +00:00
Eike Ziller
755f57d450 FileSystemFilter: Share implementation
between old and new API, so I can continue with changes on top.

Change-Id: Ic7b807c9b57296499f1a622bc4e3bc60fbba6865
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-04-25 12:28:00 +00:00
Cristian Adam
fa5c352668 CMakePM: Fix boolean cacheVariables parsing
Fixes: QTCREATORBUG-29078
Change-Id: I652343d6d688e36b6d5ecc23e91243b4cecbb87d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-25 12:21:54 +00:00
Jarek Kobus
0a39d20651 BookmarkFilter: Reimplement matchers()
Change-Id: I703cea015bf696acfb3aa7cafc38c9ee22b683ce
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 11:19:05 +00:00
hjk
a3f025063f Help: Use IOptionPage::setWidgetCreator() for general settings
Change-Id: I71a500cc349fed92c38368989fc258902c942e29
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-04-25 11:09:42 +00:00
Jarek Kobus
b19b4482c1 HelpIndexFilter: Reimplement matchers()
Change-Id: I47bf8eee25b91ac5ae7d8fd2c06a34370d5d433f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-25 11:08:17 +00:00
hjk
72d72251d8 Utils: Start decoupling LayoutBuilder from Aspects
Makes it easier reusable elsewhere.

Change-Id: I86ff9f40229a33690f854f5fda692bc06d6976ef
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 10:55:29 +00:00
Christian Kandeler
6738616378 Core: Never auto-remove a running search
Change-Id: I03db560fae250ee3c799890179dd8c4618431efb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 10:47:25 +00:00
hjk
b7ca84c5ee Utils: Remove one LayoutBuilder::addRow() overload
The flexibility here is getting in the way later when trying to
remove the dependency on aspects.

Change-Id: I7221e80f2067292c7c80aead8f6d739fb7878f7e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-04-25 10:07:26 +00:00
Cristian Adam
dad415b884 Terminal: add cmd shell integration when using clink
The script was provided at https://github.com/chrisant996/clink/discussions/453

If clink is not installed cmd will not have any issues, since only
the environment variable CLINK_PATH will be set.

Change-Id: I9f1d16933ae6bbcb3da1243e8704af6dc86b9a4d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-25 09:23:22 +00:00
Cristian Adam
411b2e05b8 CMakePM: Allow project files to be removed in project view
Removal of a project file is done as a rename with an empty filename.

Fixes: QTCREATORBUG-25922
Change-Id: I4443d4a31723eb1ac93f02bad633bcfaf99a9573
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-04-25 09:22:40 +00:00
Cristian Adam
54af6bd5b3 CMakePM: Allow files to be renamed in project view
This includes both with source files explicitly specified or
resulted from a file(GLOB|GLOB_RECOURSE) call.

Fixes: QTCREATORBUG-27538
Change-Id: I5ee113af168bdb8cd0a96e8ab2ae603c0607fb0b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-25 09:22:08 +00:00
Jarek Kobus
f5d7765094 LanguageClient/ClangCodeModel: Reimplement matchers()
Don't assert when ClientRequestTask::preStartCheck() failed.

Change-Id: I157fe8fc15aa055b70823d6a54454c6eec692f88
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-04-25 08:52:40 +00:00