dynamic_cast<> breaks in cross-library situations. In the past
the issue was witnessed on Mac, this time on FreeBSD in
various configurations.
The workaround deployed here is to manually create unique
type ids in form of (addresses of) global variables.
Task-id: QTCREATORBUG-16462
Change-Id: Ie28fbb3d31d06c1a722a3d9ea808831191298e71
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Ralf Nolden <nolden@kde.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The main idea is to start using ProjectExplorer::Connection later.
Change-Id: Ie91eacdfb0e93ae142fec7ce32bcf554a5282122
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.
Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The idea is to have a way for tools to specify what kind of
control channel they would like to use to communicate with
a device without making the choice explicit dependent on
the exact kind of tool to further decouple device and tool
implementations.
The 'hint' values are there to help the device implementation
to decide on which channel to use exactly in case there are
multiple choices. In any case, the tool is responsible to
check that the returned channel is suitable for its operation.
Currently the only choice is "QmlControlChannel" yielding
a simple wrapper around the former IDevice::qmlProfilerHost()
return value.
Other enum values may potentially be {Tcp,LocalSocket}ControlChannel
(to specify a type of transport) AdbChannel (to specify some
generic helper mechanism). It might also turn out that something
more complex than an enum will be needed, e.g. to express
a set of values with priorities or such, but I'd rather
avoid overengineering for now.
Change-Id: Id386425eb3dd2bb395065f0bdb6f67217cd40a71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Removes the only user of DEBUGGER_EXPORT void runAction(Core::Id actionId)
Change-Id: Ia26577e07ccc8a556882d99d6dd9f9c29c3bc883
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
It's the only remaining item and loosens the dependencies of
ex-AnalyzerBase based plugins on the the Debugger.
Change-Id: I943ac44401c440dd6d3d5c1f54f8f996accd2b4a
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Somewhat better encapsulation.
Removes the "false" sharing of Concept implementations, and takes
the opportunity to change the operator==() into a 'canReUseOutputPane'
function to be explicit about its only use.
This doesn't solve the change in output pane reuse behavior yet,
but provides the base to put the required logic into canReUseOutputPane,
as opposed to abusing the general equality concept.
Change-Id: Id9e4e6b8601c5fcf40a252fb423c2c4c2b74ddb6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If the test case would result in a failing test it does not
execute further commands.
Ensure to close possible open editors even for failed test runs.
Change-Id: Ifcdcb76de5d10f649d38b84dad8999c6fd491ade
Reviewed-by: hjk <hjk@theqtcompany.com>
The default 0 value will be interpreted as 'use the editor stack'.
Also, drop the idea of value semantics for Perspective objects
to get a simpler approach to the destruction of owned widgets
(tools docks + central widget)
Change-Id: Ic6470411ee5d387c43447f95b5a12c81c6658ff8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Needed by GammaRay integration when merging the modes.
Change-Id: I21ee65c55e242238ab0be244c4bb40f1c9c7924e
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Since these two features are revived for Qt 5.7, they deserve fresh
icons. And since they could also gain back their place in the
(qml)debugger toolbar, this patch provides also the toolbar icon
variants.
Change-Id: Id8c51aaa7ab81f594103fe1538fe6efe153af56a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
These actions are supposed to behave exactly like the ones in the menu,
so use these.
Change-Id: I21b4a170839ec009d6462d033329cd6fda6b516a
Reviewed-by: hjk <hjk@theqtcompany.com>
This solves the ambiguity between 0 and -1 being the "invalid" port.
Change-Id: I3bac11dd4117bb1820fbd58186699925b73df1c5
Reviewed-by: hjk <hjk@theqtcompany.com>
...and making sure that items of a disabled combobox are visibly
disabled.
This prevents users from clicking on the Threads label before debugging
even started.
Change-Id: I59cc9b7e875fe8c126a9ee4221ff9d8322e4b1a8
Reviewed-by: hjk <hjk@theqtcompany.com>
... which is set to CppLanguage in DebuggerRunControlCreator::enrich
unless set to anything else previously.
Remove related hacks.
Change-Id: I5fcc39326e280192eb1ddb652636e9342baef94b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Too much convenience seems to cause irritations.
Task-number: QTCREATORBUG-15638
Change-Id: Iaf90149372641bcb7fece28a7470558a80d77a4e
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This patch removes the locator.png icon and replaces it with a
menu-friendly variation of the zoom icon.
The current ZOOM icon becomes ZOOM_TOOLBAR.
Change-Id: I8817c5c420801351db659caa4c4190a9074be720
Reviewed-by: hjk <hjk@theqtcompany.com>
Makes it more uniform to use and allows placeholder widget
creation to be independent of mode creations.
Change-Id: I4021bc9db7f8c78f0374c0cc3b3331506959afe4
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Core contains the small variants of debug run/interrupt/continue/exit
while the bigger icon variants are in projectexplorer or debugger. That
does not seem to have aany reason, at least in today's state of Qt
Creator architecture.
But above all, it stands in the way when changing debugger icons as
planned due to user feedback.
This change moves:
Core::Icons::DEBUG_START_SMALL
to ProjectExplorer::Icons::DEBUG_START_SMALL
Core::Icons::DEBUG_EXIT_SMALL
to Debugger::Icons::DEBUG_EXIT_SMALL
Core::Icons::DEBUG_INTERRUPT_SMALL
to Debugger::Icons::DEBUG_INTERRUPT_SMALL
Core::Icons::DEBUG_CONTINUE_SMALL
to Debugger::Icons::DEBUG_CONTINUE_SMALL
This change just moves icons across modules but does not change anything
in the UI.
Change-Id: I859b901c312d4d16b6c2f687395a7b48c90aab84
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
It's only used when starting with a -debug command line and
when attaching to a running run control. No need to clutter
the normal codepaths with it.
Change-Id: Ib374c64a7f63fa79e88967573c37a5da1f415d50
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This is low hanging fruit enabling a lot more customization.
Change-Id: I1a90fa731ea512852c12a55fad75551efb44e875
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
We already switch to debug mode when starting the run control.
Since loading of projects from the command line is delayed by the
project explorer plugin, and that switches to edit or projects mode, we
must delay the startup of the debugger when started from the command
line until the project explorer plugin really finished all
initialization.
Change-Id: Icfae2b39878084b024c40fa30a2e35f6a0b94a89
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We have many code paths now that try to make sure that we really end up
with debug mode when debugging, leading to multiple calls of
activateDebugMode when starting the debugger. Separate ensuring debug
mode from saving the previous mode to avoid that debug mode is always
the previous mode.
Change-Id: Ie9687e2de816b6ae55945b6108a5d4f760962f89
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>