Commit Graph

907 Commits

Author SHA1 Message Date
Tobias Hunger ddefe062c7 Fix up QProcess::waitForFinished()
waitForFinish returns false if the process is no longer running at
the time of the call. Handle that throughout the codebase.

Change-Id: Ia7194095454e82efbd4eb88f2d55926bdd09e094
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-11 10:04:38 +00:00
Eike Ziller 9e66ce48e4 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/autotest/testcodeparser.cpp
	src/tools/clangbackend/ipcsource/clangbackendclangipc-source.pri
	tests/unit/unittest/unittest.pro

Change-Id: I9db4fbea6ea7c9fdd0d8e1703735af20c92e754b
2016-05-09 16:37:41 +02:00
hjk 3d34ccf4d9 Debugger: Enforce use of target-async for Android gdbserver
Since NDK r11 this seems to be needed to get breakpoints set
correctly on Linux and Mac.

Change-Id: I54281feecc0a915d4761228c612b72889756aecf
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-09 12:47:59 +00:00
BogDan Vatra d342623bb7 Don't wait too much to connect.
Some AVDs down't allow to connect to their console,
there is no point to wait 30s (which is the default connection timeout).

Change-Id: I3cb82b99f958787215f44b471abfc203d7633089
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-09 07:36:32 +00:00
Eike Ziller 0f94aa3f4d Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/debugger/debuggerruncontrol.cpp
	src/plugins/projectexplorer/projectwizardpage.cpp
	src/plugins/projectexplorer/xcodebuildparser.h
	src/plugins/qmldesigner/qmldesignerplugin.cpp
	src/tools/clangbackend/ipcsource/translationunits.cpp

Change-Id: Ibf0857cf8dbf95fc9ac13d5c2112b3f4a2ca7de6
2016-05-03 11:49:01 +02:00
hjk bff8c3108d Android: Make avd name extraction more robust.
The output of the console seems to have changed lately and includes
some initial help hint now. Try to ignore that by always using the
output before the last OK in the the response.

Change-Id: I1cd5bfedd1aaea9de0d494b92d965ce0c60d1655
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
2016-05-02 09:09:48 +00:00
hjk 4dbb6ecd84 Android/Debugger: Always extract GDB version from binary
Change-Id: I19ab6e70a273e803b9755966e15253e006df3940
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-05-02 06:29:44 +00:00
hjk 6b2d2160a7 Android/Debugger: Use -exec-continue instead of -exec-run
... and use the symbol file similarly to the other remote
setups. This makes it work with NDK r10e at least.

Change-Id: I4264d6201d1fb9dd0fed71168ee4155dde53265c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-04-29 15:00:51 +00:00
BogDan Vatra e26bbc8459 Fix warnings
Don't try to write from another thread into a process stdin. Fixes
"QSocketNotifier: Socket notifiers cannot be enabled or disabled from
another thread" warnings.

Change-Id: Id93a40a6bee6d4042cf600c8fabb06bf965d8ccc
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-29 13:35:40 +00:00
hjk 5f53b95636 Android: Avoid endless loop in the presence of crashed process
while (!proc.waitForFinished(200)) { ... } effectively behaves as
endless loop if proc is already crashed at that time.

Change-Id: Ia2228ceddc9c45a37816209deb7e4fd69c7ab7b9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-04-29 12:18:55 +00:00
Tobias Hunger 2e5102f45e BuildStep: Remove finished() signal and use FutureInterface to report
Remove the finished() signal that is (sometimes) used to report that
a buildstep is done and use the FutureInterface for that purpose
consistently.

Change-Id: Ibe5520b562b91f1a7f4fc73ee898b33b930029ec
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-04-25 11:23:42 +00:00
Eike Ziller 4a826ada04 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I0cbc9d335073e3234f472aa43f462eef9a9178aa
2016-04-22 15:13:58 +02:00
Alessandro Portale 5e32183c9b Theme: Separate run/stop/interrupt icons in menus
And for that, we also need separate theme color roles.

Change-Id: I27bf4499acb516f7f824f5e57632797653b150ec
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-21 15:57:56 +00:00
Tobias Hunger f32a1b1e4c ProjectExplorer: Add some more functions to buildsteplist
Use those functions instead of repeating code all over the place.

Change-Id: I03161663b4d5c538fb2ea667353ab7846373ad81
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-04-20 12:16:25 +00:00
Ulf Hermann 385237dbbd Use Utils::Port where possible
This solves the ambiguity between 0 and -1 being the "invalid" port.

Change-Id: I3bac11dd4117bb1820fbd58186699925b73df1c5
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-20 11:06:34 +00:00
hjk 769abc8509 Devices: Add some 'override'
Change-Id: I3dfc23dc5a1ea61c3fa24414f5337e156e5a6507
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-04-20 07:42:30 +00:00
hjk 47afcd1a2e Debugger/Android: Cosmetics
Remove an unnecessary check; use a Qt 5 connect.

Change-Id: I9d436f01bc02184911c6fd234fba5ce751ccf024
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-04-19 12:50:35 +00:00
David Schulz cf0e087ab1 Android: Remove useless java autocompleter.
Change-Id: Icf32ea00ba039a517dae78435efc86aae992e05a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-04-19 11:04:51 +00:00
Tobias Hunger 95ac4edfd4 Projectexplorer: Modernize codebase
Change-Id: I4793b58aa77bcd46af99f8b843c0f7439cdc9269
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
2016-04-15 09:40:53 +00:00
Eike Ziller 5c87432260 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp

Change-Id: I6ae2d37290643d69390f679a54f7596782f3d97f
2016-04-12 11:34:46 +02:00
Alessandro Portale 9373f76b2a Icons: Move Run/Stop/Interrupt from projectexplorer to core
Change-Id: Iba65c2ede538049c9b203fd4c2f99ef552019862
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-04-10 20:08:43 +00:00
Oswald Buddenhagen e426d08e54 Merge remote-tracking branch 'origin/4.0'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/debugger/debuggerruncontrol.cpp

Change-Id: I81b43480a1369e3d7be60ae26e812dda6b962b0b
2016-04-01 17:31:39 +02:00
hjk 39a38d5679 Wholesale conversion to #pragma once
Kudos to cgmb and https://github.com/cgmb/guardonce

Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 15:20:19 +00:00
Nikolai Kosjar 5c030a4336 ProjectExplorer: Retain original target triple for gcc toolchains
The target triple will be used by the Clang Static Analyzer.

Change-Id: Ibf33fef286a4d3ad3f40be4d6d5c9f35881d3d46
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-30 10:40:32 +00:00
Eike Ziller 6cecb7e4db Merge remote-tracking branch 'origin/3.6' into 4.0
Change-Id: Id86f31f52ed1d3f28745b2324b8af32283a24ded
2016-03-16 14:11:53 +01:00
BogDan Vatra 0fda5b6354 Android: Fix GDB location for NDK r11
In NDK r11 gdb was moved to <ndk_dir>/prebuilt/<host>/bin/gdb[.exe]

Change-Id: I8eebb552a92313c5f4f36611b26f54f7c9c6126f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-03-14 15:31:39 +00:00
BogDan Vatra bf3ba0f577 Don't create a QProcess object every second.
Creating a QProcess every second is very VERY expensive, making the QtCreator UI
experience pretty bad, the UI was not responsive when debugging or even when
running an Android application from QtCreator.

Thanks to Intel's VTUNE I could spot and fix the problem in minutes.

Change-Id: I6d3dc71db93e91d9846101a1877bab017df41aba
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-03-10 11:22:14 +00:00
Eike Ziller 68aeb40ff5 Merge remote-tracking branch 'origin/3.6' into 4.0
Change-Id: I5c524b61aa558b66e74a9260b59583851530ac36
2016-03-08 12:51:55 +01:00
Tobias Hunger d502727b2c Android: Fix possible crash
Change-Id: I1b73a077f6d2f157d4367358f9f156d32b3e6cea
Task-number: QTCREATORBUG-15832
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-08 11:30:19 +00:00
hjk 92e301a054 Debugger: Merge debug mode and analyze mode
On the user-visible side, only the 'Analyze' mode button disappears,
and instead a combobox to switch between different tools in appears
in the Debug mode toolbar.

Internally, that's quite some re-organzition: The centralized
'Analyze mode is busy' flag is gone, allowing us to run e.g.
ClangStaticAnalyzer and MemCheck in parallel.

Analyzer tools and debugger now share the same mechanism to
generate/load/save dock widgets.

Analyzer tools now create and handle their own start/stop button
when appropriate. In general, Analyzer tools can create/handle more
than one run control at a time.

Further consolidation is possible, e.g. RunControl state handling
could be merged into the base ProjectExplorer::RunControl to
avoid the still existing duplication in ~15 instances.

Change-Id: I91e5940ebc4211f98056d507cf2f7b5f8efe7f07
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-03-07 15:06:10 +00:00
hjk 931ee3382c Analyzer: Rework the dock widget layout generation
Decouple layout generation from widget generation and
separate analyzer action description from menu action creation.

Tool specific layouts are named "Perspective" now.

Change-Id: I774efe77a07640c4cc26e4e566662c8a673c8831
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-02-29 10:47:43 +00:00
hjk aaf05f5acd Move analyzerbase to debugger
This is the first mechanical step to execute on the 'shared pool of
debugger/analyzer views' idea.

Future steps would be providing infrastructure for the view pool,
making all analyzer/debugger views use the pool and then re-extract
a sensible base for a 'analyzer-and/or-debugger' tool plugin interface.

Change-Id: I1bb392e6dd3084fc56937956bee1d6fd9530335d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-25 12:31:06 +00:00
David Schulz 9aa51d4857 Editor: Fix whitespace cleaning.
Task-number: QTCREATORBUG-7994
Change-Id: I6c197ccc3a148555018e8f8184d116c88d7ea400
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-24 12:03:12 +00:00
Eike Ziller 8b4f14a8ad Android: Use Utils::runAsync
Change-Id: I632d165be4a7e1f35e6e3d7bf401d40817b17223
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-12 12:38:35 +00:00
Tobias Hunger eafb667066 KitInformation: Make defaultValue take a const Kit *
There is no reason not to.

Change-Id: I4accb0b690173d93ad6f4c9dd0bce66d8de75faa
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2016-02-05 11:35:20 +00:00
Friedemann Kleint 97af238656 Preferably use QStringRef::toInt().
Avoid allocations for converting to int.

Change-Id: Id8c79334f4809ec075ffe7e6b7635be4873eafd8
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-02-04 07:56:58 +00:00
hjk 2fd286cc93 ProjectExplorer: Use runnable contents for appoutputpane re-use
Change-Id: I6dd4b9258321a23462bb6488b132aa9f3d1ed5c2
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-02 12:24:56 +00:00
Tobias Hunger 66bdd60947 ProjectExplorer: Sprinkle overrides over the code
Sprinkle overrides over code derived from classes in ProjectExplorer

Change-Id: Ia4cc25649f7dc00b0ea126d8176a59afbc5ed574
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-29 12:34:19 +00:00
BogDan Vatra 221b03a162 Add AndroidRunnable
Using the AndroidRunnable is easy for other plugins to run custom adb
commands before intent is started and after it's stopped.

Change-Id: I012ae87c92cea16aa8074dce2dc6f2b0c4ebeb30
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-01-29 12:29:07 +00:00
hjk 249a36b573 Analyzer: Remove AnalyzerRunControl::runnable() and .connection()
These re-implementations are conceptually "too specific". Rather let
the indiviual tools handle there expectations themselves.

Change-Id: I0bbea407b2241816a40d19eb1dbb0a7589cbda7b
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-29 09:39:47 +00:00
hjk 2cf0060596 Debugger: Use StandardRunnable in DebuggerStartParameters
This is a mechanical replacement for the former executable, processArgs,
inferiorEnvironment and workingDirectory members.

Change-Id: I4160e01427ed801df9b729f1f31d0a2ca48159b5
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-28 14:15:54 +00:00
Eike Ziller d18d7eaef6 Merge remote-tracking branch 'origin/3.6'
Change-Id: I4e1ec4054d7364057c63e63e293a246e64afdddb
2016-01-25 13:21:18 +01:00
hjk aded97cd8a Remove more uses of deprecated QStyleOptionViewItemV4
Change-Id: I5b8463e3f5d2d4688865987bf03cfc569fd5fc19
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-01-21 14:06:06 +00:00
hjk 2e15ba2a0b Android: Adapt AndroidAnalyzeSupport to Analyzer changes
Change-Id: Idbb85c0af082318d97e3d68298f4d802d79a2068
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2016-01-20 14:03:15 +00:00
BogDan Vatra f3262b4ddc Add androidExtraLibs paths to solibSearchPath
Change-Id: I6935681fd22350f7ab849a0ad2ca34d473a0b95b
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-20 09:19:54 +00:00
Tobias Hunger 397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Eike Ziller fc485e6b86 Add default implementation for IDocument::fallbackSaveAs(Path|FileName)
The methods are only relevant for documents without a filePath, and
there was a mix of different irrelevant implementations present in
subclasses.

Change-Id: I4f57d306e5ddd913974cfe6ed0b4db062eb907a1
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-01-19 07:55:56 +00:00
Eike Ziller cfc89a685e IDocument: Rename defaultPath and suggestedFileName
To fallbackSaveAsPath and fallbackSaveAsFileName. That makes it clearer
what they are for, and that they actually belong to each other.

Change-Id: Ie5b83b9db77d39a7fe9e979cc8f22b7f5b9101a3
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-01-14 14:40:45 +00:00
hjk 8150209ff7 Analyzer: Slim down AnalyzerStartParameters
* SysRoot can always be determined from kit.
* Pass around RunMode as extra parameter
  not as part of AnalyzerStartParameters.
  That's closer to the pattern used elsewhere.
* Environment was always initialized from the runconfig's
  EnvironmentAspect. The tools can do that directly.
* Provide setter for display name for cases where
  it is not equal to RunConfiguration::displayName

Change-Id: I811a0d7cdeb55cc37a16a593b3942abb567a2150
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
2016-01-07 18:11:09 +00:00
Eike Ziller ad6c0f9bc6 Merge remote-tracking branch 'origin/3.6'
Change-Id: I8f034f91de04e319dd5ba24b8837f1daca54d918
2016-01-07 11:01:14 +01:00