And move to using the corresponding method in document model.
Change-Id: I80b12ceab8a91c5393b9c0422d660a8896ae09d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Move basic ui code model support from CppTools into QtSupport
* Use Kit infrastructure to retrieve uicCommand and environment
* Remove specialization for cmake projects (no longer needed)
* Remove specialization for qmake based projects (no longer needed)
Change-Id: I8569cc01acb46a540883c2da235d169bebf7db39
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Instead of requiring subclasses to implement a method.
Also renames IDocument::rename to IDocument::setFileName,
since it doesn't really rename any files or such.
Change-Id: I1344025c24d2f74a6a983e04fb0a5245f1f37aad
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
The filetype is only relevant for Qt4 projects. But even for Qt4 projects
the file type is insufficient to decide where the file should be added.
So remove the file type from the interface and let the projectmanagers
themselves figure out what they want to do.
Also fix
Task-number: QTCREATORBUG-9688
Change-Id: I02f7b1cd2e05efaf76e36fb9af34b109d4482f88
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This reverts commit 2fdb70bdce.
Be smarter about what to do on folder changes. Trigger at most
one codemodel update per folder change signal. (Thus still fixing
the original problem 2fdb70b fixed.) And only trigger one if the
actual file list changes. This could be further optimized to only
tell the code model about the new files, but that's for another
patch.
Task-number: QTCREATORBUG-9697
Change-Id: I78d134663f1455254caf812c27c048d4f0828242
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
On a folder change we need to collect all files which we add to the project
tree due to INSTALL or DEPLOYMENT rules. On a folder change the old
implementation only collected the files in the changed folder, but also
started a updateCodeModels(). If multiple Qt4PriFileNodes would react to
the folderChanged() signal, then a lot of updateCodeModels() would be
started.
This new code does a unnecessary complete iteration of the files starting
from the top level INSTALLS or DEPLOYMENT folders, but optimizes the
updateCodeModels() by going through the more advanced scheduling the
qt4project does for evaluation.
Task-number: QTCREATORBUG-9581
Change-Id: I50345516c56bd33e6e1e1b2e0d7db50635ea1552
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
this tremendously speeds up loading of qt 5.1 based projects (including
qt itself) under mac os, as these look up the sdk dynamically, and use
caching to avoid doing that in every subproject.
Change-Id: I833253f81c3159056fab2ff888f293b36cc2ef56
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Qmljs now keeps a cache of parsed qrc files, and can resolve "qrc:" links.
This breaks the assumption that the name that the qml files has on
the filesystem is the one that qml sees, and that contents of
directories can be found just looking at file whose path starts with the
directory path.
Currently the first file is used when multiple qrc files contain the same
path, but support for strict and weak path resolving is already there.
At the moment only qrc files for projects that call updateQmljsCodeModel
are updated.
ChangeLog: QmljsSupport: Imports using qrc links are resolved.
Task-number: QTCREATORBUG-8953
Change-Id: I695fac2692af2417d49c192c580a1c2e7b4873f4
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
TargetInformation now contains no platform specific code anymore.
Change-Id: Id7b3b562e1046a1ea18127716532b1fc2614ef91
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Rename ModelManagerInterface.(h|cpp) to cppmodelmanagerinterface.(h|cpp).
Rename TypeHierarchyBuilder.(h|cpp) to typehierarchybuilder.(h|cpp).
Change-Id: I035d833fd205d7460819bd0fb7031294359032f9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.
Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
There were quite a few classes using CPlusPlus namespace in the
CppTools plugin. Rename them and do some other small namespace
related coding style fixups.
Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.
Change-Id: I53fa1aafaf98fd3105ef35b595e4311854cf9cbc
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Since there are no separate file extensions for Objective-C and
Objective-C++ headers, all headers can be parsed as Objective-C++.
Change-Id: I91500c53de0fc14ce7be0c7c534e443d1f1f725a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Change-Id: Ia31aa42ca3d490774f90769d56d8e0fa9546ed70
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Instead of adding single archs like x86 to the general CONFIG
variable, we can read the ANDROID_TARGET_ARCH directly in
Qt Creator.
Change-Id: Idc4c4524d0f277aad8e129ca622d64d505a5ac95
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Change-Id: I8712a9d8f4136e9e3aa1c84ea6be52d36ac0ed35
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reduce the padding in some often-used structs for 64bit machines.
32bit machines should also profit from most changes, but to a
lesser degree.
Change-Id: Ic4c67b94e962731de4f31164c52a372d78944ccc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
... by fixing parameters of QMakeParser::parsedBlock() call. this was an
omission from 00e9be4246.
Task-number: QTCREATORBUG-8320
Change-Id: Iec36e2986efc7d04d292000185db05aa24f4ee1b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
As good as I could get it in 30 minutes.
Task-number: QTCREATORBUG-7382
Change-Id: I84f7df325be00d3f0b1a3555b39c9917f2dfedf0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Do not pretend that DEPENDPATH or INCLUDEPATH are automatically used.
Note: This breaks compability with qt4.
Task-number: QTCREATORBUG-8348
Change-Id: Ib5aecd557b84d8fc6981a145077b0b93faf3f73a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The executable was not resolved to the app bundle, broke with
95169eb8e3
Task-number: QTCREATORBUG-8271
Change-Id: I374cb6f3935878db4d30c944ce56ad424e4e250b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Some projects set TARGET or DESTDIR only in the build_pass
Task-number: QTCREATORBUG-4273
Change-Id: I3673dd93b37b10102a0c1f1ce053e1aef8aaf53f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
The function made sure that the code model knew about changes
to the ui_*.h files. This code was written before introducing
Qt4UiCodeModelSupport, which does ensure that the ui*.h files
on disk actually do not matter for the code model at all.
Removing this code improves switching Kits performance in some
cases.
Change-Id: I51f9fcc9cac23013eaf89a2a8517f2bd58953263
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
For DEPLOYMENT, foo.sources has been superseded by
foo.files in Qt 5.
Change-Id: I8a357aca0969b7caa94b9e9ed63613064ba86299
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>