Use it instead of retrieving this information from the document.
Change-Id: I809fcb2daf59021cf503c371a5d40d75d7448796
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This introduces an API change for the project managers. Those are not
expected to call updateSourceFiles() anymore.
Task-number: QTCREATORBUG-9581
Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Updated/fixed the code to treat treat text/x-objcsrc and
text/x-objc++src correctly.
Change-Id: I1ab97577c786a28381398e4e0fac177325d00d7b
Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@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>
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>
...so parsing progress will also be reported for projects consisting of
only one source file.
Task-number: QTCREATORBUG-9597
Change-Id: If35a00b6f949258d64921f144919269fa0c81d36
Reviewed-by: Daniel Teske <daniel.teske@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>
Mostly 3 leading spaces converted to 4
A few other indentation issues
Change-Id: Ib0db5925cac4d2999faf5699cd570884cbcd4863
Reviewed-by: hjk <hjk121@nokiamail.com>
Now it uses ProjectPart::evaluateToolchain() to read toolchain info with
given compiler flags.
Change-Id: I9afce7090eba6fc0662981dfd065603ac235a83f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Now it provides information about C language standard and C++
extensions. No new behavior added to project managers.
Change-Id: Ib7c19641f452a75c9b14cd7e33d104dcd1603720
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
removes an incorrect break that limited the number of nodes processed
in updateQmljsCodeModel.
Change-Id: I82c254721ee92765cb65840c428ea08e97f587c6
Reviewed-by: Aurindam Jana <aurindam.jana@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>
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>
The new name is a better description of what the class is all about,
it matches the filename and it does not conflict show up when trying
to expand "PE" to ProjectExplorer.
Change-Id: Ie6a10b9a83dc8bc529e35e3381f733dbe25847a3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Skip checking for QML files. A project may be a QML project even
though no QML files have been added to pro/pri files.
Change-Id: Ifd41093bf69526147e0a3116380a14bfa534f681
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The cmake plugin needs the class, too. Also add a explicit projectName
parameter to it, since it differs how to extract that from the path.
Change-Id: Ic3d37b3a12ad73f3c7f898d27ad0e85629c38839
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@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>
Those 3 project managers can't easily figure out the right mode for code
parsing. The code we are parsing is predominantly C++98 code. But for
those using C++98 toolchains having valid C++11 code not be marked as a
error is probably not much of a problem, whereas the reverse, using a
C++11 toolchain and having valid code being marked as a error is
annoying.
Change-Id: I8dcc172029045cf591b3ba0adef1585f3f94fd39
Reviewed-by: hjk <qthjk@ovi.com>