Commit Graph

1898 Commits

Author SHA1 Message Date
Tobias Hunger
d323d595b7 QtVersion: Add a method to query the target device type
Add and implement a method to get the supported target device
types to the BaseQtVersion interface. Implement this for all
Qt versions.

Validate that the Qt version's target device type matches up
with the device type set in the kit and warn on mismatch.

Change-Id: I95da42031022663776afe23a50eae3677bdb1dda
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:25 +00:00
Tobias Hunger
4b0a8648e4 FeatureProvider: Remove Feature and FeatureSet
Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.

Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 14:49:17 +00:00
Tobias Hunger
19ee414446 KitConfigWidgets: Use override
Use override on all virtual methods implemented by classes derived
from KitConfigWidget.

Change-Id: I050a9dbfd79b3ebe73af712b71d855a85f332928
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2015-12-02 09:46:56 +00:00
Tobias Hunger
b977b2f4b1 Android: Fix AndroidDeviceInfo::isValid
Task-number: QTCREATORBUG-15430
Change-Id: I6746cffd8d3d4ffc71c35060ed0a2eba7a7aa64b
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-12-01 13:05:08 +00:00
Tobias Hunger
db5bd69b26 Android: Add support for Android 6.0
Change-Id: Icd6a1904d7c1d6fecad3363d9cf72699e01db9f0
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-12-01 10:40:39 +00:00
Eike Ziller
fa227a4eef Merge remote-tracking branch 'origin/3.6'
Conflicts:
	src/libs/qmldebug/qmldebugclient.cpp
	src/libs/qmldebug/qmldebugclient.h
	src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp

Change-Id: I9594b4e9befc78f8138deb121f0bfc4212f7edbf
2015-11-26 13:01:20 +01:00
Tobias Hunger
08aebad607 Android: Allow for longer keystore alias names
This was limited to 8 characters, but I can't find any indication
that there is any reason for such a short limit.

Task-number: QTCREATORBUG-15397
Change-Id: I1d7eb3ec4403e66988b443199ce96ab89fc84c33
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-11-26 10:11:47 +00:00
Alessandro Portale
033862f305 Themed Icons: Introduce Utils::Icon
Instead of describing icons via file name or in the themed icons case
via
a string that is a list of mask/color pairs, we have now a class for it.

Icons are now listed in per-plugin *icons.h headers.

RunControl::m_icon was The only place left where an icon property was in
fact a string. This patch changes that member to be a Utils::Icon.

Change-Id: Ibcfa8bb25e6d2e330c567ee7ccc0b97ead603177
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-25 12:30:52 +00:00
Tobias Hunger
8345ba2d2d Android: Set JDK path for builds
Without it the build may fail.

Task-number: QTCREATORBUG-15382
Change-Id: Ie7f823746516d17e8e32a367953cf491378f00c1
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-11-24 12:59:51 +00:00
Eike Ziller
79c27ec6f1 Avoid running qmake by using unsortedVersions
Use unsortedVersions() instead of versions() where possible, since
versions() sorts by version numbers, and therefore needs "qmake -query"
to have run.

Change-Id: I76a05f1647d2baacbd33829c6b3bf719a1c8dcbb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-23 14:48:55 +00:00
Tobias Hunger
8d936b8aa6 AndroidDeployQtStep: Keep data requested from user around
Reuse the data for the following AndroidDeployQtSteps that
are in the same batch submitted to the BuildManager.

This should fix Qt Creator asking for the device multiple times
when building projects that depend on other projects.

Task-number: QTCREATORBUG-15338
Change-Id: I4fbb04d4d8e492f6a766461bca3e6f9683824def
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 12:11:42 +00:00
Tobias Hunger
f996f05b0f AndroidDeployQtStep: Pack data
Change-Id: I044dd8a71ad2a3502ce3c96dcbce3c850a13e819
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:05:20 +00:00
Tobias Hunger
8e55ee6377 Android: Clean up AndroidDeviceInfo
Turn it into a class, add a isValid method and initialize it properly

Change-Id: I413ca931b125c9bbfc58b855280e9e58402f3d0b
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-17 10:05:06 +00:00
Tobias Hunger
79f82d0d0a BuildManager: Provide context of earlier build steps to init
This information can be used to get information from earlier steps,
which e.g. queried for android devices to deploy to.

Change-Id: Iefe1c9443915cb6211f86f98ff7aaf3cb75145ba
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 14:04:59 +00:00
Tobias Hunger
cedf015c10 ProjectConfiguration: Clean up some constants
Remove unnecessary constant and move others into the cpp file where
they are used.

Change-Id: Ib1e8ac69a39eb38794bbdafc860ca42ca29c3bdb
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 14:04:40 +00:00
Tobias Hunger
0e278e9efe ProjectConfiguration: Sprinkle override and explicit over the code
Change-Id: I2aa3a32a0d30f1d122977d94d4109227dea6bbd7
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-16 10:14:32 +00:00
Tobias Hunger
ca29cbfc8a Consistently use Utils::FileNameList
Consistently use Utils::FileNameList in favor of QList<Utils::FileName>

Change-Id: Iafbb466c882bfd91c25c9e78f107d401bfdb6d55
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
2015-11-16 08:33:02 +00:00
Tobias Hunger
406d231f1b Do not create a QFileInfo via Utils::FileName::toString()
Use Utils::FileName::toFileInfo() instead.

Change-Id: I63615b0e4ce1dd2e32d5f2b488710a55b8507d34
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-03 11:03:42 +00:00
Eike Ziller
310ae09996 Merge remote-tracking branch 'origin/3.6'
Change-Id: I68512c775ed25b51c8b0abe1818c9c7c5955874c
2015-10-30 16:08:03 +01:00
Tobias Hunger
88bbf4d126 ToolChains: Check typeId first before doing expensive checks
This should speed up toolchain auto-detection a lot.

Change-Id: Id732ed359a4c9de1d49cb658cc91c2e7c9d1b7a6
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-30 14:35:37 +00:00
Tobias Hunger
ac1d9abd07 ToolChainManager: Refactor toolchain restoration
This should be simpler to follow now.

Fix autodetection to return not only the newly detected toolchains,
but also those that are re-detected (taking their definition from
the alreadyKnown list passed to the autodetect method where possible).

This avoids running lots of toolchains during start-up, but still
enables us to fix QTCREATORBUG-12751

Task-number: QTCREATORBUG-12751
Change-Id: Ie74e7cffb2b014a6132cc8559db232397344f2f1
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-27 12:16:16 +00:00
Eike Ziller
6d4135d8f0 Merge remote-tracking branch 'origin/3.6'
Change-Id: Iddfa0d2f3c0fb8ba65c0e5d479ad8e2f2cb95685
2015-10-26 10:55:50 +01:00
Alessandro Portale
b8bdc6f669 Icon refresh: First step towards the new Qt Creator themes
http://blog.qt.io/blog/author/didesous/ announced new designs/themes
for Qt Creator. This patch replaces many of the existing toolbar icons
with recolorizable masks for better theming support.

Change-Id: I557aa485205fe2624f33724226f698c303342b40
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2015-10-23 16:04:52 +00:00
Ulf Hermann
69377f0de4 Introduce Profile build mode
We define a Profile build to be a Release build with separate debug
info. You can thus change a given build from Release to Profile of vice
versa by toggling the separate debug info checkbox. The messaging for
future user interaction about Profile builds has to take this into
account.

Task-number: QTCREATORBUG-14009
Change-Id: I62a5b13993b20bf36329b1eefa8b1b6096f31644
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-20 16:15:18 +00:00
Orgad Shaneh
941d23a206 ProjectExplorer: Avoid execution of g++ on startup
Change-Id: I53719f58714b3dd0fcf21d8c7b1deb8d86190408
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-10-14 10:47:49 +00:00
Tobias Hunger
a004cfbdd0 ToolchainFactory: Remove unused typeid
Change-Id: Id13787d549312251fbe806076b9ad594ab16c2d2
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-10-08 09:38:30 +00:00
Christian Strømme
7dd847404f Android: Get Java home location from the java_home tool on OS X.
If the java_home executable exists on OS X we can run it to get the
current JDK location.

Change-Id: I5d032d153cba4d7168931ab0f83723292d3d714a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-10-02 14:10:04 +00:00
Daniel Teske
9f2f41e285 Android: Support non distro installations of JDK
The android tools expect to find java and javac in the PATH. Which
is the case on using the distro java, but isn't if the user
installs Oracle's binary jdk distribution.

Change-Id: Ib5f5448724f00b000a969c27d5aad6a420bfc1eb
Task-number: QTCREATORBUG-14155
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-09-25 14:02:26 +00:00
Daniel Teske
ac4b3f33d0 Android: Change pulling of app_process binary to not use readLink
As apparently Samsung devices don't have it. The new algorithm
is:
- If it is a 64 bit device
  - Either pull /system/bin/app_process64 (64bit process)
  - or pull /system/bin/app_process32 (32bit process)
- If it is a 32 bit device
  - First try /system/bin/app_process32
  - If that doesn't exist try /system/bin/app_process

The old code did a symlink resolution on one of app_process[32|64|],
but I believe the symlink resolution was only needed for a symlink
from app_process to app_process32, which is covered by this code.

Change-Id: Iedeeb247c3059931e1ddf6d01e8b2aab13156470
Task-number: QTCREATORBUG-15006
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-09-25 13:28:30 +00:00
Eike Ziller
0ba4781bfc Merge remote-tracking branch 'origin/3.5'
Change-Id: I889b93611d1762121548fb71d1d3493e4adba313
2015-09-25 10:35:42 +02:00
hjk
b6e52b0c37 Android: Fix debugger startup with recent Android SDK
Android SDK Tools 24.x ship an adb that requires in the 'adb shell'
command an additional level of quotes for parameters with spaces
compared to previous versions. That broke the passing of the
gdbserver start command and consequently debugger startup.

Task-number: QTCREATORBUG-15032
Change-Id: I442355821641d4c6a632b50d1065c442736711aa
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-09-23 14:53:22 +00:00
hjk
1a8faab311 ProcessExplorer: Use 64-bit PIDs in DeviceProcessSignalOperation
This is for consistency with the return value of QProcess::processId().
No platform supported by Qt uses pid values exceeding 2^32.

Change-Id: I8dcdaf9e4640f321bf66eb200aeacdc84da5153f
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-09-16 11:06:41 +00:00
Christian Kandeler
8d3aa026e0 Utils: Rename PathChooser::changed() signal.
The name is overly generic, particularly with a pathChanged() signal
also present. Rename to "rawPathChanged", which adequately describes the
semantics.

Change-Id: Ia62b8b0a97a794cb6d5ad6b8ce0abcd36b5f5cdb
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-09-03 11:12:57 +00:00
Eike Ziller
3b1a966cc8 Merge remote-tracking branch 'origin/3.5'
Change-Id: Iebaabfc2f724cd493b7cab025406531cea5cd2dc
2015-09-01 12:57:51 +02:00
Tobias Hunger
52a52ca09f Android: Remove unused constants
Clang warns about these.

Change-Id: I002d97356dd7b6401edc577b69978d5d17a1e404
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-08-31 12:16:17 +00:00
Thiago Macieira
a421538414 Fix bad use of port numbers.
-1 is not a valid quint16 number. It gets converted to 65535, which is
a valid port number. So, instead, use port number 0 which isn't valid
(if you try to bind to it, the OS chooses a port for you).

Found by ICC
src/plugins/android/androidrunner.cpp(150): warning #68: integer conversion resulted in a change of sign

Change-Id: I7de033f80b0e4431b7f1ffff13fc4e4f0f7af445
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-08-21 16:33:44 +00:00
Ulf Hermann
5f90990c30 Tell the QML debug server exactly what services we expect
The services need to be loaded before the first QML engine is created.
The first QML engine may be created before a client connects. When the
JavaScript debug service is loaded the engine is put into interpreter
mode as we don't support debugging in JIT mode. Profiling, however
should be done in JIT mode, whenever possible.

Thus, in order to avoid the loading of unnecessary plugins and to get
better results from the QML profiler we tell the debug server which
services we expect, even before the client connects. Qt 5.6 will support
additional command line arguments to specify the services and this
change uses them.

Change-Id: I6dcee016c39995e9adada6eaf0e39d8299c9b7e7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-08-17 15:13:56 +00:00
Eike Ziller
cd5f9f6ff8 Merge remote-tracking branch 'origin/3.5'
Change-Id: I7b3ef276d438ff0f184a649153e8aeec08a9f8c9
2015-08-04 13:16:03 +02:00
Daniel Teske
6c7ab912a6 Android: Fix opening of package location on Windows
Utils::FileName::append appends a slash, so appending a string
which starts with a slash leads to a double slash.

And explorer.exe doesn't like this double slash.

Change-Id: I2549aca9ec51fad092f006a16f092a02c3a83149
Task-number: QTCREATORBUG-14568
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-08-03 07:54:48 +00:00
Sergey Belyashov
007daabff5 Fix i18n problems
In the QmlEngine, a few tr() have been replaced by
QCoreApplication::translate().
In other files, Q_OBJECT has been added to the class definitions.

Change-Id: Ia0505c19934dc691cd3d67f4946293290c2fec68
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-07-23 19:19:06 +00:00
Oswald Buddenhagen
ddea5994f3 Merge remote-tracking branch 'origin/3.5'
Conflicts:
	scripts/deployqtHelper_mac.sh

Change-Id: Ia0d5fef8c28e0bfb3b0c703ad3652e2d70d9e7d1
2015-07-17 17:25:26 +02:00
Daniel Teske
17c04dccc0 Android: Compare typeId() to the correct constant
Broken in e6d1141e1e,
which changed the code to use typeId() instead of type() but
didn't change to what it was compared.

Change-Id: I5b4f76395bd193ee30ee606023483d3bd0b062e8
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-07-15 15:55:22 +00:00
Daniel Teske
857bae3146 Android: Mark debug output in red for Android <5
We do that for Android 5 and onwards.

Change-Id: Ia79fbf3cd50ed561e5dba1b8707d296fe1daa82d
Task-number: QTCREATORBUG-14663
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-07-15 15:30:25 +00:00
Tobias Hunger
e6d1141e1e ToolChain: Get rid of type() in favor of typeId()
Change-Id: I8fc68c266acb55a7c3e014697a7b526784914f7a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-14 14:40:03 +00:00
Tobias Hunger
6eec39c308 ToolChainFactory: Rename id() to typeId()
This is the same as ToolChain::typeId(), so it should have the same
name.

Change-Id: Ifd344825be801aff3dab96bfe924a1984a77bbee
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-14 14:00:32 +00:00
Tobias Hunger
6d81730764 ToolChainFactory: Add typeIdFromMap and use it in factories
Change-Id: Id3254bcb3a5c426540bbab49dc61545031af6826
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-14 13:27:31 +00:00
Daniel Teske
5f9d991062 Add QtVersionManager::unsortedVersions()
To sort the list, we need to know the version number of all qt
versions. That requires running the qmake. Since in most cases
we don't need the sorted list at startup, add a method for that
and use it.

This prevents almost all calls to queryQmake for me, except for
a few for Android Qt Versions.

Change-Id: I6db89f214d68d07fee4b4dd15ee14c10d1248565
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-07-13 15:18:00 +00:00
Tobias Hunger
8beeb6c870 ToolChain: Use override on toolchains and related classes
Change-Id: I5019aa3a067f54095ee21096adeb4dea6ad5dea4
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-09 11:11:00 +00:00
Tobias Hunger
cbf302893d ToolChain: Turn id into a QByteArray
That should take a couple of bytes less to store. Make sure this
change is invisible to the configuration files.

Change-Id: If5e73b52493c9164de9e342021d8153d274b350f
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
2015-07-09 11:07:12 +00:00
BogDan Vatra
2182ded57b ProjectExplorer: Use Core::Id as RunMode "enum values"
This provides a way for third-party plugins to implement run
modes without the need to add a value to the central enum or
using manual workarounds like RunMode(*(int*)&someUniqueObject).

Instead of centrally defined enum values this uses Core::Id that could
be defined anywhere.

Change-Id: Ic350e3d8dbb8042c61b2d4ffec993ca151f53099
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-06-30 06:20:54 +00:00