Commit Graph

61421 Commits

Author SHA1 Message Date
Christian Kandeler
3046c83f85 ProjectExplorer: Consider more compiler flags when collecting includes
The -nostdinc and -nostdinc++ options must not get filtered out when
constructing the compiler command line for collecting include paths.

Fixes: QTCREATORBUG-22760
Change-Id: I6bb10024f39869d5ef546968eb13d07d39c985ae
Reviewed-by: hjk <hjk@qt.io>
2019-08-13 13:55:39 +00:00
Christian Kandeler
6c40fec9b0 QmakeProjectManager: Try harder to find include paths in sysroot
As opposed to qmake itself, Qt Creator tries to resolve the value of
INCLUDEPATH against the sysroot. Therefore we should not reject Unix-
type absolute paths as candidates for sysrootification on Windows hosts.

Fixes: QTCREATORBUG-21164
Change-Id: If4be103061ad3edc64f8d1f5cfeb7c6b48e961c8
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-08-13 13:54:02 +00:00
hjk
65f2f8a2b4 Drop connections to active target and build config changes
... for build step related widgets. These are specifig to a build step
which in turn is only interested in its own build config and target.

Change-Id: I5ec277ba279932d18a615e528acffaccdc41e307
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-13 13:21:52 +00:00
Tobias Hunger
d115276b34 CMake: Move code from CMakeProject into CMakeBuildSystem
Introduce BuildSystem to implement functionality common to all
build systems out there. This includes things like delaying the
parsing by 1s.

The actual CMake specific code is then moved into a derived
class CMakeBuildSystem.

Change-Id: I84f4344430f19a44e16534db294382c436169ed5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-13 13:13:02 +00:00
hjk
fcffb5f2fc Utils/all: Create an OutputFormatterFactory
Essentially following the scheme used for the various project
configurations. This makes it possible to construct OutputFormatters
by Id only, potentially reducing hard plugin dependencies and
opening the road to have several output formatters per
RunConfiguration/Outputpane/...

Change-Id: I4b5fb6fb6be8b0d9a0859f178bb0effc3398b09e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-13 13:07:06 +00:00
hjk
86e9c42c90 Project: Push direct RunConfiguration use out of RunWorker factories
Change-Id: Ie5a5771bcaed7085494d5875b42668ee8d6dc157
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-13 12:34:46 +00:00
Christian Kandeler
1f4176275e RemoteLinux: Fix tar packaging for long file paths
Contrary to what we assumed, long file paths cannot be split up
arbitrarily, but only at separators.

Fixes: QTCREATORBUG-22815
Change-Id: Id13036f3d73cc5d6b272066c0f8a26d9748ce6b8
Reviewed-by: hjk <hjk@qt.io>
2019-08-13 11:44:58 +00:00
Eike Ziller
7d00aeb33e Android: Make sure right Java is found in PATH
We not only have to make sure that the Java path from the Qt Creator
settings exists in the PATH, it must also be the one that is found when
running Java tools. Otherwise having two different Java versions in the
PATH can lead to the wrong one being run for the build.

Fixes: QTCREATORBUG-22504
Change-Id: I22ff88fb334bb8ba5f719fbc3482c4629713409f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-13 11:23:08 +00:00
Tobias Hunger
ae345003aa ProjectExplorer: De-virtualize some more virtual methods
Use setters/getters for the bool flags in
Project::needsBuildConfigurations() and
Project::hasMakeInstallEquivalent.

Change-Id: I5ce937c3a5e8e0db627cda02a9007f8c28ccda0c
Reviewed-by: hjk <hjk@qt.io>
2019-08-13 10:24:30 +00:00
Tobias Hunger
afb4fb474f Autotools: Remove dead code
Change-Id: Ie34b1560992a3466568be80ddc2a234e9011a1ce
Reviewed-by: hjk <hjk@qt.io>
2019-08-13 10:24:20 +00:00
Tobias Hunger
0f1fcb72e2 QmlProjectManager: Remove dead code
Change-Id: I174aaaa9bde229aaeaded32835858243972e5086
Reviewed-by: hjk <hjk@qt.io>
2019-08-13 10:24:12 +00:00
hjk
d2505ebac8 BareMetal: Remove unneeded check on target
Not directly used further down (and the check gets in the way
when trying to reduce runconfiguration/target accesses in a
running run control).

Change-Id: Ie4da1454fd835307e6410ace31534014191351dd
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-13 09:14:07 +00:00
hjk
3cd2e741c6 QmakePM: QtWizard Code cosmetics
Unused code, namespaces, foreach.

Change-Id: I1a4fd2be2f4005a35b1d9ab0e38cc260ae459fda
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-13 08:28:04 +00:00
hjk
ad11498391 ProjectExplorer: Persist run config build keys as separate entry
The id mangling is not needed by the upper layers anymore, time to
get rid of it in the .user files as well. For now, start storing
the build keys explicitly, use that directly when present, and fall
back to the old mechanism in cases we read settings without it.

Change-Id: I1fa467a1488828ffd400e7d67d6fcd8247c938d1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-13 08:11:54 +00:00
Thomas Hartmann
58ab977ad4 QmlDesigner: Use backspace on Mac instead of delete
This is what most users expect.

Task-number: QDS-823
Change-Id: I3955d1afcdc6686d8d0f0150e335f453bd253633
Reviewed-by: Brook Cronin <brook.cronin@qt.io>
Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-12 15:34:36 +00:00
Eike Ziller
21c2bf7e72 Merge remote-tracking branch 'origin/4.10'
Conflicts:
	src/plugins/python/CMakeLists.txt

Change-Id: I18808710dd99b97d4e1e7c3d223b7f814083de31
2019-08-12 17:04:12 +02:00
Eike Ziller
821f799ff3 Android: Fix adding Java SDK to environment
33a9a03121 broke it by inverting the
condition.

Task-number: QTCREATORBUG-22504
Change-Id: Id0b66ec025281e6d6c52b7309f35a3bdfb8e7170
Reviewed-by: hjk <hjk@qt.io>
2019-08-12 14:52:39 +00:00
Tobias Hunger
a90b1c26b1 CMake: Remove CMakeProject::buildTargetTitles
The only user can also get this information from the relevant
CMakeBuildConfiguration.

Change-Id: I80e176ef0a8bc427f6adbf75b20e29f38d7b949f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-12 14:23:58 +00:00
Eike Ziller
dbfa55f5fc CMake: Do not run GUI CMake tool on macOS
We may neither run "/some/path/CMake.app" nor
"/some/path/CMake.app/Contents/MacOS/CMake",
so add a missing workaround for the latter, and use the "resolved"
executable path for the retrieval of version info and capabilities.

Change-Id: I6fed8cc478c0d0b9946a934fd83126e157bde992
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-12 13:52:25 +00:00
Knud Dollereder
31effafb60 Add context-menu to insert a keyframe for all visible curves
Change-Id: If86550bb9b8e73ff22fdbe3c2ffc579c35c505da
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-12 13:13:47 +00:00
Eike Ziller
42ea10892c CMakeTool: Fix disabling of "Autorun" property
Could no longer unset "Autorun" for CMake tools. Broke in
de6faa0f15

Change-Id: I0b6e9e64de591e1128ff0dabf4eedb40e1a3748c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-08-12 12:54:39 +00:00
Eike Ziller
ff503740ce Run CMake via canonical path instead of warning
Running CMake via a non-canonical path (including '..' in the path, or
via a symlink) can result in funny errors.

de6faa0f15 added a warning for that
condition. Unfortunately the auto-detection of CMake can return a path
to a symlink (e.g. for CMake from brew on macOS). Also it is helpful to
use a symlink to e.g. manage different CMake versions.

Instead of warning about the condition, and forcing the user to resolve
it manually, simply run CMake via its canonical path when actually
running it from Qt Creator.

Change-Id: I95623b45c5436a6d61c1419b7aba23e2a73a0650
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-08-12 12:54:28 +00:00
Eike Ziller
b61a5b759b CMake: Remove unused function
Change-Id: I6b793e0cb01b989f3087dcefe091b77bcfebe370
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-08-12 12:54:19 +00:00
Knud Dollereder
e0512f18a4 Catch alternative value type names
Fixes: QDS-892
Change-Id: I73577c56479ae42ff9f2aa82db31cb766a068537
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-08-12 12:37:04 +00:00
Knud Dollereder
d6095f9763 Do not clear selection when clicking on a selected keyframe
Change-Id: Ia2907a3687b70faf32bc32540bac8f381b507b73
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-12 12:22:15 +00:00
Christian Kandeler
9be30e4f27 ProjectExplorer: Improve target setup page
- Do not hide any kits, as that it not transparent to the user.
  Instead, show all of them and disable the unsuitable ones, with
  an explanatory tool tip.
- Keep the list of kits sorted after new ones have been added.
- Do not do tons of unnecessary layout operations when setting the
  kit list up from scratch.
- Code clean-up.

Fixes: QTCREATORBUG-20018
Change-Id: I7823ec9c3e5be00c6791e61926999cea0d7e43df
Reviewed-by: hjk <hjk@qt.io>
2019-08-12 12:20:50 +00:00
Christian Kandeler
df48ba5781 QmlDesigner: Fix qbs build
Change-Id: Iff06eaa50ae23f9ddcc82a2d2df9d35508ea9ad9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-12 12:19:33 +00:00
Henning Gruendl
37585d3c55 QmlDesigner: Fix self-closing splash screen
Task-number: QDS-896
Change-Id: Ibc76c1e4668ba5a56ba7c45e68e698ed78bfb0e7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-12 12:02:56 +00:00
Volker Hilsheimer
a5da571ed5 Port from Java-style QMapIterators
So that it compiles against qtbase/dev

Change-Id: I628ee8b935cfde11c0a67ccc09f3b64aa7a884d3
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-08-12 11:27:24 +00:00
Eike Ziller
68cbde187a CMake build: Add qtc-askpass
Fixes: QTCREATORBUG-22804
Change-Id: I749d0da495e77e45198ee67675c297ec68da1634
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-08-12 10:55:16 +00:00
Eike Ziller
d84a6c4988 Update change log for 4.10.0
Change-Id: I6cb272a08fb240caca98bc6286750006518470e1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-12 09:55:11 +00:00
Eike Ziller
dcc47f2587 iOS: Share code for simulator display name
Change-Id: Iecfaa43aefc7ed783d4149dec008330ee5c124e9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-12 08:37:12 +00:00
Christian Stenger
e47a01c3cb Debugger: Update breakpoint marker earlier
Since the distinction between global and engine
breakpoints we may not update the breakpoint marker
correctly which in turn appears as if the breakpoint
had been failed to set.
Fix this by updating the breakpoint marker already on
insertion request.

Change-Id: I7c4ed046c26667e6aa1efceb5071c12a6d1e6132
Reviewed-by: hjk <hjk@qt.io>
2019-08-12 07:52:42 +00:00
Eike Ziller
c77447d491 Use new global notification area for update information
Instead of using a modal dialog box.

Fixes: QTCREATORBUG-22817
Change-Id: I129827b7f715b6e739ea09275bf43c64eb3d4e3f
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-12 07:16:01 +00:00
Eike Ziller
c67ed4d35b Add global notification area and use for UI Tour info
Adds a global info bar display above the main window's status bar that
can be accessed via ICore::infoBar().

Replace the blocking "Take UI Tour" dialog by a notification there.

Fixes: QTCREATORBUG-22819
Change-Id: I733f1bfd2d1db0295754ed2e28bb202f927d0edb
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2019-08-12 07:15:27 +00:00
Thomas Hartmann
596e4b041a QmlDesigner: Add missing PGN
Change-Id: Ie846c18c498ac838969c9ef8bda1090746557a81
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-09 14:31:12 +00:00
Thomas Hartmann
b2cd629668 QmlDesigner: Use ICore::dialogParent() for EasingCurveDialog
Change-Id: Ibf02a4823cef4e613614f54da1d39648d144cf9a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-08-09 14:26:16 +00:00
Tobias Hunger
eb2f49c398 CMake: Fix race/crash on project open
When the filesystem scan takes longer than the cmake parsing, then
resetData() was called on BuildDirManager by the CMakeBuildConfiguration
before the CMakeProject had requested its data.

Move some code back into CMakeProject to resolve this issue.

Change-Id: Ib21bdd63fdca79c2ad39a7e060df438b456700b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-09 13:08:11 +00:00
Eike Ziller
63c9c5124e Use common functions for handling ampersands/accelerators
Change-Id: I4c74a041a656ed547db0a7406f4306008a513879
Reviewed-by: hjk <hjk@qt.io>
2019-08-09 12:45:38 +00:00
Tobias Hunger
09530d6dcc ProjectExplorer: Use RAII pattern for parsing start/stop signalling
Change-Id: I13de537140f265db3e3d0ab1cd924d6897cd90c8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-09 12:45:29 +00:00
Eike Ziller
16b8ab2461 Help: Fix handling of ampersands in open pages pane
E.g. for "Plug & Paint" example documentation. The list view may not
show double ampersands, but for the context menu they must be "quoted".

Change-Id: I773ac50f93b975504a5aff172336da77a703b52b
Reviewed-by: hjk <hjk@qt.io>
2019-08-09 12:45:20 +00:00
Tobias Hunger
8868989d5c CMake: Fix CMakeCache.txt file detection
QFileInfo::exists(QString) is a static method, so the code was
looking for "CMakeCache.txt":-/

Change-Id: Ib0f9711a159fca9437ffb15c26af246ec69489ca
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-09 12:43:23 +00:00
Tobias Hunger
200b04f9ca CMake: Simplify setting up a new reader
There is no need to reset a reader when e.g. the build directory changes
when the server-mode reader is *not* used. So the one case where having
separate reparse-options for the case where the reader changes and the
case where it stays the same is bogus.

So unify the flags into one set and simplify the code accordingly.

Change-Id: I9bcfcc6333d574d49513ef1256a9a8597bda4ec7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-09 12:43:14 +00:00
Tobias Hunger
d880f1f771 ProjectExplorer: De-virtualize knowsAllBuildExectuables method on Project
Just use a setter instead.

Change-Id: Id5dff64e9a7fcdf64a245b71432318299a49d9f7
Reviewed-by: hjk <hjk@qt.io>
2019-08-09 12:42:53 +00:00
Tobias Hunger
0c8c08b81b Designer: Fix implicit cast warnings
Change-Id: I33b2c214de9fc517076ef12f9aec32a18adec36a
Reviewed-by: hjk <hjk@qt.io>
2019-08-09 12:42:37 +00:00
hjk
6dcdacb10e RemoteLinux: Remove more unneeded qtsupport include
Change-Id: I7cdfd0a4cfa58424ddf1105c144acaba07f204b3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-09 12:35:02 +00:00
hjk
f9c221eb54 ProjectExplorer: Re-work setup runworker factories
This combines two of the previous three paths to create run workers,
and refers to RunConfigurations by id, not by type where possible
to decrease coupling between the classes.

Only allow "type of run configuration" and "type of device"
as the only possible kind of restriction and require a uniform
RunWorker constructor signature.

Adapt user code to fit that pattern.

Change-Id: I5a6d49c9a144785fd0235d7586f244b56f67b366
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-08-09 12:34:42 +00:00
hjk
a88970db34 RemoteLinux: Avoid unneded qtsupport #include in deploymenttimeinfo.cpp
And de-noise the file a bit.

Change-Id: I11f0dc83aae87dd397fa8a69ec3b909c4467740c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-09 11:52:39 +00:00
Tobias Hunger
87f496d091 CMake: More logging of cmake parsing flags
Add more logging of cmake parsing flags as cmake runs are requested
in the plugin.

Change-Id: I5231bd29dfeb6521218dc28c26a5b658ccb4059b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-08-09 11:52:26 +00:00
hjk
39b66f0557 ProjectExplorer: Add a convienience BuildStepList::firstStepWithId
For later use.

Change-Id: I696e3e03e1f8a82c25b29c9cf4b311360d83c12f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-08-09 11:08:39 +00:00