Commit Graph

288 Commits

Author SHA1 Message Date
Eike Ziller
5f166f2506 Don't use openedEditors in CMakeProject
Work on documents instead.

Change-Id: I7000d10b2a885d5dc22c9b40377c9521f21b6195
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-12 11:58:33 +02:00
Eike Ziller
113c5600c9 Move displayName from IEditor to IDocument
The display name is not editor instance specific, but belongs to the
document.

Change-Id: I3c936f04a86e10e6ca30063d85036d85b4b5880e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-10 17:26:15 +02:00
Tobias Hunger
81eba6f984 Move Ui code model support into QtSupport
* Move basic ui code model support from CppTools into QtSupport
* Use Kit infrastructure to retrieve uicCommand and environment
* Remove specialization for cmake projects (no longer needed)
* Remove specialization for qmake based projects (no longer needed)

Change-Id: I8569cc01acb46a540883c2da235d169bebf7db39
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-10 14:36:17 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Eike Ziller
99c383f3d0 Make IDocument::fileName a member with setter.
Instead of requiring subclasses to implement a method.
Also renames IDocument::rename to IDocument::setFileName,
since it doesn't really rename any files or such.

Change-Id: I1344025c24d2f74a6a983e04fb0a5245f1f37aad
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 10:21:58 +02:00
Daniel Teske
f34a4a6000 CMake: Set a initial displayName for projects
We set the display name for cmake projects based on the projects's
name in the cdb file. The parsing of that happens quite late, so
we need to set a fallback displayname in the ctor.

Task-number: QTCREATORBUG-9641

Change-Id: Iabfef7a3cc9710e6ba04523845d4142a89493011
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-08 13:26:53 +02:00
Nikolai Kosjar
dc5a0e3e5a Project managers: Force "Parsing" notification
...so parsing progress will also be reported for projects consisting of
only one source file.

Task-number: QTCREATORBUG-9597

Change-Id: If35a00b6f949258d64921f144919269fa0c81d36
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-24 13:11:16 +02:00
Daniel Teske
af254e47aa CMake: Save all files before running cmake wizard
Task-number: QTCREATORBUG-9537

Change-Id: Ie5e4ffd33a9a9108c2e12bf8e71d932f6586053c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-19 12:31:09 +02:00
Kai Koehne
17539d670f Revert "Project: Set QML/C++ languages where both are possible"
This reverts commit 75691393ec. Otherwise
we'd enable QML debugging for virtually all projects.

Change-Id: I5518624a9973a9f61fbef6c680b5a83c74d0b4a9
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-28 13:59:16 +02:00
Sergey Shambir
2d8a9674b4 CMake: simplified C++ codemodel interaction.
Now it uses ProjectPart::evaluateToolchain() to read toolchain info with
given compiler flags, so it saves old behavior and also reads C version
and C++ extensions.

Removed check that model doesn't need to be updated, since check didn't
account ProjectPart enums.

Change-Id: I6dbebeecdb162ec5b885f9f1846756b586c22b23
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-02 12:59:44 +02:00
Sergey Shambir
6faf45a465 ProjectExplorer: extended Toolchain::CompilerFlags
Now it provides information about C language standard and C++
extensions. No new behavior added to project managers.

Change-Id: Ib7c19641f452a75c9b14cd7e33d104dcd1603720
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-30 17:31:22 +02:00
Daniel Teske
dc0c47c7fd CMakeProjectManager: Make shadow build support not depend on qt version
If a qt version does not support shadow building, this just means that
the qmake for that qt is broken. That has no bearing on whether cmake
could shadow build.

Change-Id: If2b69b42094d87cd0c3be26d043e344aa8b370da
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-11 16:38:16 +02:00
Shane Peelar
659e7d85f1 Fix CMakeProjectManager Ninja CXXFLAGS detection
In recent CMake versions, a new backend, Ninja, was added with the intention
of providing an alternative to makefiles.  However, this backend stores the
CXXFLAGS for the project in a different format than it does for the makefiles
backends.  As the CMakeProjectManager assumes a makefile backend, it fails
to correctly obtain the CXXFLAGS of the project when Ninja is used.
This small patch will attempt to read CXXFLAGS from the build.ninja file
to correct this issue.

Task-number: QTCREATORBUG-9047

Change-Id: Ic19ae3b4802c7a12b5d0a92a7f1a2254bec5a3d2
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-10 18:24:18 +02:00
Tobias Hunger
aff2518bd7 ProjectManagers: Update project languages based on data sent to the codemodel
Change-Id: Iecf61f66389fff6f3995c4f4bc893ffd190c50e6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-10 15:30:17 +02:00
Tobias Hunger
ddafdf55de CppTools: Rename files to comply with coding standard
Rename ModelManagerInterface.(h|cpp) to cppmodelmanagerinterface.(h|cpp).
Rename TypeHierarchyBuilder.(h|cpp) to typehierarchybuilder.(h|cpp).

Change-Id: I035d833fd205d7460819bd0fb7031294359032f9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-10 11:43:22 +02:00
Tobias Hunger
ea23948efb CppTools: Use namespace CppTools consistently
There were quite a few classes using CPlusPlus namespace in the
CppTools plugin. Rename them and do some other small namespace
related coding style fixups.

Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-08 13:21:31 +02:00
Tobias Hunger
75691393ec Project: Set QML/C++ languages where both are possible
Change-Id: I4bc5bd7a644c48dfa529f9f9f6052e401de76d40
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-05 14:56:59 +02:00
hjk
fe29d6a8a3 Core: Remove Core::Id(QByteArray) constructor
This was mostly used to disambiguate the char * and the QString
constructors.

Change-Id: Ib6923ef8e8c0e5d514a883e73aa001a1cd9fb534
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-04 16:47:59 +02:00
Eike Ziller
599be01a67 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	share/qtcreator/qml/qmlpuppet/interfaces/interfaces.pri
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp
	share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
	share/qtcreator/qml/qmlpuppet/qmlpuppet/instances/objectnodeinstance.h
	src/plugins/debugger/debuggerplugin.cpp
	src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp
	src/plugins/qmldesigner/components/debugview/debugview.cpp
	src/plugins/qmldesigner/components/formeditor/abstractcustomtool.cpp
	src/plugins/qmldesigner/components/formeditor/abstractcustomtool.h
	src/plugins/qmldesigner/components/formeditor/formeditorview.cpp
	src/plugins/qmldesigner/components/integration/stackedutilitypanelcontroller.h
	src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
	src/plugins/qmldesigner/components/navigator/navigatorview.cpp
	src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
	src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
	src/plugins/qmldesigner/designercore/include/abstractview.h
	src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h
	src/plugins/qmldesigner/designercore/include/rewriterview.h
	src/plugins/qmldesigner/designercore/metainfo/metainforeader.cpp
	src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp
	src/plugins/qmldesigner/designercore/model/abstractview.cpp
	src/plugins/qmldesigner/designmodewidget.cpp

Change-Id: I9d8126e88397c02a87b5e4ab4da44e2bc7089134
2013-03-26 13:09:43 +01:00
Sergey Shambir
63fe568b9b CppTools: improved languages support in ProjectPart
Please, read blueprint here:
http://qt-project.org/wiki/Blueprint-for-language-specs-system

Removed feature from QbsProjectManager: it not longer splits project on
separate C and C++ parts, because Qt version used only by clang parser
(not native) and can be ignored for pure C and Objective-C without C++.

Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-21 17:22:18 +01:00
Daniel Teske
e088adfc26 CMake: Correct encoding of defines
Change-Id: I8c5049ce52d20137dc4233c09ab68aaa07df7fe7
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-03-19 15:28:54 +01:00
Daniel Teske
018083ee12 CMake: Fix parsing of C++ defines
Partially revert 20cfccd753 that somehow
assumed that compiler flags would also include the defines.

See comment on
Task-number: QTCREATORBUG-3922

Change-Id: Ic7cb9dfa33f53fde9302f38018102c15cb12f83d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-03-19 13:57:18 +01:00
Tobias Hunger
33f54d10c6 s/ProjectExpander/ProjectMacroExpander/g
The new name is a better description of what the class is all about,
it matches the filename and it does not conflict show up when trying
to expand "PE" to ProjectExplorer.

Change-Id: Ie6a10b9a83dc8bc529e35e3381f733dbe25847a3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-19 11:23:57 +01:00
Friedemann Kleint
8ae38d1ada Fix Krazy warnings about includes/header guards in Autotools/CMake.
Change-Id: Iff9e1c6658e1b0a20ec6f140a86f69c8cb52fb44
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-12 12:57:35 +01:00
Yuchen Deng
69041539aa CMake: Ignore all the XXX/fast targets
In fact, it is same with the XXX target.
So, ignore it would make it clean.

Change-Id: I2527f839461f0be07b6d40e257db23ef5ca35007
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-07 15:31:06 +01:00
Yuchen Deng
9aa6c4a164 CMake: Does not need m_buildTargetType anymore
Change-Id: I45f927391d73258f8f61eebe8543b6f5052678ec
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-07 15:30:03 +01:00
Stanislav Ionascu
ab8878fdd1 CMake: Display all targets in project settings
All targets should be displayed, even without
binary artifacts, otherwise it's not possible
to select a CMake custom target to build.

Change-Id: I4b7640f460a248fd2d4b56428c2c8da3b13b9103
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Yuchen Deng <loaden@gmail.com>
2013-02-27 21:02:05 +01:00
Aurindam Jana
5cf11e2bbd Qml Debugging: Default option for Qt Quick application
Qt Quick applications should have Qml Debugging enabled
by default.

Task-number: QTCREATORBUG-8208
Change-Id: I794249567b15071098f0ac8ba5f2a8e5f2be4ffb
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-02-20 21:03:23 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Daniel Teske
66bc398183 CMake: Fix build directory for "Add Buildconfiguration"
Task-number: QTCREATORBUG-8425

Change-Id: I58a47895fa882bcc53cad1ef764a307c714f2a1b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-01-17 16:54:45 +01:00
Daniel Teske
20cfccd753 Figure out compile flags for cmake by parsing flags.make files
Change-Id: I4dc3889fcc5b26e24b29a3a9fdbba37ddcb74a95
Note: This parses the first flags.make file that is found.
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-10 17:45:54 +01:00
Daniel Teske
68b9966bf2 Fix .ui code completion for some cmake projects
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>
2013-01-09 11:38:39 +01:00
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/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>
2013-01-08 10:48:18 +01:00
Daniel Teske
f320426cd1 Use C++11 parsing mode for CMake, AutoTools and Generic project managers
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>
2013-01-01 15:19:43 +01:00
Erik Verbruggen
964c01a460 C++: ProjectParts now contain everything that gets linked together.
Change-Id: Ib862e51897156a03a4a45e2a1690b00caeb03518
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-28 09:09:14 +01:00
hjk
cd7f8706e8 cmake: compile fix after QT_NO_CAST
Change-Id: Ia289d7cded868200f2894178ac725d11bb90783a
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-23 14:08:37 +01:00
Orgad Shaneh
862629c57a CMake: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I23134b7eef222dcdb3425e2f2f6d62ab863009fe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-23 11:52:11 +01:00
Tobias Hunger
cb02dd812a CMake: Use default build directory
Change-Id: Ic7916c1ebe0f58ec61d47f1b87891263cce0f6c5
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-21 13:27:08 +01:00
Tobias Hunger
75c36c9bb5 Gcc: Support -stdlib=whatever arguments for the code model
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>
2012-11-21 12:48:12 +01:00
Daniel Teske
ea640a5aea BuildConfigWidget derived classes: Add missing tr()
Change-Id: I1861400c4d50191ed2fd2eba7c28f72628236f12
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-16 14:43:21 +01:00
Daniel Teske
3ef968097f BuildConfigWidget: Make displayName property instead of a virtual func
To make the interface the same as NamedWidget.

Change-Id: I5961b4e5aa7f5acf3a7f83e82b6fa4266b9ebf97
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-16 14:43:16 +01:00
Daniel Teske
b5bbdb38d9 Remove BuildConfigWidget::init()
It no longer serves a purpose.

Change-Id: Icdcb69c87112e295cefd4975dfa2b3d65818365a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-16 14:43:09 +01:00
Daniel Teske
e08b38ffd6 Move Project::subConfigWidgets to BuildConfiguration
Change-Id: Idf58ebbb02e9cd0ab4ff7e74fbed17250e274693
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-11-16 14:40:00 +01:00
Orgad Shaneh
10be8c9a48 InfoBar: Use Core::Id
Change-Id: I0918fbc20027a340facbedc685938a72d117d53b
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-09 15:34:50 +01:00
Eike Ziller
49d5c2381a Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbp
	src/libs/3rdparty/botan/botan.qbs
	src/libs/ssh/ssh.qbs
	src/plugins/qnx/blackberryqtversion.cpp

Change-Id: Ie8d16d636528aab4006310eab47a342fdf2634d9
2012-10-18 10:40:11 +02:00
Daniel Teske
f6d5ba9b1a CMake: Reparse .cbp files on swtiching targets
Also fix the code to not reparse the wrong file if the bc for a non
active target would be changed.

Task-number: QTCREATORBUG-8063
Change-Id: I40be4bbb1a5ef6ccc78515f153534a7304cae0e1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-10-16 18:01:31 +02:00
Eike Ziller
6fd252b0a5 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.cpp
	share/qtcreator/qml/qmlpuppet/commands/endpuppetcommand.h
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessageloghandler.h
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/madde/maemodeployconfigurationwidget.h
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentinfo.h
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	src/plugins/remotelinux/remotelinuxdeploymentdatamodel.h
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/ichecklib_global.h
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h
	tests/manual/ssh/tunnel/tunnel.h

Change-Id: I04d7761df6bd936ad00e0547974284c967d39580
2012-10-05 21:20:50 +02:00
Eike Ziller
68c796e244 Merge origin/2.6
Conflicts:
	src/libs/utils/fileutils.cpp
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
	src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h
	src/plugins/cmakeprojectmanager/cmakeproject.cpp
	src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp
	src/plugins/cmakeprojectmanager/makestep.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I153295bad2d97609d96d28945e9f942c5b46b2da
2012-10-05 20:51:31 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00