Try to make zoom and font handling in the panes more
similar and put common stuff into IOutputPane.
Change-Id: I59c38c5eecbf67b7ca6c9d84a6f61b1292a787df
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
07645527a3 changed the order of these buttons
from:
zoomIn, zoomOut, settings
to:
zoomIn, settings, zoomOut
Restore the old order hereby, which is consistent
with the compile output pane.
Change-Id: Ieaff434b596ce1992b4b454e40083df83fbe54fd
Reviewed-by: hjk <hjk@qt.io>
This provides a natural shortcut to the respective options page.
Change-Id: I1e57c64d1541540cb1c0c44c6fb8eaad69fc2e32
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Use a signal directly now, the users know the caller.
Change-Id: Ib2ff4dbe3047eddf2a060eef060b487a4c17e78c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
One page for application output, one for build output. The respective
settings are now easier to find, and the general Build & Run settings
page looks more tidy now. We will also be able to link directly to the
respective settings from some button in the output panes in the future.
As a side effect, this patch also introduces a dedicated "word-wrap
output" setting for the compile output pane. It used to share this
setting with the application output pane, which was not obvious and
might not be what the user wants.
Change-Id: I5629363863ffe38e0faa006d361ec21484b593f4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Assume lines with an average of 100 characters for the transition
and use the character limit already in two cases.
Change-Id: I43316d51d7d5017aa413d6c910d3784a14237e9f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Similar to BuildManager::addToOutputWindow.
This doesn't affect stdout/stderr output.
Change-Id: Iddee043aa46cc89860b4a2231fe075cb553b5ad3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The runControl associated with a tab might become nullptr. That was
already handled in some places. Do so consistently now.
Change-Id: I899cc467a213f2a991967fa98a5819a98412d387
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If a RunWorker fails to report success or failure (should not happen in
theory, but has been observed in practice, typically in exceptional code
paths) the RunControl will stay in 'Starting' or 'Stopping' state
forever. Give the user the opportunity to force a 'Stopped' state by a
second (or when 'Running' a third) time on the Stop button.
Change-Id: Iec58434927777bd67bfe01c5144ee5695b4d6cf1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Ensure that RunControls ramp down asynchronously.
Since RunControls now ramp down asynchronously the plugin can
only report synchronous shut down if no RunControl/OutputPane
was present.
Task-number: QTCREATORBUG-18605
Change-Id: Ib8d1f857f85c74d4f18ecb85db537121a2275668
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Instead of a blunt delete() RunControl::initiateFinish() is triggered
by the closing of the application output instead. The rampdown process
is basically the same as stop() now, except for the other success
signal (new finished()) and the final self-destruction of the
runcontrol.
stop() itself triggers initiateStop() on all running workers in
parallel (before it was in the order of start). This gives
downstream complex worker combinations the flexibility to use any
order it wants by ignoring stop() on 'uninteresting' workers,
and centralizing rampdown e.g. in the main worker. That setup should
be rare in practice, but seems needed in some profiler cases.
Change-Id: I986a152a663754206709ed4df0d4568847afad17
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
A RunControl is re-runnable if all its workers are,
a RunWorker is re-runnable if it's Stopped and unless it
says otherwise.
Also ensure SimpleTargetRunner only reportStop() once
per run and make process error message re-usable.
Change-Id: I73f5fb724d3026ceb81d5e32a3a71b4814b2bca9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The recent RunControl related changes have led to several regressions
in the fragile handling of button states in the output pane.
Take advantage of the new Starting phase to fix disabling of the
run and enabling of the stop button at reasonable times.
Change-Id: Iae191a840484dd08d61facf6b9f439bfafcbbcb0
Task-number: QTCREATORBUG-18508
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The RunControl owns the Formatter set on the OutputWindow. Make
sure the OutputWindow is deleted before the RunControl and avoid
some useless setting of the Formatter.
Task-number: QTCREATORBUG-18428
Change-Id: I40c8f032bb04c484957a35a6bbc0fda7b6491c51
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Otherwise, clicking on links will have no effect. This feature was
broken with commit 113134b3b6.
Task-number: QTCREATORBUG-18134
Task-number: QTCREATORBUG-18334
Change-Id: I3cf5d8a9b3957a3f06cb3dbba40bb2dd16a9f8a9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This increases re-usability of activities like 'port gathering',
and makes their use less dependent on actual device implementations.
Change-Id: I017cb74874f2b38c487ba2d03906a675d5618647
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Output tab might be reused but title nevertheless be updated
Task-number: QTCREATORBUG-18109
Change-Id: I497fa3086e840131fbfcc81a5002da06ac70978f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This adds enough hooks to enable the base RunControl to take over
the task of most of the current ad-hoc "state machine" implementations
in derived RunControls (only exception is "intra-debugger" Start/Stop
handling), including error reporting.
The idea is to migrate "downstream" uses and finally remove the custom
state handling everywhere.
With this setup here, both varieties of RunControls can co-exist
for a while: New-style uses the Tool/Target state handling triggered
by the base RunControl::start implementation, old-style had this
function = 0, so all have their custom start() implementation.
'SimpleRunControl' derived cases (Local/RemoteLinux/Python run)
already use new-style with this patch SimpleRunControl doesn't
re-implement start().
Change-Id: I508f5ed05c557ca7188af92f9d9c8d00e2a4acfe
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This introduces a mini-state-"machine" to handle RunControl states
Intialized->[Starting->Running->Stopping->Stopped->]*->Finished.
Needing time between trying to start and getting feedback is nowadays
the normal setup for all remote targets as well as for most local tools.
Making that the default for all runs simplifies the code and provides an
opportunity to (a) fix some currently wrong reports of "stopped
immediately" and (b) to remove target-specific (WinRT) or tool-specific
(Valgrind, GammaRay) state members doing essentially the same.
Change-Id: I7f52fee41144188ee8389e922fdc265f8c0a6459
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
"Stop" in the Keyboard Setup Dialog is not really helpful. Say
"Stop Running Program" instead.
Change-Id: I23f590b6faf64a9a680295c3ccf77231b4f5cd21
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Make sure to reset the outputformater in the RunControl's Application
Output Tab when the runControl finishes.
Change-Id: I7014727580f56f3769f1308da53a1e37231fba22
Reviewed-by: David Schulz <david.schulz@qt.io>
Currently will be used only by Android, but in the future can be
extended everywhere
Change-Id: I37314248f2d6dba2401e853b2a6ea4a36859f502
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Also, use qint64 instead of quint64, as this is what Qt uses.
Keep 0 for invalid PIDs, even if arguably -1 would be better,
but Qt uses 0, too.
Don't move 'toString', instead inline it into the only
caller, keeping translations intact.
Task-number: QTCREATORBUG-17596
Change-Id: Ie9411ea1d2031a5ab0a99bcb3ff48ee430afe254
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The PLUS icon was actually PLUS_TOOLBAR, so name it that way and add an
actual PLUS icon.
Remove the drawing of the branch indicators from the kit tree view by
overriding the method that does it.
Change-Id: I395e5187c1738faaee3e122b4f3f359261b514d7
Reviewed-by: hjk <hjk@qt.io>
This way we can use them from libraries, not only from plugins.
Change-Id: Ic35cfd5f04d638d87606bf272b2c00ded1267c1b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The tools' ability to hook into processing of the output is
retained by making the function virtual.
Also remove the unusual overload of the RunControl::appendMessage
slot and the signal of the same name by renaming the signal.
Change-Id: If3c3cc2dd9c933169dc30b16e3165c9b3cf1440e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>