Commit Graph

67787 Commits

Author SHA1 Message Date
Eike Ziller
5c121d5791 Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/genericprojectmanager/genericproject.cpp

Change-Id: Ib54f1645ec70a9e6460a888a13190ede130bccca
2020-02-05 11:59:35 +01:00
Orgad Shaneh
d2dff64cba ProjectExplorer: Fix endless waiting when switching to Git editors
Show, Diff etc.

Change-Id: Ibdd6e61c72a9a8fd797a02d15dae7b8be08b405c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-02-05 10:35:09 +00:00
Igor Sidorov
3449618a85 Change recursive to loop in allIncludesForDocument
Change-Id: I110294efa506b5a038cfc7f4202fab001e3eefd3
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-02-05 09:34:07 +00:00
Igor Sidorov
a9e40ad14c Add final specifies to classes
Warning -Wfinal-dtor-non-final-class in clang trunk

Change-Id: I2bf17064bf8898eab10b82b69583a283157766d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-05 09:33:55 +00:00
Miklós Márton
aeb7ef6b37 Remove duplicated code
Merge QtOutputFormatter::linkFormat and
PythonOutputFormatter::linkFormat to OutputFormatter::linkFormat because
these two functions were identical.

Fixes: QTCREATORBUG-23562
Change-Id: I1337b2fd66fc7d7b6742eb5e9c1a2caf1dc6b5bd
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-02-05 08:22:53 +00:00
Eike Ziller
b2ddeacfb5 Update changes file for 4.11.1
Change-Id: I3417e020cba77e1ad18085b5dadec6c5e9761997
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
v4.11.1
2020-02-05 07:55:07 +00:00
hjk
76d31dd93d Perforce: Move PluginPimpl definition to .cpp file
Helps to get rid of on option page parent, and a couple of
accesses to singletons.

Change-Id: Ifff2fb4aa56216f78acd5eb2a67c4b0f64a45c0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-05 06:15:04 +00:00
Christian Stenger
fd2ff62463 BareMetal: Fix compile for gcc 5.3
Change-Id: I286a219b64b48bfc77199d98e4fefee3ee90db4e
Reviewed-by: hjk <hjk@qt.io>
2020-02-05 06:14:50 +00:00
hjk
2fb0031ca0 VcsBase: Remove unneeded CommonSettingsPage parent
Change-Id: I92b45d17db3192b944b9bae638cd86059386cb17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-02-04 16:43:56 +00:00
Denis Shienkov
6b10a1ad56 Debugger: Inherit register field access rights from register
... if this field has not the access rights information.

Fixes: QTCREATORBUG-23542
Change-Id: I3440fa0fd34dc91164eefcafc1ba74e852e103b9
Reviewed-by: hjk <hjk@qt.io>
2020-02-04 15:45:15 +00:00
hjk
c181a53d01 Core, ProjectExplorer, Valgrind: Settingspage cosmetics
Change-Id: I79198c7d655b13dbd69d26b8e383a8eb57a8f9bc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-04 14:47:51 +00:00
Denis Shienkov
96c1fbcd0a BareMetal: Long live support for KEIL uVision v5.x debugger
This patch adds debugger integration from the KEIL uVision IDE:

* http://www2.keil.com/mdk5/uvision/

This IDE has the uVision Socket Interface (UVSC) that allows
to the applications configuration, building and debugging:

* http://www.keil.com/appnotes/docs/apnt_198.asp

Besides, it provides a binary client libraries for Windows, which
are implements some API which we are use in this patch.

Currently implemented the following features:

* Enumeration of a stack frames.
* Enumeration of a threads (tasks).
* Registers view (read/write).
* Local variables view (read/write).
* Watchers view (read/write).
* Disassembler view.
* Current location marker.
* Break-points.
* Step-in.
* Step-over.
* Step-out.
* Step-by-instruction.
* Start/stop/pause/continue debugger.
* Auto-detection for the installed uVision instances (as debuggers).
* Wizard for choosing and configuring of the UVSC debug providers.

At this moment added support only for the 32-bit ARM devices, provided
by the STMicroelectronics:

https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html

For this are implemented two debugger providers:

* Simulator - allow to simulate the target device.
* ST-Link v2 - it is a HW debugger.

This implementation tested only with the QBS using the following
target boards:

* NUCLEO-F767ZI (based on STM32F767ZIT6 MCU).
* STM32F4DISCOVERY (based on STM32F407VG MCU).
* STM32F103x (based on STM32F103C8T6 MCU).

A more detailed information about this patch can be found in a
bug-tracker.

Fixes: QTCREATORBUG-23426
Change-Id: Ie36a1f7430b56c33d6665cc35e43fe9bd95d28f1
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-04 13:48:47 +00:00
Miikka Heikkinen
13c6e5df28 QmlDesigner: Support adding/removing/reparenting 3D scenes
3D edit view should now update correctly when 3D Nodes and View3D
items are added, removed, or reparented in the scene.

Deleting the active scene will change the active scene to another
existing scene.

Fixes: QDS-1591
Change-Id: Ib885453574e72f486a236264cc10d88cb872e9c7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-02-04 13:22:53 +00:00
Cristian Adam
a5fa98cd63 QtSupport: Build fix for CMake
Ammends 9fbdeca35c

Change-Id: Ibf9e422d9adef7fa5878376c2414635f0875ba30
Reviewed-by: hjk <hjk@qt.io>
2020-02-04 12:37:20 +00:00
hjk
99da91fc56 Qmake: Don't access never set QMakePriFile::m_buildSystem
Change-Id: I97e8f0c2b2e53a798bf2762324b4affab99fc938
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-02-04 11:04:10 +00:00
Christian Kandeler
37aecdd112 QmakeProjectManager: Do not keep an IDocument in QmakePriFile
Instead, we keep the IDocuments as "extra project files" in the Project
class, like the other project managers do it.
This has two advantages:
    - The document is no longer created in a parser thread
      callback, improving Qt Creator responsiveness while
      loading a project.
    - The IDocuments no longer get needlessly destroyed
      and re-created on a re-parse.
This is relevant because adding these objects to the DocumentManager
results in the creation of file watchers, which is expensive.

Task-number: QTCREATORBUG-18533
Change-Id: I49c03377974e6b33340234dbabbbd82b8d0c827c
Reviewed-by: hjk <hjk@qt.io>
2020-02-04 11:01:01 +00:00
Christian Kandeler
9fbdeca35c QtSupport: Minimize calls to MessageManager from ProFileReader
Rather than calling the MessageManager on every debug message,
do that only once per parse thread.
Somewhat surprisingly, this appears to improve Qt Creator responsiveness
noticeably, even when there are not so many messages.

Task-number: QTCREATORBUG-18533
Change-Id: Idb689b876741798752bbfe5d84fe1ad99e752de3
Reviewed-by: hjk <hjk@qt.io>
2020-02-04 09:27:48 +00:00
hjk
36f23df6c3 CppTools: Use unshared object for CppCodeModelSettings
There's nothing shared here, only ever one copy. Ideally, this
should be const outside CppToolsPlugin, but some settings
are modified directly.

Change-Id: I775b9151a244b3cc44d28bc992a041c42d234a18
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-04 07:55:01 +00:00
hjk
85d9756c00 VcsBase: More use of settings instead of client when it suffices
Client::vcsBinary() maps directly to Settings::binaryPath()
except for git can be replaced by that in non-generic settings.

Change-Id: I245659d3c423361e87c92e8995fa3476d798cc7b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-04 07:11:41 +00:00
hjk
481a00c298 TextEditor: Drop some indirection of texteditor signalling
This is one of the few remaining users of the QObject inheritance of
IOptionPage.  While ok from an architectural point of view, this setup
is not and has not been used elsewhere, and eats a few bytes and cycles.

Change-Id: Id067f501d284d0726e8952345a2acd058dabbcd5
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-02-04 07:08:08 +00:00
Christian Stenger
93896c9832 Unit: Fix building without ClangRefactoring
Change-Id: Id2a4d9d030c4a36eebc88f93029d846f08870eac
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-02-04 06:43:22 +00:00
David Schulz
65e2e37406 LanguageClient: Fix expected codeActionProvider value
Fixes: QTCREATORBUG-23553
Change-Id: I3604905cddcc27c45f842cf54c1e4c39fd1bc5c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-04 06:43:13 +00:00
Christian Stenger
32d9af894f Debugger: Do not raise watchers window unconditionally
In case of mixed debugging it may happen that the trigger
for add an expression happens on a different debugger
engine than the raise of the watchers window as the
companion engine might have been interrupted and the
current perspective has changed accordingly.
Avoid raising the watchers window for the other engine
in that case.

Fixes: QTCREATORBUG-23545
Change-Id: Ic3472b17c727f1336afd1945b5bc448e75e25b4f
Reviewed-by: hjk <hjk@qt.io>
2020-02-04 05:40:22 +00:00
hjk
4e4916ce35 VcsBase: Use settings instead of client when it suffices
Change-Id: I145659d3c423361e87c92e8995fa3476d798cc7b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 17:30:03 +00:00
hjk
b23dc3a0bf VcsBase: Partially move vcsTimeoutS() to VcsBaseClientSettings
It's the source of information for this, and the plan is to
ramp down and merge *Client and *BasePlugin.

Change-Id: I13f813d1f94a2bd4a704d120493a28b92443605b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 17:29:50 +00:00
Cristian Adam
625fd913e5 CMake Deployment: Fix qt.conf for macOS
Change-Id: Ic31709512923aa98271c50ed991cad5effbb3473
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-03 17:20:35 +00:00
Thomas Hartmann
c0637b8283 QmlDesigner: Shorten life time of AnimationCurveDialog
The AnimationCurveDialog is now always deleted when closed.
This ensures that Qt Creator is shut down properly.

Task-number: QDS-1525
Change-Id: I8630648e1d558bb9ed9823756c99fbbf38f8e353
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-02-03 16:51:05 +00:00
Christian Kandeler
c7d8b9b01c QMakeProjectManager: Move some parsing code out of the UI thread
When parsing larger qmake project, the callbacks from the parser threads
are currently overloading the UI thread, often rendering the application
non-responsive until the project is completely loaded.
This patch moves some expensive operations from the UI thread into the
parser threads, at the cost of a somewhat ugly two-stage setup for some
types of objects.
On my Linux machine, I measured that the time spent in parser callback code
went down by almost 50% when loading the Qt Creator super project.

Task-number: QTCREATORBUG-18533
Change-Id: If9624da5b07e81a50c180693580b20a70e1aaea7
Reviewed-by: hjk <hjk@qt.io>
2020-02-03 16:07:54 +00:00
Christian Kandeler
07e38c5436 ProjectExplorer: Fix SessionModel
... with regards to removal of a session, which was not reflected in the
view anymore.
Amends 8c0906e8fb.

Fixes: QTCREATORBUG-23547
Change-Id: Ibd9252719b9577e939781d69dd1c89fa819fff81
Reviewed-by: hjk <hjk@qt.io>
2020-02-03 15:56:40 +00:00
Cristian Adam
3890473500 CMake Build: Fix unittests
Change-Id: I4282f2f80b1d8d1d902ac8252b8a826ca0e459c6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-03 13:57:51 +00:00
hjk
abbc7aaf86 QtSupport: Move CodeGenSettingsPage to new layout
Change-Id: I3377ec8bfb2c753c05d56c7fd87d754af26bffae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-03 12:58:29 +00:00
hjk
019d16fad7 ClangTools: Move OptionsPage to the usual place
Change-Id: Ic70274a7066c1335ae0263f57d29b1c543b94ffe
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-03 12:58:11 +00:00
Christian Stenger
1a86b68809 Squish: Fix test for session handling
Wait for project parsing on re-opening a session
that contains projects before trying to interact.

Change-Id: I631ee72573e1ff1fb115825aaf756489d02f18ab
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2020-02-03 12:04:23 +00:00
Christian Stenger
bae6e3f854 Squish: Fix test for project wizard
Skip Qt Creator Plugin template as it needs special
handling on the details page.

Change-Id: If2fbba31435d280bd99d78a929dfd057ea26feab
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2020-02-03 11:34:20 +00:00
Christian Stenger
dae4231e52 Squish: Adapt to changed UI
Change-Id: I8506d099dc0c0721e61d00af2abb1e4515cda38e
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2020-02-03 11:34:11 +00:00
Christian Stenger
0275e0fa6a Squish: Fix handling of enabling Qml Debugging
Amends 0168a42b72.

Change-Id: I71c32a94fa6de4f64d03c9c73681e30496c2560d
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2020-02-03 11:33:52 +00:00
David Schulz
eebbd1ebc8 Python: Add option to disable buffered output
Fixes: QTCREATORBUG-23539
Change-Id: I1679642f470bd7ec2a478b41e942935a6e7ba027
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-03 07:48:02 +00:00
hjk
61837aae0a Vcs: De-pimpl VcsBaseClient
Not necessary in this case anyway, and a step towards merging
client and pluginbase hierarchies.

Change-Id: I2240afe14019b764c5bfe4dcccfb4db69bf45ad9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:56 +00:00
hjk
b1f5b18ac5 Vcs: Provide default implementations for some pure methods
Saves empty re-implementations in some cases.

Change-Id: I4ffa039d70257f2256942e09fcabe790943e1578
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:38 +00:00
hjk
039e70c727 Cvs: Lump cvsclient.h and .cpp into plugin
Given the reduction of the code, this here makes sense to have
by itself, but it is actually triggered by the wish to to merge
the parallel VcsPluginBase and VcsClientBase hierarchy.

An immediate merge affects a lot of code (>10kloc), with mostly
mechanical moving, but also some non-mechanical changes. Try to
get the main part of the moves done one-by-one through do reduce
size of the non-mechanical part.

Change-Id: Id276a9f64ef9113567d631129662cd0607ba88d3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:24 +00:00
hjk
a09a563280 Git: Remove unused BranchModel::client()
Change-Id: I6465360d73b1d7580a922b295965d3c836d54ebe
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-02-03 07:15:05 +00:00
Cristian Adam
d66d82e7f6 CMake Build: Fix MinGW libstdc++ dependency installation
Change-Id: I8957991a86f1b5dc537e7da0b5cc47f645dd4511
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-31 18:07:13 +00:00
Cristian Adam
ba2a23834c CMake Build: Brought back GoogleTest unittest
It was removed by accident from ctest, and it was not ran on
GitHub Actions.

Change-Id: I044bc5fc96e71211982c07c8796974e97fff5737
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-31 16:08:52 +00:00
Cristian Adam
dd9a12af33 CMake Build: exclude libiodbc, libpq on macOS
Change-Id: Ib975c207c0c9e0f2df0c53e5f3230fd9ed40b13d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-31 16:01:06 +00:00
Christian Kandeler
cc32cabd4f CppTools: Give early warning if kit has no compilers
We keep getting bug reports from users who forgot to set a compiler in
their kit and then get confused by (misleading) warnings from the code
model.
Improve the situation by detecting the condition that a C/C++ project's
current kit does not have a C/C++ compiler and showing a warning for
that in the issues pane.

Task-number: QTCREATORBUG-23247
Change-Id: I10164e85ad595f3a386340e7813d1f3e40fbecb5
Reviewed-by: hjk <hjk@qt.io>
2020-01-31 15:13:47 +00:00
Christian Kandeler
737667d289 GccToolChain: Pass platform flags to more querying functions
Fixes: QTCREATORBUG-23458
Change-Id: I33e542b6733b6a0162e8c9802e151e76727ed4fe
Reviewed-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Reviewed-by: hjk <hjk@qt.io>
2020-01-31 15:12:48 +00:00
Christian Kandeler
5a2a70adda GCC: Detect ccache executables
These are not in the system PATH as to not make them the default, but it
still makes sense to auto-detect them.

Fixes: QTCREATORBUG-23473
Change-Id: Ia044bd948a7a338f34f729e77e1365d048e87172
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2020-01-31 15:11:22 +00:00
Christian Kandeler
95e360acc0 RemoteLinux: Consider hidden files in MakeInstallStep
Fixes: QTCREATORBUG-23528
Change-Id: I7d9401e2e68fd051168457a3a8fa90c5824a6459
Reviewed-by: hjk <hjk@qt.io>
2020-01-31 15:10:37 +00:00
Miikka Heikkinen
3890bf4efb QmlDesigner: Add support for multiple views to 3D edit view
Any subtree of Nodes can be shown in 3D edit view.
Selecting any Node or their children, or View3D changes the
view in 3D edit view to the relevant scene.

Fixes: QDS-1494
Fixes: QDS-1565
Change-Id: I2d5a6f88bab2a20b74c347351235f79fb530519b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-31 14:52:08 +00:00
Mahmoud Badri
22b64369c0 Persist option3daction state
- the selected option3daction state is persisted between sessions.
- option3daction state do not change to 2D anymore when there is no
3D view in the scene. It just becomes disabled.
- option3daction is enabled/disabled based on existence of Nodes
  not View3D
- some relevant tweaks and refactoring.

Task-number: QDS-1538
Change-Id: I27f6f00cf7840204af6fc0f033dcf55bdddc7ad4
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-01-31 14:37:32 +00:00