And refuse to add it twice. The check is pretty simplistic in that it
doesn't take scopes or which variable it's exactly in into account.
But in those cases you need to edit the .pro file manually anyway.
Task-Nr: QTCREATORBUG-932
Task-Nr: QTCREATORBUG-891
Task-Nr: QTCREATORBUG-653
Reviewed-By: con
Reviewed-By: Friedemann Kleint
We now support renaming files. The version control system tries first to
rename, if that doesn't support or can't rename the file we do a normal
rename. (Note: git, hg, perforce > 2009.02 support renaming, cvs not.
(perforce untested)). We correctly notify all editors of the renamed
file and tell the project manager to rename the file in the project.
Note: Only the qt4projectmanager knows how to rename files.
Note: renaming folders, moving files to different folders, renaming
.pro/.pri files is not supported. Those things can be later added after
this has proven to work correctly in the simple case.
Also we don't do any actions based on the renaming like renaming
classes, changing include guards or #include lines.
The UI_DIR and MOC_DIR weren't added to the includepath for new
projects, since at the time of parsing the directories don't exist yet.
We now always add UI_DIR and MOC_DIR to the include path, without caring
whether they exist.
Task-Nr: QTCREATORBUG-1064
Reviewed-By: ossi
On windows when linking to a library via -L/some/path, the library is
found in /some/path while linking. But running that app fails, since it
can't find the library. We now adjust PATH to include all paths from
LIBS and thus the library is found.
The solution ain't great. Essentially we need to fix that path() needs
to be unique and a 1:1 mapping to the file system by introducing a
separate method for the first usage.
Task-Nr: QTCREATORBUG-828
Reviewed-By: con
This is a big change touching almost all of our .pro file parsing.
With this patch we only evaluate once exact for all needs and once
greedy for the filelist. That is the qt runconfigurations don't have own
evaluaters but reuse the project wide exact evaluation.
We reevaluate if the user changes the build directory, the qmake
buildconfiguration or the qmake arguments. That is if you open src.pro
(or projects.pro) of qt with a shadow build you still don't get all the
files, but after correcting the build directory, we reevaluate the .pro
files and find all files. So for a suitable definition of fixed, that
bug is now fixed.
We now get the exact defines of all .pro files instead of all defines for all
buildconfigurations. We still don't distinguish in which
.pro file a DEFINE is set. So the code model now knows about all the
defines set for the given configuration but not for which files it is
actually set. Also that includes all DEFINES set in .qmake.cache or the
mkspecs. This means all defines from .pro files should now work.
The intial loading is still synchronous. I haven't looked into it to
deeply, but it seems possible to make it also async.There are probably a
few issues which need to be solved fist.
Also due to the asynchronous nature of the code, the executable is
updated a few seconds after actually changing the build configuration
Pass around contents as string, saving repeated
invocation of FormWindowEditor::contents().
Remove dependency to FormWindowEditor.
Reviewed-by: dt <qtc-committer@nokia.com>
Doing it creates huge delays, because it resolves to a network path.
Also rename FolderNode::setFolderName to FolderNode::setDisplayName,
because that's the name of the property.
Task-number: QTCREATORBUG-695
* Ease cross device development by introducing 'targets' which
group build- and runsettings that are valid for this one target
Most of the kudos for the code review go to dt. Con, thorbjorn,
ckandler and others did also review parts of this patch.
Reviewed-by: dt
they were remnants of the pro editor, which was removed long time ago.
they were still used for automatic editing of pro files, but were
totally overengineered for that purpose (removed 1300 LOC, added 40).
* Use id() for methods returning a string used to represent
some type of object.
* Use displayName() for strings that are meant to be user
visible.
* Quieten some warnings while touching the files anyway.
* Move Factories to their products in the plugins where that
was not done before.
Reviewed-by: dt