#!/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>
Namely:
- path list separator
- executable suffix
- file name case sensitivity
All of these are duplicated in various places in the current Creator
code.
Change-Id: I86eb4662fa3c2071759bd728cae1aaf7111ae686
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Rename profiles to kits.
* Update some strings:
* projects mode has a Kits tab, not a Targets tab.
* " Settings" was dropped from the sub-tabs of the Kits tab
* menu entry "Build/Open Build/Run Target Selector" was renamed
to "Build/Open Build and Run Kits Selector".
* Use "Kit" instead of "Target" in miniprojecttargetselector.
(The class was not renamed as it does indeed select targets,
not kits)
Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
They might differ if the user passes any -spec parameter
Change-Id: I9408541a09a6a687fdbae879bd1ab4c92e62aa1e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The class' member functions are intended to be used
instead of the Q_OS_* macros in all contexts where
the latter are not syntactically required.
This lowers the likelihood of changes made on one
platform breaking the build on another, e.g. due to
the code model missing symbols in #ifdef'ed out code
when refactoring.
Change-Id: I4a54788591b4c8f8d589b8368a6c683d4155c9fa
Reviewed-by: hjk <qthjk@ovi.com>
Instead use the newly added abstractions from ProjectExplorer.
This makes the plugin qmake-independent in principle; any build system
can be used as long as the respective QtCreator plugin provides a way to
set up the required deployment information.
As a side effect of this patch, two features are lost:
(1) The ability to add a remote directory automatically for a
RemoteLinux based target. This was rarely ever useful, because any non-
trivial project requires more files to be deployed than just one binary.
(2) The ability to add Desktop files and icons for Fremantle and
Harmattan projects. Similar points as above apply here as well; such
projects should be set up via QtCreator's wizards or manually by users
who know what they are doing.
Change-Id: I2d7e621256f01143aafe3b191b04a120f053e672
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Qt Creator's support for Symbian was at its peak in version
2.4.x. Nobody really verified it in Qt Creator 2.5 or 2.6.
It is most likely rotten. Let's remove it!
Also, the Symbian support code was spread throughout the whole
Qt Creator code base. The plugin interfaces evolved in the
meantime and target platforms like Android or QNX have 99% of
their code in separate plugins.
In case anyone wants to revive Symbian support in Qt Creator,
please create a plugin for it.
Change-Id: I56a758a3e2fd5b8c64d9aeb8f63d8e916c4883be
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Attach an object containing deployment information
to the target. The respective build system plugins are
responsible for setting up this information. The
Qt4ProjectManager already does that; others should
follow (which is expected to result in gradual
refinements of the design).
The immediate motivation here is to free the
RemoteLinux plugin from the requirement that
qmake must be used for building the projects,
which makes it much less generic than it could
and should be.
Change-Id: I9943787f4e352d014e721082016542b10c8cce90
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Also removed all <QMainWindow> includes which are not needed
anymore.
Change-Id: I393c9a62a5c6df95d9f35d872e1473a4f13bcdc4
Reviewed-by: hjk <qthjk@ovi.com>
this is clearly more often used and thus makes for cleaner code
Change-Id: Ic8d100cbfc4134f1b73117b4f4a5aa5a6f4e0ccb
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Introduce Profiles to store sets of values that describe a system/device.
These profiles are held by a target, getting rid of much of the information
stored in the Build-/Run-/DeployConfigurations, greatly simplifying those.
This is a squash of the wip/profile branch which has been on gerrit for a
while, rebased to current master.
Change-Id: I25956c8dd4d1962b2134bfaa8a8076ae3909460f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Due to not using VPATH for resolving the absolute paths.
Task-number: QTCREATORBUG-7441
Change-Id: Ifd76e6e782195b6371aac49ed257534184149805
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Files with this configuration will be excluded from the list of
deployables, including the build target.
Change-Id: Id1f31ee356916669eb71e911da92d02d84891087
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
I.e. do not consider subprojects with that configuration for
deployment.
Change-Id: Ia04c8168480772ebf4026337ba0c81fba532f346
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Removing a subproject and changing the project type of a parent project
didn't set always the valid parse state nor emitted the parsing finished
signal. Also ensure that removing and then readding a node does update
the runconfiguration for that node.
Note: The error message is now: "The .pro file %1 could not be parsed",
which is better, but can be improved, improving that is QTCREATORBUG-7377
Task-number: QTCREATORBUG-7394
Change-Id: Ie0d9a430ee902bd194179b0512ac8295bc519f2a
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Previously virtual folders, that is the "Sources", "Headers" folders used a
hack. This patch removes that hack, by introducing the following changes
- The FlatModel and the ProjectExplorer::Nodes now don't require path() to
be unique. Thus allowing the virtual folders to all return the same for
path(). [1]
- Introducing a new node type "VirtualFolder" which is sorted according to
a priority.
- Introducing a few new virtuals for displayName and toolip(), which can
be overriden.
[1] Note that all the project managers do require path() to be unique for
some types of nodes.
That also fixes:
Task-number: QTCREATORBUG-7100
Change-Id: I76b730f4c4254e2894467603bbe9a30e356a0bcc
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>