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>
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>
... if this field has not the access rights information.
Fixes: QTCREATORBUG-23542
Change-Id: I3440fa0fd34dc91164eefcafc1ba74e852e103b9
Reviewed-by: hjk <hjk@qt.io>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
... 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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>