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>
It only contains a single options "<custom>".
Change-Id: Ifad2ea8cabdba6f302de5b2d6d49cb0b042bf4a9
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This allows to directly create a GCCToolChain with no need
to subclass/reimplement and register a related GCCToolChainFactory.
For some plugins (Qnx, Android), this enables to easily create and set
a GCCToolChain for a created Kit and avoid sublass ToolChain and ToolChainFactory.
Change-Id: I8a5865dcee6dbe3e20b976943a5cba75d162a962
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Passed ctor param ignored, field set to 0 and than called
Change-Id: I34d8be9b11826d21506d8c1b2732e25f64593798
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
When a constructor is defined with a single, unnamed argument of a custom type without
extra type specifiers (const...), then the constructor was not identified as such.
There was an heuristic in case the constructor was in the class definition, but not if the
the constructor was defined later.
Examples:
class Arg;
class Other;
class Foo {
Foo(Arg /*arg*/); // working
Foo(const Arg /*arg*/); // working
Foo(int /*arg*/); // working
Foo(Other /*arg*/) {} // working
};
Foo::Foo(Arg /*arg*/) {} // used not to work, fixed
Foo::Foo(Arg arg){} // working
Foo::Foo(const Arg /*arg*/) {} // working
Foo::Foo(int arg) {} // working
Change-Id: I741e4ba62672ddc99a837fdcdc27996fba5ae6c7
Reviewed-by: hjk <qthjk@ovi.com>
A plugin might be disabled by default for other reasons than being
experimental, e.g. because it is not expected to be needed by the
average user. This is probably becoming more relevant the more plugins
are added, since we want to keep the start-up time reasonable.
Change-Id: I87927596d5c78e14793c5e8d6f0548eff6b58d59
Reviewed-by: hjk <qthjk@ovi.com>
This reverts commit 6f7ce3f48e.
The workaround turned out to be incomplete and has therefore
been superseded.
Change-Id: Ic60cd810f72ca833c1725024d2816baf5ce47372
Reviewed-by: hjk <qthjk@ovi.com>
pFlags might be used uninitialized
Change-Id: I78b308c9894797ca6258c82cab9d8dffab7e47bb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
...when trying to replace some regular expressions that could result in
empty search results like ^, $ or \b.
Task-number: QTCREATORBUG-8464
Change-Id: I91a304d3609c3ec20437c698d53e6a1819dfb924
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@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>
It might fail because a particular branch points to an invalid commit.
We don't want that to prevent display of all other branches.
Change-Id: I8fe427735351fc458c99396dc1f9d77bc948468e
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Added git functions - "Merge" and "Rebase"
They are in the "Branches" dialog:
- Merge - merge selected branch into current one
- Rebase - rebase current branch on selected one
Task-number: QTCREATORBUG-8367
Change-Id: I9ed306c64d5d4b7bd1d58730a5e1009f0bd4ec0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Default implementation is between O(n) (for identical models) to
O(n*m) (for disjoint models). If sort order is known, this
can be reduced to O(n+m), like in Git implementation.
Change-Id: I44662a22961311cb882601d20efa9d445f74748b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Without unixutils Creator does not link on Windows anymore.
The reason is FileUtils::showInGraphicalShell()
which calls UnixUtils::fileBrowser() and
UnixUtils::substituteFileBrowserParameters().
Since UnixUtils compile on Windows I added them.
Propably UnixUtils should be merged into FileUtils,
if they are used and make sense on all platforms.
Change-Id: I3fb49fb2c0c54fb9336298f006e2937ae29d413b
Reviewed-by: hjk <qthjk@ovi.com>
The methods Utils::UnixUtils::fileBrowser and
Utils::UnixUtils::substituteFileBrowserParameters are both declared when
compiling on MacOS, but their implementation is not compiled into
libutils. So this gives linker errors.
Change-Id: I0befb607dda0a83d681068f8236167ba88918460
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
To be used in the ClangCodeModel, because there is no other way to find
out if the ProjectParts got changed.
Change-Id: Ie5681b4997adb9103499cf2864c81970cbd2be55
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
It is confusing that save is missing in the context menu
of the editor manager.
Split mode requires to use different actions then the ones
in the File menu, since the editor in question might not be the
current editor.
Change-Id: I47cd5295f7a3b58906e9b158e88d9128142d4311
Reviewed-by: Alessandro Portale <alessandro.portale@digia.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>
Refactor the separate view from directly using a QTabWidget to a subclass
so that the necessary signal can be hooked up.
Change-Id: Ibc2653d554882a36a85162708021422843057bc1
Reviewed-by: hjk <qthjk@ovi.com>