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>
1) When the compiler is invoked, the mkspecs dir is the very first
include path, but the code model got it as the very last (still before
the system include paths) include path.
2) We had it twice in the include path list.
Change-Id: Ia46b6009359c5799790e6c856113ea133b8212c6
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
The idea behind NodesWatcher was that it was the central place
to catch node related signals, so that users didn't need to
connect to each individual node and the nodes didn't need to
be QObjects. Somehow Nodes ended up being QObjects anyway.
Both the recently added ProjectTree and the FlatModels consume
the signals the NodesWatcher sends. Unfortunately there's a
ordering dependency between the ProjectTree and the FlatModels.
This patch removes all NodesWatcher and instead makes the
ProjectTree singleton the emitter of various project tree
related signals. The ProjectTree also ensures that the ordering
between the FlatModel and itself is taken into account.
And it makes Node not derive from QObject, saving some memory
in that process.
Task-number: QTCREATORBUG-13756
Change-Id: I8b0d357863f1dc1d2d440ce8172502594138b9fb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
...instead of going through CppModelManager::projectInfo().
Now CppModelManager::projectInfo() returns an invalid ProjectInfo in
case there is no valid data for the given Project.
Change-Id: I11908bf2ddf865b1d3d71ff176eaf4139292b21c
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
the rationale is that postprocessing which is done by the generators (in
some cases right at the point of emitting code to the makefile) should
be abstracted inside the "medium-level" class which also does the path
resolution done by the generators.
along the way we also make minor fixes to the processing:
- we pay attention to CONFIG+=no_include_pwd
- we add the build dir as well when shadow building
Change-Id: Ib389942fdc0470e05c1aa49e3615b6ac00241662
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Centralize the handling inside a new class ProjectTree.
React to moving focus and remove most special handling.
This properly fixes the linked task.
Task-number: QTCREATORBUG-13357
Change-Id: I6b06aa32b1e4305ec8a6d432857b302585d8734b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
The source and examples directory is not a sub directory of the qt
source directory in the sdks. But we still want to treat it as part
of a the matching qt.
Task-number: QTCREATORBUG-13469
Change-Id: Ib63722052a14c29e4198c879dd770fb4ecdcdb80
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
The QmakeVfs needs to be deleted after all evaluations have been
canceled. Those are canceled in the destructors of the nodes, so
delete the nodes before deleting m_qmakeVfs
Task-number: QTCREATORBUG-13421
Change-Id: I5883f5b2daa6a13ef4facf9b9dccc125a069df94
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Callign applyAsyncEvaluate in the desctructor might lead to further
parses, which we don't want. So bail out early in applyAsyncEvaluate.
Task-number: QTCREATORBUG-13421
Change-Id: I776ff477363a3985ebc26e9160c58c2ab9c910b7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We reuse the m_checkForTemplateUpdate cariable, since this is going
to be reverted in master and replaced by a rework of the current node
handling anyway.
Task-number: QTCREATORBUG-13357
Change-Id: I7deb564219f258753263f3e1473625ce749393fd
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>