qmake doesn't do anything with sysroots at this level, so this code
plain does not belong here.
sysrootification is used when resolving INCLUDEPATH, which is emulating
compiler behavior. this is done by higher-level code.
Task-number: QTCREATORBUG-11944
Change-Id: Ia25f0b6ef713e9809d974e3f3e49ba308b8c933f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
We relied on the CppModelManager to tell us whether a project was reparsed
after a kit change. While this worked, it was not guaranteed that the project
is really finished (and ready for e.g. building) after pushing new ProjectInfos
to the CppModelManager.
Rely on the projects telling when they are finished with parsing. This is more
accurate and future-proof.
The introduced signals in Project and SessionManager are (at the moment)
only for tests.
Change-Id: I1b368ec4585ffa8755eb28fac6d187cce31243ee
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
If both plugin and no_plugin_name_prefix are defined in CONFIG, QtCreator
would not assemble the file name correctly.
Change-Id: Iebfc0402ff7c89f2a964cfcee77dfc77a6e5b0db
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Move ownership of the ProjectImporter to the Project.
Task-number: QTCREATORBUG-16744
Change-Id: I7fc217ce8058287c5435b259bdc5300a926f8098
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This makes clear that the ABI encompasses all Darwin platforms (macOS,
iOS, tvOS, watchOS) in the wake of the OS X to macOS rename, and would
have been more technically correct anyways since ABIs are far below the
"macOS" parts of our favorite desktop Unix operating system.
Change-Id: I16d1477f44ffe70e5d8cddd67199a1602ba6fd97
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The existing solution with the special-style horizontal
kit selector comes from a time when there was typically
one, at most four targets. Today's setup can easily
reach half a dozen targets with several toolchain versions
each and can't be sensibly handled with the overflowing
horizontal bar.
This here replaces the horizontal kit selector bar as
well as the top level project "tab bar" with a normal
tree view. All targets are visible (but possibly disabled)
at once, and can be enabled/disabled using the context
menu on the tree items.
Change-Id: I1ce7401ca96109bf34bc8c0ae19d265e5845aa88
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
BREAKS BACKWARD COMPATIBILITY OF TOOLCHAIN SETTINGS!
* Convert old ToolChainKitInformation to new version
* Store several toolchains in one kit (one per language)
Change-Id: Ia59a2ad067c57971ec34ce9b2e43758344443755
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
They don't have signals, properties or translatable strings.
Change-Id: Id27df47d1fb8d0530fdf0f5f0d33a2e7b70360af
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Allow for different extra compilers which may get called to generate
additional code for the code model. The build system is expected to
know what files are generated from which source file and the extra
compilers know how to generate the content of those files, without
touching the build directory. the uic adapter is refactored to be
the first such extra compiler.
The extra compiler is run when an editor for its source document
loses focus, or after a timeout of 1s when the source document has
been changed.
Change-Id: I13c110c61120c812f02639a3684144daf8979b37
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
We will need them for more things than ui_*.h.
Change-Id: I394aa8646095cdafb426c15746243b27c1c1ab1b
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This one covers the time between a QmakeProject being constructed and
has its settings read or is being parsed.
Change-Id: I64d6a9d39b1e188d2af10c58135ab9174af8d701
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
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>
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>
Also extracting inline HeaderPath class and change projects list in vector
because the size is larger than a pointer.
Change-Id: I885fdff3fe9bccc877634d1615249755f5b674fd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
We want to distinguish between source files and generated files. So
let's call them by their names.
Change-Id: I324c4b82ca7fb7d8d0e175ea6c4f14f1306ec929
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Add setRootProjectNode method and a default implementation of
rootProjectNode to Project. Use that in all derived classes.
Change-Id: Id28cde04457a20a8963d43020785ef9d77fea57c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Implement default projectManager method in Project and use
these two everywhere.
Change-Id: I27e011e6fdc17b36aff1b8b931527307320e347c
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Add setDocument method, implement document method, use this in all
projects.
Change-Id: I5018bf7c2739665c13eee340184ce7c41fd319bb
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Fix fallout of this in KitInformation/Kit/KitManager and the wizards.
Change-Id: I5cb88cc381dc04409401909b810940ab6dccf86a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This doesn't change when the those panes are shown.
Change-Id: Ie5a2d27321e5268f59775892198999a8414a0adb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
So that the code model can find the right files for ui files
that haven't been build.
Change-Id: I438a3ab9806c8ff6c47e5e188228a31ffb917bdf
Task-number: QTCREATORBUG-14910
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Instead of just a bool, return a tristate of: Ok, Error and UserAbort.
Also add a out parameter errorMessgge.
Change-Id: Icb076de49998e9372839d0631c2776e905e4a0f6
Task-number: QTCREATORBUG-13223
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
If the build directory is empty, which can happen if we are parsing
a completely unconfigured project, then UIDIR might end up being '/'.
The uiHeaderFile function appeneded /ui_XXX.h to that, leading to
a network path.
Fix that by ensuring in various places that we handle this case.
Task-number: QTCREATORBUG-10733
Change-Id: Ib848ed4efbeacc6ee7ff862bef861a58f6d3ea34
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Using the new .json wizard engine allows us to get rid of much old
custom wizard logic. As additional benefit for the end user of
Qt Creator, the .qml.ui split is now optional.
Change-Id: I4b5ebcc35a585fad6ebc2e994711ca23e3300717
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Since this was the only template using the qt quick application viewer,
remove all traces of that too.
And this was also the only "upgradeable" template, so remove all traces
of the upgrade code too.
Change-Id: I68989dc5a87621593f3b5dd8c4979bb59f137200
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
It will be added via INCLUDE anyway.
This also removes all code using BaseQtVersion::systemHeaderPaths(),
which is thus also removed. This function was introduced to support
Symbian.
Change-Id: Id372e1cfc20bd22de948ed9a7d28dfa9135cbfa9
Task-number: QTCREATORBUG-13964
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Static libs can't be run on Android and on iOS, so we need to filter
them out.
Change-Id: I90b778ffaa5e7d6267cc0e8d753be56bf93007a7
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>