Commit Graph

70631 Commits

Author SHA1 Message Date
hjk
eedf02e40f Incredibuild: Use more FilePath in CommandBuilder
Change-Id: I31e2be7cbd8f5ac58db4bead1fa3266bb80df868
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-29 10:52:15 +00:00
Assam Boudjelthia
ba672d1334 Android: Do some refactoring for AvdDialog class
Move some logic for avd creation to the AvdDialog, and some
refactoring and simplification.

Change-Id: Id65e586ab1c0e9e898a04f07d7707371f20da649
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-29 10:27:32 +00:00
The Qt Project
50e587fd99 Merge "Merge remote-tracking branch 'origin/5.0' into 6.0" into 6.0 2021-09-29 10:09:27 +00:00
Christian Kandeler
5e9ac00f19 ClangCodeModel: Replace FIXME comment with link to upstream bug report
Change-Id: I90524adbbc4481cb3e1a3c1bf40ae543cdaf6cd0
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-29 09:59:59 +00:00
Christian Kandeler
29c0512416 ClangCodeModel: Do not use clangd for completing #ifdef & friends
Annoyingly, LLVM does not complete preprocessor directives in disabled
code, so that we would not offer e.g. "#endif" after "#if 0" (but we
would offer it after "#if 1").
Fixing it would require messing with the clang libs (rather than just
clangd), so let's just keep using our existing code, which seems to work
fine.

Change-Id: I9dabf9a2a8f3a2f68e88a11b62c3df3b5e64a55c
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-29 09:31:33 +00:00
Christian Kandeler
94a59f15c6 ClangCodeModel: Replace a TODO item with a version check
Change-Id: I22911b5bc5da3e905d1f31ac1bb19251058a5471
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-29 09:30:49 +00:00
Christian Kandeler
7b53ce3439 ClangCodeModel: Replace FIXME comment with link to upstream bug report
Change-Id: I0ad5c67a481b72d637a4ea8793a7c6cb7b263a30
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-29 09:30:00 +00:00
Alessandro Portale
c44478f0fe Android: Fix FilePath usage (string vs. userInput/Output)
Important on Windows

Change-Id: I0a3041e28ad60f28544ecdab2f6153b7931939f2
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-29 08:25:09 +00:00
Eike Ziller
aa22e98b1d Merge remote-tracking branch 'origin/5.0' into 6.0
Change-Id: Iaa5a0fea546d4f28dbceae0458a325077ed382b7
2021-09-29 10:18:48 +02:00
hjk
67a8cfb62a Debugger: Use FilePath in debuggersourcepathmappingwidget.cpp
Change-Id: I83f9cd55ab4c77609fbd3d2ae0d851de3c5145a3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-29 08:17:04 +00:00
Eike Ziller
45e23e07a8 Fix build on macOS
Amends 901a96231c

Change-Id: I4ebc961bed63a9f5a8fc3a997d0c861d779d0c11
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-29 08:12:07 +00:00
hjk
b115de563c ProjectExplorer: Move user path conversion closer to the edge
And replace some foreach().

Change-Id: I788e112c0e314f5514af22dabd111f9cdb64dca5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-29 07:39:37 +00:00
Alessandro Portale
ceae67022c Icons: Fix icon export script
The export script is designed to first let Inkscape export all .pngs,
and then to optimize the .pngs via optipng.

This used to work with previous Inkscape and Python versions.

A few Inkscape and Python versions later, however, the optimizing phase
starts already while the exporting is still happening. That can leave
.pngs unoptimized.

This change defines the stdout and stderr channels as subprocess.PIPE in
the subprocess.Popen call. That restores the intended behavior with
current Inkscape and Python versions.

Change-Id: I3b2775cc24b33ffb181c3b24e545f8cf98244103
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-29 06:41:20 +00:00
Andre Hartmann
2dfb9ff539 RemoteDialog: Fix button states after adding remote
As adding a remote leads to a model reset which does not
trigger the selectionChanged signal, all buttons were
enabled despite no remote was selected.

Change-Id: I2f752fcf5f1830728d1bcf9810ca4648bd2f287b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2021-09-29 05:41:28 +00:00
David Schulz
23a58a320e clangd: introduce ClangdCompletionItem
allowing to overwrite apply and get rid of the apply helper in the
LanguageClient completion provider and processor.

Change-Id: I066fe10b116d638bd1b7a81d4488840bec5f0b63
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-29 04:41:06 +00:00
Ivan Komissarov
99817d3870 Update Qbs submodule to the top of 1.20 branch
Change-Id: I39d2bd127b0dc75d24614fd1a30b50be71a8d4ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-28 16:03:11 +00:00
Alessandro Portale
191bab9ecd Welcome: Add a dedicated session settings icon
The re-used toolbar settings icon from Utils appears a bit small in
comparison to the other icons on the welcome screen.

This change adds a dedicated, properly sized "Settings" icon which fits
better.

Change-Id: I8af239a93806eaa6f355d504be282691b2463f3a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-28 14:48:04 +00:00
Alessandro Portale
0369dc9977 Apply ManhattanStyle to QCheckBox on a toolbar
And consolidate the palette setting code for QLabel, QSpinBox and
QCheckBox.

Change-Id: If0dea048e2341bcbb35c52eb394d4d01efef88be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-28 13:52:57 +00:00
Christian Stenger
430c48ac1a Tests: Fixup test expectations
Amends b64863806f.

Change-Id: I8df23cc10d71760cacb03eb59b728400a4ef3c61
Reviewed-by: hjk <hjk@qt.io>
2021-09-28 13:18:09 +00:00
Christian Kandeler
e7eeb5ae34 ClangCodeModel: Use namespace TextEditor in clangdclient.cpp
Less noise.

Change-Id: Ia7ec9c6cbe93868826828379ded2d039f6fa3a44
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-28 13:12:04 +00:00
Christian Kandeler
901a96231c ClangCodeModel: Cache clangd's AST
Since we use the AST in several contexts, it can easily happen that we
need to consult it more than once for the same document revision.
Therefore, it makes sense to cache the AST to prevent redundant requests
for potentially large amounts of data.

Change-Id: I33100e0052ee21bb46e91848d3d2e8a0a96bb860
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-28 11:34:25 +00:00
Alessandro Portale
05e89384e2 Wizards: Turn icons into themed icons
Turn the current un-themed icons into icon masks which now get recolored
according to the current theme.

Change-Id: I435f9a43dae04797ad0b948992f77179d93164a8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-28 11:31:16 +00:00
Jarek Kobus
7958de05f5 Introduce Utils::Singleton
Introduce Utils::Singleton class and
Utils::SingletonWithOptionalDependencies class template
that helps implementing singletons that depend on other
singletons. It's guaranteed that whenever singleton B depends
on singleton A, than A is always created before B is being
created, and that the order of destruction is always
opposite to the order of creation.

Dependencies of singleton are listed as template arguments
for SingletonWithOptionalDependencies class template.
The first argument of SingletonWithOptionalDependencies
class template is always a singleton class itself.

Prepare a common interface for all singleton subclasses:
SingletonSubClass *SingletonWithOptionalDependencies::instance();

Make instantiating singletons and its dependencies thread-safe.

Create singletons on demand (only if some code needs them).
It's not needed anymore to explicitly instantiate
all required singletons in tests.

Make it possible (and thread-safe) to instantiate ProcessReaper
and LauncherInterface singletons in non-main threads.

Make the following dependencies between existing singletons:
   SshConnectionManager depends on:
-> LauncherInterface depends on:
-> ProcessReaper

Change-Id: Iefaacab561c2b3dcf07e7fafbb87339ea6a15278
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-28 10:25:29 +00:00
Christian Kandeler
03f6de1eeb ClangCodeModel: Properly mark "#ifdefed-out" blocks with clangd
The behavior is now the same as when using libclang. Namely:
    - The whole block is grayed out, rather than just symbols
      having a gray background.
    - Ifdefed-out blocks no longer mess with the brace depth.

Change-Id: I8b5f3a788430edcd9dd79249323c26a5ee5d68ed
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-28 10:23:03 +00:00
Alessandro Portale
e97a8471b5 ProjectExplorer: Make Json Wizard icons themable
Wizard json files can now define via
  "iconKind" : "Themed"
that the provided icon is a themable mask rather than a plain image.

Change-Id: I668b7fe368b6989f3609143b22270cb8cec21b12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-28 10:20:06 +00:00
Alessandro Portale
ebc6e1fc62 Android: Use Android tools environment for avdmanager call
Otherwise AVD creation fails (on Windows).

Change-Id: Iff11c2cd96c214b40b714b6b1248adede54da343
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-28 10:14:59 +00:00
David Schulz
e7f6abc084 LanguageClient: remove codeassist proposal handler
Removes noise from the interface. Using specialized clangd processors
that redirect the proposals for testing purposes is an overall cleaner
solution.

Change-Id: Ia4f3d4720765f0533c5530a2a5c7db3cc971e0be
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-28 09:50:46 +00:00
David Schulz
bd39697ca4 LanguageClient: export LanguageClientCompletionItem
Change-Id: Idc1a222d18e2fc64bd33c9bc89e60178c83ee856
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-28 09:50:32 +00:00
Christian Kandeler
be6ea67bfd ClangCodeModel: Replace TODO items with links to upstream bug reports
Change-Id: Iff1ccf77aca74bc34e2944996e7ef2eb2fcb3bad
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-28 08:22:49 +00:00
hjk
a73338e188 Debugger: Remove unused shared/backtrace.{h,cpp}
Part of that was used in QTC_ASSERT now.

Change-Id: I2d5fafa0dacad6bc099a00c080189b3fd3964098
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-28 07:21:19 +00:00
hjk
2d8f6d6292 ProjectExplorer: Some code cosmetics in JsonWizardFactory
Mostly statics and foreach.

Change-Id: I5c2b6478b7d71cb33e6ca91fa8dba101383f8f5e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-28 07:20:29 +00:00
Alessandro Portale
f88c885d44 McuSupport: FilePath::fromString -> fromUserInput changes
Prevent non-portable dir delimiters from getting into a FilePath.

Change-Id: I78e4a98e03ffe95e3cef70c9c499af28fa33c25c
Reviewed-by: <christiaan.janssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-09-28 07:12:13 +00:00
Cristian Adam
ef545260cd Add Show in File System View to project tree context menu
That opens the selected file/path in the file system view.
Behaves the same as the navigation view shortcut + syncing with the
selected file.

It would be nice to have that at other places too, but this requires
moving the file system view to Core plugin first.

Change-Id: Icc6d1041156d97f5d2bda43a3501758f06fe80aa
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-09-28 06:55:44 +00:00
hjk
8cdbb31aaf QtSupport: Use FilePath for Link with Qt feature
Change-Id: Ic153523494e9b253850e74136db5027d4db55c53
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2021-09-28 06:53:22 +00:00
hjk
8b7f9bacb2 TextEditor: Use FilePath in HighlighterSettings
Change-Id: I1002d3a0b16e403e1650475ec316adf797251a1f
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-28 06:43:38 +00:00
hjk
81acd0c62a Utils: Remove uses of deprecated PathChooser::path()
There's filePath() nowadays.

Change-Id: Ief06bd07a69a287d6a5ca3c41eb7069dba869d52
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-28 06:39:02 +00:00
hjk
4b5aeb9a74 Debugger: Use FilePath for debugInfoLocation
Change-Id: Id538ab4ddd1d634d0dc73a00fe42d3fd35341bea
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-28 06:38:52 +00:00
Tasuku Suzuki
9c97e03465 Apply ManhattanStyle to QSpinBox on a toolbar
Up/Down arrows are not property styled.

Change-Id: I4bc633ec18e31d167f93f80fc241a20d0a7e2958
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-28 06:30:49 +00:00
Alessandro Portale
a6702d5a2d ProjectExplorer: Fix widths distributions in project welcome page
The widths of the "Sessions" and "Projects" lists are not well
distributed on Full HD screen width. The sessions are squeezed and the
projects are extra wide.

Set a stretch factor also on the Settings widget, so that both stretch
proportionally. Use a 1 to 3 ratio.

This change also removes the setting of struts which does not appear to
have any effect and was (by mistake?) assigned to one sublayout, twice.

Fixes: QTCREATORBUG-26319
Change-Id: I365a6a6c5d9c2250e3f711cc139d3279f2f5e3b1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-27 20:09:12 +00:00
Assam Boudjelthia
e860871d2a Move AVD Manager from Android Settings to Device Settings
Move AVD management and creation to Qt Creator's DeviceManager
facilities. This allows AVDs to be created from the Devices settings
page and their details and control/action buttons for starting/stopping,
etc. are added there as well. This makes the process similar to other
device types that Qt Creator supports, to get a similar experience.

Task-number: QTCREATORBUG-23991
Change-Id: I16c52b3cc73035e0ee12fd54ae9dad4595c8cda5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-27 19:09:05 +00:00
Christian Kandeler
b35630c03d ClangCodeModel: Highlight "override" and "final" with clangd
Change-Id: If30de546ce360ab9bc3cfa2780f61d6a78e4191d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 15:03:50 +00:00
hjk
0aa3cc45b5 Core: Use FilePath for ExternalTool working directory
Change-Id: Ifd295c3bd07b79f146b84fc27c117f42ba9b793f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 14:21:40 +00:00
hjk
3f7f867da5 Android: JavaLanguageServer code cosmetics
Namepaces, unused function.

Change-Id: I4f51e163fdb5034c9856195b1929466f6f8b8ddf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-27 14:12:07 +00:00
hjk
5c7b4d66c5 Android: Use FilePath in JavaLanguageServer
Change-Id: Ifaaf95c7463db634a08072e5c988bfc75237f8eb
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-09-27 14:11:58 +00:00
hjk
cef21f46e8 AutoTools: Remove unused AutoToolsOpenProjectWizard
Change-Id: I76642cf71f7af4b827e7ad10a75f29e589f33388
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-27 13:07:47 +00:00
Marco Bubke
9e29b602d4 QmlDesigner: Use ModuleId for Type instead of Module
We already know the module id because it's the source id of the module.

Change-Id: Ice241d38c12c7ca79a525464c53b7d552095a0fc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:25 +00:00
Marco Bubke
03687c1d02 QmlDesigner: Add minimal updates
Exported type names are synchronized so that old type names are removed.

Task-number: QDS-5130
Task-number: QDS-5126
Change-Id: I6e6482170c8197f37f60a57bdfb7f1b450001b4b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:21 +00:00
Marco Bubke
b2a300dd60 QmlDesigner: Refactor ProjectStorageUpdater tests
Change-Id: I0174153a470ce3009945df9cd2a822150f2f19f4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:18 +00:00
Orgad Shaneh
6564325081 Git: Add "Show HEAD" link in amend commit editor
Fixes: QTCREATORBUG-25004
Change-Id: Idac181c8821da41a21d86cb1760691d51158daee
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2021-09-27 12:32:41 +00:00
Cristian Adam
d341ab6371 CMakePM: Remove <Headers> virtual project node
CMake projects need to add the headers as source files in order to get
exported from the CMake file-api json export.

Having header files that are not part of the project displayed in the
<Headers> node is error prone and confusing.

This also means that you won't get bogus files when doing git commit
for example.

Fixes: QTCREATORBUG-18206
Fixes: QTCREATORBUG-24609
Fixes: QTCREATORBUG-25407
Change-Id: I89ac4f8a80f452119f8a991b9e4ef14efb7a86b9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 12:25:53 +00:00