Commit Graph

340 Commits

Author SHA1 Message Date
Christian Kandeler
3c6f76d16c HostOsInfo: Add some more useful abstractions.
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>
2012-09-05 13:54:48 +02:00
Christian Kandeler
aeef46d93a Qt4ProjectManager: Use Qt4ProFileNode::singleVariableValue() more.
Change-Id: I761a970ce439dfac23aac74bcd13b9a5e43cb9dd
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-05 13:13:24 +02:00
Eike Ziller
887456e38a Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemoglobal.cpp
	src/plugins/madde/maemoinstalltosysrootstep.cpp
	src/plugins/madde/maemopublisherfremantlefree.cpp
	src/plugins/madde/qt4maemodeployconfiguration.cpp
	src/plugins/qt4projectmanager/librarydetailscontroller.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qt4projectmanager/qt4project.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	src/plugins/remotelinux/abstractremotelinuxdeployservice.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp
	src/plugins/remotelinux/remotelinuxrunconfiguration.cpp
	src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp

Change-Id: I2560b528596f284e7b45a2260d8d3037891c5d17
2012-09-04 18:04:16 +02:00
Tobias Hunger
8ba422d07c s/profile/kit/
* 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>
2012-09-04 15:24:25 +02:00
Daniel Teske
867d655278 Qt4Project CodeModel: Use the project's mkspec not the qtversion's
They might differ if the user passes any -spec parameter

Change-Id: I9408541a09a6a687fdbae879bd1ab4c92e62aa1e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-09-04 13:42:29 +02:00
Christian Kandeler
e669f05406 Utils: Introduce HostOsInfo class.
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>
2012-08-27 17:00:03 +02:00
Christian Kandeler
c7ebfd47a4 RemoteLinux: Remove dependency on Qt4ProjectManager.
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>
2012-08-24 15:44:03 +02:00
Eike Ziller
bc67246432 Merge remote-tracking branch 'origin/2.6' 2012-08-23 15:52:15 +02:00
Alessandro Portale
ae23d50576 Removal of Symbian support
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>
2012-08-22 13:42:42 +02:00
Christian Kandeler
6cc7d1ffaa Provide build system independent deployment data.
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>
2012-08-22 12:15:31 +02:00
Konstantin Tokarev
d18bf468ad Changed return type of :ICore::mainWindow() to QWidget*
Also removed all <QMainWindow> includes which are not needed
anymore.

Change-Id: I393c9a62a5c6df95d9f35d872e1473a4f13bcdc4
Reviewed-by: hjk <qthjk@ovi.com>
2012-07-19 15:15:53 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Eike Ziller
93cf0f126e Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/zeroconf/embed/DebugServices.h
	tests/system/shared/project.py

Change-Id: I990f6b87ef8570317caf705bbca465a1a01f64b2
2012-07-19 09:16:52 +02:00
Daniel Teske
1190ba1766 Qt4ProFileNode: static_cast not qobject_cast
Change-Id: I0b8f168be6e85888b02a11682c21e7b63a33f75f
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-07-18 11:40:41 +02:00
Oswald Buddenhagen
55dfc27c52 default cumulative mode to off
this is clearly more often used and thus makes for cleaner code

Change-Id: Ic8d100cbfc4134f1b73117b4f4a5aa5a6f4e0ccb
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 14:12:49 +02:00
Oswald Buddenhagen
2766aaad4b introduce Qt4ProFileNode::sourceDir()
complementary to buildDir()

Change-Id: I8b79775fd5187887901faed667ea83fc4fbca041
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:34:54 +02:00
Oswald Buddenhagen
251ed0e878 move LoadFlags to QMakeEvaluator
Change-Id: I931bce3aaf1ccaaacf586ca54b93659485b79372
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:24:44 +02:00
Oswald Buddenhagen
888c187dd5 ProFileParser => QMakeParser
more natural name

Change-Id: I38d2a2fc785686aa5777afe41452b53f2c24adf8
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:05:03 +02:00
Oswald Buddenhagen
37b2f88e27 ProFileOption => QMakeGlobals
more accurate class name

Change-Id: I4258b221727e79cc88d5f57dd1f6631ba0bba625
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-07-04 12:04:29 +02:00
Daniel Teske
5cedb0ef38 Fix crash on unloading Qt4 projects
Change-Id: I6e05026e87ba1cf8a8e9d40fac7dd33c82f5a3ff
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-07-04 11:32:15 +02:00
Tobias Hunger
2431456216 Profile introduction
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>
2012-06-21 12:08:12 +02:00
Daniel Teske
79d35cd886 Qt4ProjectManager: Fix codemodel not finding source files in VPATH
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>
2012-06-06 12:09:19 +02:00
Daniel Teske
7339ab60e6 Qt4PriFileNode: Add const to baseVPaths and fullVPaths
Change-Id: Ia36969f0802c96c657079d6f71d49fb484a600ad
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-05 20:02:41 +02:00
Christian Kandeler
5337b34e87 RemoteLinux: Respect "no_default_install" CONFIG setting.
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>
2012-06-04 16:37:18 +02:00
Christian Kandeler
a577cb2b62 RemoteLinux: Respect "no_deault_target" setting.
I.e. do not consider subprojects with that configuration for
deployment.

Change-Id: Ia04c8168480772ebf4026337ba0c81fba532f346
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-06-01 12:52:22 +02:00
Orgad Shaneh
5c23c44ed0 Qt4PM: Support "Build File" for debug_and_release configurations
Task-number: QTCREATORBUG-106

Change-Id: I9aef17f8b57051ee4b7d22cc4e454d453ea4c821
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-05-18 14:14:25 +02:00
Daniel Teske
a3a7e7081a Qt4Nodes: Fix wrong "Parsing in progress" warning for some cases
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>
2012-05-09 11:33:55 +02:00
Daniel Teske
3e54136629 Fix crash on project loading, .end() detaches
Change-Id: I6bae9d04b745e27437c43b0bf6f96624be3dfd55
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
2012-05-08 14:54:47 +02:00
Daniel Teske
e8ee898864 ProjectExplorer: Remove hack for virtual folders
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>
2012-05-08 13:12:17 +02:00
Orgad Shaneh
72bf41b40f Qt4PM: Build current file
Task-number: QTCREATORBUG-106

Change-Id: I3511f57b9128073104f6691a469f9c54d64138c3
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-05-07 16:39:18 +02:00
Daniel Teske
1a9b436cc1 Qt4ProjectManager: Cleanup TODOs
Change-Id: I3c274c5b9aa37e14d74da3276d7012983f14fc89
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-05-03 16:27:55 +02:00
Orgad Shaneh
2c1c89fa35 Qt4PM: Parse object extension and objects dir
Task-number: QTCREATORBUG-106

Change-Id: I01682bbcf19dbe26cc8325fa9ed5999b7f2fe15e
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-02 12:13:48 +02:00
Daniel Teske
c976024c26 File renaming: Show a warning message if a project could not be changed
Except if we expect the changing to do nothing, e.g. if the file is
added via a folder deployment.

Change-Id: Ic6a8caa27e6ce3e779ac9cd13a43a6898360bfea
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-30 11:43:53 +02:00
Eike Ziller
71d9f33bef Merge remote-tracking branch 'origin/2.5' 2012-04-26 07:06:04 +02:00
Tobias Hunger
df5dab6382 Use Core::Id in project-related objects
Use Core::Id for all the project related objects in favor of plain
QStrings.

Change-Id: I790ab40cb29899efdb49c413a77609486f52e683
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-25 11:49:19 +02:00
Daniel Teske
bdb5b008aa Qt4Project code model: Also include files from cumulative parse
Task-number: QTCREATORBUG-7321
Change-Id: I3232c8618d13830caf5a511765eea80df9c7449b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-04-19 16:20:32 +02:00
Oswald Buddenhagen
822233629d Merge remote-tracking branch 'origin/2.5'
Conflicts:
	qtcreator.pri
	src/libs/utils/utils.qbs
	src/plugins/projectexplorer/miniprojecttargetselector.cpp
	src/plugins/qmljseditor/qmljseditor.qbs
	src/plugins/qmljsinspector/qmljsinspector.qbs

Change-Id: Ib239d50c21cb06d3a8e821e03dc093552f40ffab
2012-04-19 16:13:09 +02:00
Daniel Teske
2be819c89e Qt4Project: cpp code model add <configuration> and headers
This makes the data which we pass on to the codemodel similar again to
before 3aab8beaf4

Task-number: QTCREATORBUG-7198
Change-Id: I40a4812b27b69efd788abc85532efbdda1bef7d6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-04-19 15:49:14 +02:00
Alessandro Portale
1da95bc129 Remove usages of Q_GLOBAL_STATIC_WITH_INITIALIZER in Qt Creator
Q_GLOBAL_STATIC_WITH_INITIALIZER will be removed in Qt5, since
it interferes with multi threading.

Change-Id: I2013091ecb0613a168cd77f56ac88edb3b97fe1d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-27 16:41:08 +02:00
Erik Verbruggen
f1b2100e34 Move the ModelManagerInterface out of the CPlusPlus library.
Change-Id: Iffaa18f848a22f6961b49dff048672b194570df6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-14 11:46:24 +01:00
Daniel Teske
f7684f689e Qt4project: Fix crash on changing a .pro file in particular ways
Reported on irc by ckandler

Change-Id: I96133c708e05a8c05d48d67fbcd05637f2a1e241
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-03-13 15:48:33 +01:00
Eike Ziller
d66acb51d0 Rename IFile->IDocument and FileManager->DocumentManager
And adapt the other API respectively.

Change-Id: I1e04e555409be09242db6890f9e013396f83aeed
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-20 13:32:49 +01:00
Erik Verbruggen
3aab8beaf4 Supply c++11 flags and per-project info to c++ code model.
A manual squash/merge of the changes below, plus a couple of subsequent
code fixes.

59085aa5fbb99e2d786cd2c1a06c24a111ccb49f:
    Modify CppModel::ProjectInfo

    Adding per project node information, to pass on the correct
    defines/includes for each file, instead of aggregating them incorrectly.

    Also split up SOURCES and OBJECTIVE_SOURCES.

    Also ask the toolchain to convert the compilerflags to flags the
    codemodel understands, for now only gcc and only c++11.

    Also make the toolchain aware of the flags used to compile, so that it
    can emit the correct defines.

    Note: No header files are passed on.

74028802314cd4e75b41b46407433e07090a304d:
    GCC: Evaluate cxxflags when checking for predefined macros

ebaaa4957e4c02cc9637a998eddae1d0acd74f83:
    MSVC: Take cxxflags into account when checking for predefined macros

9bfce7e889bcf7bcc47bf880e3ea25945ca7d0d7:
    Compile fixes

Change-Id: I9de94ad038dfc5dc1987732e84b13fb4419c96f5
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-02-16 15:17:17 +01:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
Eike Ziller
f916d38dce Make IFile::isReadOnly consistent.
It is supposed to refer to the property of the file on disk (if there is
any).

Task-number: QTCREATORBUG-4998
Change-Id: Iaed62c17d124b364aecec4d1f910046bade42d40
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-14 12:58:11 +01:00
Friedemann Kleint
622cac50f4 Move QtConcurrent library into Utils.
It causes a conflict with the new QtConcurrent library
of Qt 5 and is quite small.

Change-Id: Ib97ab6daf8f67a88300cf03f044ba3593a4cd270
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-09 12:33:10 +01:00
Daniel Teske
e3d14f7c39 Make Open Project wizard skippable
Task-Nr: QTCREATORBUG-6063

Change-Id: Ieace3e9e68b4e0342c35ac7c279f4b0b61076419
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-02-03 09:36:46 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
hjk
21c0cdee40 Core::Filemanager: make some methods static
This follows suit to the ICore changes.

Change-Id: Iba2de1b1e3f2574fd1459892eae702e6af1cc7dc
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-25 19:23:11 +01:00
hjk
4a21f0c3c8 Use new static ICore interface.
Change-Id: I9b690d9b150c8d162b15370f9f8986267c9128f1
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-24 18:48:47 +01:00