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>
I ran once too often into them being called applicationrunconfiguration.(h|cpp)!
Change-Id: I280a3280173b80d4d955faddedf11688786eee14
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Use data members instead of virtual functions for id, displayName and
priority, use Core::Id, not QStrings for id, de-pimpl CommandLocator.
Change-Id: Id8b41f184cb995138b2d76c923d6d3ae02b7e3f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
If the CMakeRunConfiguration environment is based on the bc environment
then we need to emit this signal on changing the bc or if the
environment of the bc changed.
Change-Id: I005dfa06c92b89f5cf8b901c0f5d929fd8e1bf70
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This changes behavior. Editing a cmake file then building then editing
it again will display the warning again. It currently doesn't.
Change-Id: I8ecb31956102680e953a40dcb5e95bde819aa652
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
CMake generates the ui*h file in the directory that corresponds to the
CMakeLists.txt. Creator does not have the information whihch
CMakeLists.txt file includes the .ui file. This patch adds a crude
heuristic that searches for the right CMakeLists.txt.
Task-number: QTCREATORBUG-8509
Change-Id: I0f31d9766c6b5988a00ab618026ea052690dd649
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>
On updating the working directory ensure that changes triggered from
the cmakerunconfiguration are not interpreted as the user changing.
Task-number: QTCREATORBUG-8426
Change-Id: Ibe6d026d864e1af48b01b5c81db9ad7c7fb6be2b
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>
It's the coding style and this makes it consistent in this file
Change-Id: I6d99651eea2ffc161ecf3efc50a1ed71eaf67aa0
Reviewed-by: Tobias Hunger <tobias.hunger@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>
To make the interface the same as NamedWidget.
Change-Id: I5961b4e5aa7f5acf3a7f83e82b6fa4266b9ebf97
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Which simply returns a BuildEnvironmentWidget. A long time ago
BuildConfigurations had no environment, nowdays they do. So it makes
sense for all BuildConfigurations to have the BuildEnvironmentWidget.
Change-Id: I824c45df79a0dcd2b624bf67a4730fb5dab098bc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>