Commit Graph

381 Commits

Author SHA1 Message Date
hjk
0d6e2454d6 Debugger: Fix enabling/disabling breakpoints
Fixes: QTCREATORBUG-24669
Change-Id: Id468f57df7978aab6b888d3a026c578b172f2f0e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 11:28:32 +00:00
hjk
4327ddf6c5 Debugger: Use new TextMark interface for Breakpoint
Simplifies usage.

Change-Id: I0df50fe703b2b67ead7f2e35b3a3952fa6d91dab
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-09-24 13:06:59 +00:00
hjk
aff11855f7 Debugger: Update breakpoint marker tooltip on enable/disable
Change-Id: I5166e58f038afc373a7baae22b85f7d93e25a583
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-09-24 07:52:02 +00:00
hjk
d06207d4aa Core: ProcessReaper code cosmetics
- Rename ReaperPrivate to ProcessReapers
- drop the used ProcessReaper::m_futureInterface
- sprinkle some private and final
- remove unnecessary Q_OBJECT
- remove unnecessary #include, fix accidental user

Change-Id: I2787815975dc80cb93db2132bbfe7ce9a74ebd5f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-11 11:49:13 +00:00
hjk
27c3550d44 Debugger: Fix crash when trying to remove all breakpoints of a file
Change-Id: Iea4478804be7b32a2da924e1163c5c4944c6e8a4
Fixes: QTCREATORBUG-24306
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-12 07:25:28 +00:00
Christian Kandeler
eb96f9900a Fix clang 10 warnings about unnecessary copies in range loops
Change-Id: I3b57869b5a04528518bc432b76768b01e3f53e81
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-12 13:45:43 +00:00
hjk
4744473555 Debugger: Start breakpoint manipulation syncronously
The original reason for this was gdb's inability to set certain
break point properties in one go (commands and  so parts of the setup are async
anyway, and using only async paths made the overall setup simpler.
The need to tweak some properties asyncronously still remains, but
for the caller side it's better when at least the initial round is
synchronous.

Change-Id: Ibe542533a6026c7f0f4e49f4244b7e9d2aea7062
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-05-07 07:12:57 +00:00
hjk
4ba131bdd6 Debugger: Handle failed breakpoints as unclaimed
Change-Id: I02a44db5391b174e75fc326ce217b271ee73c464
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-04-24 06:12:35 +00:00
hjk
37b079a19c Debugger: Some FileName cosmetics
Use {from,to}Variant for settings, and one time fromUserInput is enough.

Change-Id: I5774f425a4c775b0d78b87c60eabf7f48d78a082
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-04-14 12:30:32 +00:00
hjk
68c539bb9d Utils: Replace FileChooser::path() by filePath().toString()
Keep the old method for now to ease downstream porting.

The change is kept mechanical, there's a lot of cleanup possible now
on the user code side.

Change-Id: I936baedd45b7ba057f1c789a1bec896886f48eff
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-04-09 17:45:06 +00:00
hjk
79b680e7f0 Utils: Rename PathChooser::{f,setF}ileName() to {f,setF}ilePath()
It's returning a FilePath, so it's a better fit.

Keep the old versions as inline function now to ease downstream migration.

Change-Id: I535887928018f42b92895c8b0c82527f0d55e5ca
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2020-04-09 17:30:23 +00:00
Eike Ziller
d80f3972a4 Merge remote-tracking branch 'origin/4.12'
Change-Id: Ia8254720b2ba6e3e7b859017e1c2b6e289bed771
2020-03-20 08:16:19 +01:00
hjk
f2f6452977 Debugger: Fix some breakpoint file name display breakage
For unclaimed breakpoints the wodking directory was shown
as path.

Amends commit a7dd0e50a2.

Change-Id: I9614b3672d32fb18e35dc98c12a60e3b27eebf84
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-19 13:39:48 +00:00
Eike Ziller
ed5e6a4999 Add some additional shortcuts for actions
Add Cmd+Shift+- for decreasing font size on macOS.
Do not add Cmd+= for increasing size, because it conflicts with the
existing shortcut for "Replace and Find Next".

Sprinkle some Backspace shortcuts in addition to Delete for removing
items. There are (laptop) keyboards that either do not have a designated
Delete key (requiring Fn+Backspace) or where the Delete key is not
conveniently located/sized, and there is no benefit in making the
distinction in that case anyhow.

Fixes: QTCREATORBUG-706
Fixes: QTCREATORBUG-13733
Change-Id: I06274a9810b82800ec6158a883c95d2a7ae2465e
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-03-17 09:39:37 +00:00
Kai Koehne
fda9955df0 Globally disable WindowContextHelpButtonHint
Do set the global application flag AA_DisableWindowContextHelpButton
to avoid having to unset the default WindowContextHelpButtonHint
in every single dialog.

AA_DisableWindowContextHelpButton was added in Qt 5.10.

Change-Id: I21fe8bc5ddfa4c01ec7a799b04bfb6ff1c9d6d86
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-25 13:26:44 +00:00
David Schulz
7792d82bd9 Debugger: Do not highlight global breakpoints in scrollbar
The color red is perceived as an error indicator. So only highlight
breakpoints if they have been assigned to an engine to reduce the visual
distraction.

Fixes: QTCREATORBUG-23433
Change-Id: I852d94a7637c958c65c94acacc8233b6553bb612
Reviewed-by: hjk <hjk@qt.io>
2020-01-09 05:36:38 +00:00
David Schulz
a7dd0e50a2 Debugger: make BreakpointParameters::fileName a Utils::FilePath
Task-number: QTCREATORBUG-23339
Change-Id: Ifc497c14589cd6df10d8219533e100f1919213b3
Reviewed-by: hjk <hjk@qt.io>
2020-01-06 13:29:44 +00:00
hjk
4bd26c3e4b Debugger: Add ability to hide view columns
Not perfect, e.g. one would probably expect the items to
appear in the context menu of the header views, too, not
just on the main background of the view, but better than
nothing.

Task-number: QTCREATORBUG-23342
Change-Id: Ifdc44dcfd390112faa7b15bb8a51d809e42d7b29
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-12-13 08:07:31 +00:00
hjk
70aab593bd Debugger: Delete breakpoint markers on session switch
There were some left-over "ghost markers" when switching sessions,
which should be gone now.

This also pointed to a wrong use of SessionManager::aboutToUnloadSession
which mustn't save data re-created in a save/load cycle as it
is called during any session load, including the very first on startup
no such data (e.g. breakpoints) have been created yet.

Change-Id: I237a9e3500a786841618941ce85a97f7bd4f318c
Fixes: QTCREATORBUG-22856
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-11-28 09:08:51 +00:00
hjk
67ba6a5b9a Debugger: Fix conditional operator with identical true and false expressions
Change-Id: I1f85eed5355cd01590bc8cc0082f154e215a9ac3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2019-11-01 08:49:39 +00:00
Eike Ziller
a546e3a9cc Merge remote-tracking branch 'origin/4.10' into 4.11
Conflicts:
	src/libs/utils/fancymainwindow.cpp
	src/plugins/projectexplorer/msvctoolchain.cpp

Change-Id: I7aaeeb4f96c95fefd4944c083c1ddf9a19cd81d6
2019-10-28 11:43:06 +01:00
David Schulz
383ea95889 Debugger: Avoid recreation of breakpoint markers
Change-Id: Ie3b160a7b7137257b2028d03878700675142102f
Reviewed-by: hjk <hjk@qt.io>
2019-10-18 12:01:06 +00:00
David Schulz
fa8ff4108f Debugger: further untangle of breakpoint item and marker
Change-Id: I9331912c1b53a0110479f46ef1e576676441ab75
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 13:19:10 +00:00
David Schulz
cc1399a4b6 Debugger: Fix crash after breakpoint marker drag&drop
The updateMarker function deletes the marker of the global breakpoint so
don't call that function from the marker.

Fixes: QTCREATORBUG-23107
Change-Id: I377608f1a08b61451be1fc0be5bc15252252a4a7
Reviewed-by: hjk <hjk@qt.io>
2019-10-17 13:04:20 +00:00
hjk
50deb50069 Debugger: Introduce a checkbox
... to propagate breakpoint changes from a running debugger
back to the original preset breakpoint.

This is currently unused as some changes are already propagated,
and some not, so a bit more diligence is needed.

For now it is there to have the new label string in safely
before string freeze.

Change-Id: I8ee4d07bab5a4f66e59bf992ebfd81c56fdb3ecf
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-10-16 12:46:48 +00:00
Christian Stenger
e47a01c3cb Debugger: Update breakpoint marker earlier
Since the distinction between global and engine
breakpoints we may not update the breakpoint marker
correctly which in turn appears as if the breakpoint
had been failed to set.
Fix this by updating the breakpoint marker already on
insertion request.

Change-Id: I7c4ed046c26667e6aa1efceb5071c12a6d1e6132
Reviewed-by: hjk <hjk@qt.io>
2019-08-12 07:52:42 +00:00
hjk
9ae2794114 Remove more deprecation warnings
Change-Id: Ie50e41737a4bf7bea41f550df7cc765267e8a144
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-05 12:51:17 +00:00
hjk
6a58666f44 More Utils::toSet/toList
... and unrelated cosmetic changes.

Change-Id: I591b17fd5289831e701b683f8fb47816efd1fa67
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-07-04 12:28:38 +00:00
Alessandro Portale
0933c20de8 connect() to ambiguous signals/slots: Replace static_cast with QOverload
Change-Id: I473d7a2a16509cee944a2a21b022a3f6f02cfd8d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 14:07:03 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
hjk
0a8a9f60e1 Debugger: Coordinate breakpoint rampdown
The update of the global came too early to properly check the
condition whether it is still used. So fully remove usage first,
then update, so the check operates on intended data.

Fixes: QTCREATORBUG-22284
Change-Id: Iecdbdc371396132c88d0918f7cb253cf2627e0e3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-04-11 08:14:30 +00:00
hjk
f7c350d782 TreeView: Fix mapping to source models in case ProxyModels are involved
Visible e.g. in context menu handling of the debugger's module view.

Change-Id: I342ed262c9e3dcdf98590003a7930cb8ef4ca0d2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-04-02 12:53:29 +00:00
Eike Ziller
04a4bacbf9 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/coreplugin/dialogs/externaltoolconfig.ui

Change-Id: Ie38e9028cee599578c59b22325d85c097335243e
2019-01-07 13:24:12 +01:00
hjk
8669a83e16 Debugger: Update global breakpoint line and file
... when a breakpoint in an active engine is moved due to
code edits.

Change-Id: Iac8102b7ac0149342ccb3fd6be6bf16172683036
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2018-12-19 08:39:48 +00:00
Eike Ziller
3d1d9aae2e Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/winrt/winrtdevicefactory.cpp

Change-Id: I33b8697e2ebf2bea051d7f1144449e0743ee16a5
2018-11-19 10:00:18 +01:00
Christian Stenger
aab60ee75c Debugger: Silence soft assert
Enabling or disabling a multiple break points that have
different states will trigger the soft assert for all
break points having the destination state already.

Change-Id: I61d859c0af548cb1dd9070a28c9aacee241e075b
Reviewed-by: hjk <hjk@qt.io>
2018-11-13 13:48:47 +00:00
Eike Ziller
3666e3aaeb Merge remote-tracking branch 'origin/4.8'
Conflicts:
	tests/unit/unittest/unittest.pro

Change-Id: I4f0ab05f96ee60900a3a35fad4c7331238367593
2018-11-09 13:30:40 +01:00
hjk
8feb11e102 Debugger: Silence breakpoint state transition warning
... for "alien" breakpoint that legitimately jump from New to Inserted.

Change-Id: Idb8b540a119f6dbd04d86b8ce3f15c2599d4b60c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-11-07 13:43:40 +00:00
Eike Ziller
1473bc5891 Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/debugger/debuggermainwindow.cpp
	src/plugins/qbsprojectmanager/qbsbuildstep.cpp
	src/plugins/winrt/winrtdevicefactory.cpp
	tests/unit/unittest/gtest-creator-printing.cpp
	tests/unit/unittest/gtest-creator-printing.h
	tests/unit/unittest/unittest.pro

Change-Id: Ie9b80b87a8a4fa81baf72a2daa7919b21371c15e
2018-11-06 09:20:00 +01:00
hjk
2556d4b44b Debugger: Implement disabling/enabling subbreakpoints with LLDB
Change-Id: Iaad8716b98d632e5a933b7f5b26549c7cb885ea7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-11-06 07:37:15 +00:00
hjk
e24335e8a6 Debugger: use requested file and line for pending breakpoints
Otherwise markers will not be shown. This fixes the visual aspect of
the referenced tasks. Choosing a specific engine if more than one is
running is still not possible.

Task-number: QTCREATORBUG-21361
Task-number: QTCREATORBUG-21330
Change-Id: I5e31adf43ca8a57add83166b307434122498f1e6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-11-05 15:46:03 +00:00
Eike Ziller
fd7cba88ef Merge remote-tracking branch 'origin/4.8'
Conflicts:
	doc/src/editors/creator-only/creator-code-pasting.qdoc
	src/plugins/android/androidbuildapkwidget.cpp

Change-Id: Iea8b7135643d14ffe49d10b14bedb8fa5ac48063
2018-10-24 13:58:45 +02:00
hjk
dbacbffa7c Debugger: Remove unused BreakHandler::setBreakpointEnabled()
Change-Id: Ie7ef810e72b3d02663b425c687407cdd2b0cea52
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-10-22 11:12:53 +00:00
Eike Ziller
95db30bd3a Merge remote-tracking branch 'origin/4.8'
Conflicts:
	src/plugins/debugger/debuggeritem.cpp
	tests/unit/unittest/unittest.pro

Change-Id: Id2e4e9c2bc87b2556d7c2845aea3fe2fa11b630b
2018-10-22 09:53:54 +02:00
Christian Stenger
eebfc5f5de Debugger: Remove wrong state transition
Change-Id: Ie199370e6dc9e8c3efe293be76cb89feacb8d4c5
Reviewed-by: hjk <hjk@qt.io>
2018-10-22 04:48:26 +00:00
Christian Stenger
a2a29d1861 Debugger: Re-enable breakpoint state handling with keyboard
This patch re-enables disabling or enabling breakpoints using
the respective keyboard shortcut.
Had been disabled since d6911fd10c.

Change-Id: Iea3ce679bafcc78910be07984fd03b4a6e66eb8b
Reviewed-by: hjk <hjk@qt.io>
2018-10-16 12:07:33 +00:00
Eike Ziller
511bd64f3f Merge remote-tracking branch 'origin/4.8'
Change-Id: I0ff6f659b7ccd4ff5a79e422a1d54488508fe05f
2018-10-16 07:11:57 +02:00
hjk
0ebe8402c7 Debugger: Fix breakpoint disabling using context menu
Change-Id: I3fa5ef2dc123f5f7f8292147626453284c1afd76
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2018-10-15 10:56:02 +00:00
Orgad Shaneh
147a3c27c4 Debugger: Strip QLatin1* where possible
Change-Id: Idcab23875b5dc2ecf55e3303f417b995e2252720
Reviewed-by: hjk <hjk@qt.io>
2018-10-13 16:32:31 +00:00
hjk
92325c90ce Debugger: Rename snapshothandler.{cpp,h} to enginemanager.{cpp,h}
That's what they are nowadays.

Change-Id: I1bd6db18f2142ecf488eba51ca739675eac753c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-09-28 07:38:55 +00:00