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>
...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>
Move logic to detect already open projects into ProjectExplorer itself,
along with some check for the canonicalFilePath.
Remove the same logic from the individual projectmanagers.
Put check that the path is a file into project managers. So far all of
them assume the project file to be a file (e.g. a xcode project manager
would expect a directory though).
Task-number: QTCREATORBUG-9350
Change-Id: I3901958395e3c594c8cfba9a85dc7d3ec3334afb
Reviewed-by: Daniel Teske <daniel.teske@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: I97c643707e1626424824aa9b53786f146b0f4790
Reviewed-by: Daniel Teske <daniel.teske@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>
the information is redundant now
Change-Id: Icc8c8b4ace11538d45c6c9e1dbe5a7976f4743e1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
instead of directly including the respective pri files in
*_dependencies.pri, set variables and let qtcreator.pri resolve
them to includes.
this will allow us to re-use the dependency info elsewhere.
Change-Id: Iaa33924e428ac0409660f42df2f98a7978452d3e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
when refreshing project check if files exist, and add only existing
files to the project
Change-Id: I5937bbe39e56c089b97350e095458c014fd294fb
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
The paths are later split on '/' and thus should not end in '/'.
Task-number: QTCREATORBUG-8840
Change-Id: I3fb1ddd53bb1e33123e20f683c481d56ad651d62
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
The previous method of identifying the files matching any C/C++ or
ObjC++ mime types somewhat naively searched through all mime-types
(especially for hard to identify files) and then checked whether the
returned mime type was part of a limited set. This takes too long for
large projects.
The new method only checks against the mime types we're actually looking
for.
Task-number: QTCREATORBUG-8625
Change-Id: I956f3653db6b961c5c814eed1a1a43ac8a118704
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
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>
This avoids sending signals for new tasks and process output
via the gui thread's event loop. When finding lots of issues in
the output we generate so many events that any attempt to
compress events takes a long time (max. events waiting to be
processed were > 1200000 when doing a clang -Weverything build!),
and thus the UI freezes.
Change-Id: I9668d2537b1a268e788cd0ea5c756ebaab4462a9
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Now it will only consider C and C++ files as source files by filtering
on mime-type. This seems appropriate for now since it currently only
supports C++ projects anyway.
Also removed the list of generated files, which was always empty since
there is no way to tell the generic project which files are generated.
Task-number: QTCREATORBUG-5451
Change-Id: I12209995db4b30643af1d51123813c24d016f44c
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>
Paths in the .includes file are user edited and may contain trailing
slashes.
If these are not filtered out, the CppCompletionAssistProcessor
suggestions are missing the first character (e.g. rc/, not src/).
Change-Id: I19b4c811d504042d0a4eb4ee8961818b3e17051c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The macro expanders are not thread safe. Also the values should be
expanded in init() as later changes to e.g. the buildconfiguration
should not affect the build anymore.
Change-Id: I82f5cd229d82cdb9f897c1db69c47b028cca29d1
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
In qmake based projects we override LC_ALL to make sure the parsers
do not fail to extract build issues from the compiler output.
Do the same for the other build systems.
Task-number: QTCREATORBUG-5097
Change-Id: I75830c362a736df42a0500c889c3c42e42b82047
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Switching the stdlib implementation is possible with clang and results
in different include pathes being used (and potentially different defines).
Change-Id: I9c856256f51ceded9dc7892c1dde2bcc8c1b024c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Distinguish from const char * one.
QString ctor is yet to be removed
Change-Id: I2da231036c6417353b0566d39666d918ad141c6d
Reviewed-by: hjk <qthjk@ovi.com>