This is the first step of a larger refactoring. The plan is to make
debuggersettings more orthogonal to individual runconfiguration
implementation. This patch alone already pushes the settings handling
to the debugger plugin and removes code duplication in the
runconfiguration implementation.
Change-Id: I4c78d1658ea462d3df14b873f8f41cc918a23f1a
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Enable debug only if run control has a valid process handle.
Restore icon of rerun-button.
Take the concept of the ProcessHandle further (give it
descriptive string, add change signal to run control, clear it
when process stops to correctly enable debug).
No longer set ProcessHandle to debug run control as this would
allow attach a 2nd debugger to the process.
Reviewed-by: hjk
Change-Id: Iecf388e239fcd365864fe59177d76afac7484ecc
Reviewed-on: http://codereview.qt.nokia.com/1212
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Enable the QML debugger by default for run configurations generated for
a Qt Quick Application based project. This is done by checking the file
list for a 'qmlapplicationviewer/qmlapplicationviewer.pri'.
Change-Id: Ia19d2022808b068c2e525aa28e938b7f7125c35d
Reviewed-by: dt
To achieve this there are two methods in IRunControlFactory you
need to implement:
1) createRunConfigurationAspect returns a IRunConfigurationAspect
which stores the settings specific to your plugin.
2) createConfigurationWidget returns a RunConfigWidget that will
be shown in the project settings
Merge-request: 258
Reviewed-by: hjk <qtc-committer@nokia.com>
Refactor ToolChains in Qt Creator:
* Allow for several toolchains of the same type
* Be smarter wrt. guessing what kind of output a toolchain
produces. This allows us to eventually handle e.g. embedded
linux setups way better than before.
* Be smarter wrt. guessing what kind of environment a Qt version
needs.
* Improve auto-detection of toolchains a bit
* Decide on which debugger to use based on the kind of output
produced by the compiler.
* Add options page to configure toolchains
* Remove toolchain related options from the Qt version dialog
Reviewed-by: dt
The option is used for the stop button in the application output.
Closing tabs will still ask unconditionally, also if applications would
be killed as a side-effect, e.g. of closing Qt Creator.
The Symbian controls also always ask, with a more descriptive text,
because killing applications might have negative effect on the device in
some cases.
Reviewed-by: Friedemann Kleint
Task-number: QTCREATORBUG-3119
Now that we have 2.0 out we can be less strict when checking
project consistency when loading .user files. The strictness
was necessary due to upgrading non-target projects to target
projects.
* Allow for invalid Qt versions when loading a .user file that was not
updated from the pre-target era.
* Update the UI to show invalid Qt versions as invalid. Remove
the Invalid version as soon as a valid one is imported.
This does preserve the buildsteps, too.
There's a UI in qml/customexec/cmake/qmake run configs for choosing the
debugger languages (C++ and QML). The default for all except .qmlproject
is only C++, so default debugging behavior is the same. However, if the
user wants to do simultaneous debugging with two languages, or only
debug QML, they can select the languages from Run Settings and it will
be remembered.
Reviewed-by: hunger
Fix breakage introduced by the new asynchronous stop() methods
of the debugger run controls. Allow for RunControl::stop() to
be asynchronous by introducing a return enumeration indicating
that. Introduce additional method aboutToStop() asking user
to quit (tie that to the RunControl instead of having to hack
the behaviour elsewhere).
If asynchronous stop is detected, terminate the ProjectExplorer
asynchronously.
This makes the behaviour consistent across switching sessions/
closing outputwindow tabs and quitting Qt Creator.
Reviewed-by: dt
Rubber-stamped-by: hjk
* Add a DeployConfiguration class to hold settings related
to deployment.
* Add BuildStepsList to hold a list of buildsteps
* Update BuildConfiguration to use BuildStepLists instead of
manageing lists of buildsteps itself.
* Update BuildManager to use BuildStepLists in its interfaces
* Fix fallout introduced by API changes
* Update .user file to new way of storing settings
Task-number: QTCREATORBUG-1427
Task-number: QTCREATORBUG-1428
Task-number: QTCREATORBUG-1811
Task-number: QTCREATORBUG-1930
Move link handling code to outputwindow from OutputFormatter
Move createOutputFormatter to the RunConfiguration
That makes it easier for Qt4RunConfiguration et all.
This also fixes that each time a runcontrol was rerun a new
OutputFormatter was created without deleting the old one, thus
increasing the memory usage.
And use it to implement changing the run icon in the application output.
That implementation does only support the two run modes run and debug
for now. Further abstraction for more run modes to be done once needed.
Task-Nr: QTCREATORBUG-1232
By introducing the OutputFormatter, RunControls can influence the formatting
depening on the application started. A nice (and intended) side-effect is that
the QML runtime specific formatting will not interfere anymore with anything
else.
* Ease cross device development by introducing 'targets' which
group build- and runsettings that are valid for this one target
Most of the kudos for the code review go to dt. Con, thorbjorn,
ckandler and others did also review parts of this patch.
Reviewed-by: dt
* Use id() for methods returning a string used to represent
some type of object.
* Use displayName() for strings that are meant to be user
visible.
* Quieten some warnings while touching the files anyway.
* Move Factories to their products in the plugins where that
was not done before.
Reviewed-by: dt
and ApplicationRunConfiguration to LocalApplicationRunConfiguration,
preparing remote debugging. Change the interface canRun() to be const,
run() to create() (since it does not run anything), use references
to the QSharedPointer<Foo>. Introduce d-Pointer and remove
unneeded headers from ProjectExplorerPlugin and add missing includes
everywhere.