Commit Graph

402 Commits

Author SHA1 Message Date
Daniel Teske
cc7fe5eac6 Project: Simplfy file adding/removing interface
The filetype is only relevant for Qt4 projects. But even for Qt4 projects
the file type is insufficient to decide where the file should be added.
So remove the file type from the interface and let the projectmanagers
themselves figure out what they want to do.

Also fix
Task-number: QTCREATORBUG-9688

Change-Id: I02f7b1cd2e05efaf76e36fb9af34b109d4482f88
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-08 17:05:04 +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
Orgad Shaneh
029fd5a572 Streamline mimetypes.xml files
Change-Id: I4f2a28d4732ea496f574e5f51fb1e1633ebca99d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-07 16:23:19 +02:00
Daniel Teske
4d69ccb738 Remove Nokia leftovers take 2
Change-Id: Ib5fb8e81204d3454c2972a272f3abe4c22274f7a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-05-28 17:59:04 +02:00
Daniel Teske
f004619cfe .pro and .qbs files: Consistently list .mimetypes.xml files
Change-Id: I37add98ad5b35b3d375fca721ed816124f3af7f4
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-28 17:58:56 +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
Tobias Hunger
a52063ee39 Projects: Improve opening of projects
Move logic to detect already open projects into ProjectExplorer itself,
along with some check for the canonicalFilePath.

Remove the same logic from the individual projectmanagers.

Put check that the path is a file into project managers. So far all of
them assume the project file to be a file (e.g. a xcode project manager
would expect a directory though).

Task-number: QTCREATORBUG-9350
Change-Id: I3901958395e3c594c8cfba9a85dc7d3ec3334afb
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-27 13:16:50 +02:00
Orgad Shaneh
05ef32f242 Remove Nokia leftovers
Mostly internal mimetypes

Change-Id: Ia84206f1334c1f83474cbc307e848719bb98adbc
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-05-24 12:29:23 +02:00
Tobias Hunger
24ee641543 Fix dependency information according to output of dependency checker
Change-Id: Ic1259f04f4120b6e495ebb3672f7f360c71cba7f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-05-22 16:41:39 +02:00
Orgad Shaneh
ec84dd058a Fix indentation
Mostly 3 leading spaces converted to 4

A few other indentation issues

Change-Id: Ib0db5925cac4d2999faf5699cd570884cbcd4863
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-06 08:38:50 +02:00
Sergey Shambir
2ddb1f9849 GenericProject: simplified C++ codemodel interaction.
Now it uses ProjectPart::evaluateToolchain() to read toolchain info with
given compiler flags.

Change-Id: I97c643707e1626424824aa9b53786f146b0f4790
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-05-02 13:00:04 +02:00
Joerg Bornemann
714298b370 fix build with namespaced Qt
Change-Id: I014b751d0e7bf584c2370c8ae40fbe91f28ff747
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-23 11:32:26 +02:00
Pawel Faron
ec145f36f3 Added new filter into "Import Existing Project" and "Edit Files"
Extended classes:
- SelectableFilesModel
- SelectableFilesDialog
- FilesSelectionWizardPage

Task-number: QTCREATORBUG-8805
Change-Id: I0ff2f458fce2d7b0ceee24ace7dc2fafddc5ad5d
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-19 20:41:05 +02:00
hjk
d3c7220cbc Mime: Use string comparisons instead of regexps for simple globbing
Change-Id: Ia894f3663f43088cdb2d8cb685bcebecaded8146
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-17 17:13:35 +02:00
Oswald Buddenhagen
f9f8cd354b auto-generate <dependencyList> in .pluginspec files
Change-Id: I8bb9b4eb0ae5ed9b283da422be882603ae0e1b49
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-04-11 12:52:03 +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
Oswald Buddenhagen
06acd82ada derive TARGET from QTC_{LIB,PLUGIN}_NAME
the information is redundant now

Change-Id: Icc8c8b4ace11538d45c6c9e1dbe5a7976f4743e1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-03 14:37:56 +02:00
Oswald Buddenhagen
66a3553107 make library and plugin dependencies declarative
instead of directly including the respective pri files in
*_dependencies.pri, set variables and let qtcreator.pri resolve
them to includes.
this will allow us to re-use the dependency info elsewhere.

Change-Id: Iaa33924e428ac0409660f42df2f98a7978452d3e
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-04-03 14:37:45 +02:00
Oswald Buddenhagen
9631fb88cf centralize assignment of TEMPLATE = lib
Change-Id: I4025539f3875e79f03743ba9ed3fd09cd31b998d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-02 17:13:17 +02:00
Oswald Buddenhagen
7ce3362288 automatically include libs' and plugins' _dependencies.pri files
Change-Id: I25645bb625b467c6f9d895ff89a70acd6a25683e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-02 12:19:31 +02:00
Petar Perisin
6a4ecce83c GenericProject: add only existing files
when refreshing project check if files exist, and add only existing
files to the project

Change-Id: I5937bbe39e56c089b97350e095458c014fd294fb
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2013-03-27 18:40:18 +01:00
Friedemann Kleint
92207c96b7 Clean headers in ProjectExplorer.
Change-Id: If61a8a91d2a39c5c97974a5bfcef91892b68d3f1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-26 12:37:29 +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
Friedemann Kleint
fff7c62b8a Fix Krazy warnings about values or keys iteration in project management.
Change-Id: I70674ac326f508b53f50b4dbbc5e051dbdd9017d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-03-15 13:24:29 +01:00
Daniel Teske
f6b9e90f74 Generic Project: Fix relative paths outside of project directory
The paths are later split on '/' and thus should not end in '/'.

Task-number: QTCREATORBUG-8840

Change-Id: I3fb1ddd53bb1e33123e20f683c481d56ad651d62
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2013-03-01 13:30:54 +01:00
Thorbjørn Lindeijer
e5907eafbd Speed up the identification of C++ files in the generic project
The previous method of identifying the files matching any C/C++ or
ObjC++ mime types somewhat naively searched through all mime-types
(especially for hard to identify files) and then checked whether the
returned mime type was part of a limited set. This takes too long for
large projects.

The new method only checks against the mime types we're actually looking
for.

Task-number: QTCREATORBUG-8625
Change-Id: I956f3653db6b961c5c814eed1a1a43ac8a118704
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-02-22 15:58:46 +01:00
Tobias Hunger
1951c86395 Reduce padding in often-used structs
Reduce the padding in some often-used structs for 64bit machines.
32bit machines should also profit from most changes, but to a
lesser degree.

Change-Id: Ic4c67b94e962731de4f31164c52a372d78944ccc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-21 13:22:21 +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
Tobias Hunger
962ba86d0f AbstractProcessStep: Do not run a qprocess in a thread
This avoids sending signals for new tasks and process output
via the gui thread's event loop. When finding lots of issues in
the output we generate so many events that any attempt to
compress events takes a long time (max. events waiting to be
processed were > 1200000 when doing a clang -Weverything build!),
and thus the UI freezes.

Change-Id: I9668d2537b1a268e788cd0ea5c756ebaab4462a9
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-02-12 18:31:28 +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
Daniel Teske
35457f6f2e Fix crash on renaming files in generic project manager
Task-number: QTCREATORBUG-8638

Change-Id: Ie5b9c237459f4e6d503121331a51821cd812bee8
Reviewed-by: Matthias Blaicher <matthias@blaicher.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-01-31 16:08:05 +01:00
Tobias Hunger
54d0f91b94 Qt4BuildConfiguration: Allow for "Release" and "Debug" BCs
No longer require some text additional text.

Change-Id: I0bc1f64e6cbc9577cd4d79e04ce95b24a614ac7f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-01-31 12:17:03 +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
Orgad Shaneh
88267a3299 Generalize QT_NO_CAST_FROM_ASCII
Change-Id: I2b6c5876cafb7cf19fc3040bc84fd88a90b6c0e0
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-16 01:14:08 +01:00
Thorbjørn Lindeijer
c002c598b9 Fixed generic project considering all files as source files
Now it will only consider C and C++ files as source files by filtering
on mime-type. This seems appropriate for now since it currently only
supports C++ projects anyway.

Also removed the list of generated files, which was always empty since
there is no way to tell the generic project which files are generated.

Task-number: QTCREATORBUG-5451

Change-Id: I12209995db4b30643af1d51123813c24d016f44c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-01-09 11:49:06 +01:00
Debao Zhang
4a32f1d821 use QSharedPointer instead of QRefCountPointer
Change-Id: Ie670448bf924e02720eae6db33f2a346e8ac0001
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-01-09 08:59:28 +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
Eike Ziller
a8a33b9a3b Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I288eeb1137e1b08d6c0d69f394cbb0fe1a937b68
2012-12-14 08:20:49 +01:00
Thomas Otto
6d83dda6df GenericProject: remove trailing "/" from .includes paths
Paths in the .includes file are user edited and may contain trailing
slashes.
If these are not filtered out, the CppCompletionAssistProcessor
suggestions are missing the first character (e.g. rc/, not src/).

Change-Id: I19b4c811d504042d0a4eb4ee8961818b3e17051c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-12-13 13:38:56 +01:00
Daniel Teske
2f862681d7 ProcessParameter: Ensure macro expansion is done in the main thread
The macro expanders are not thread safe. Also the values should be
expanded in init() as later changes to e.g. the buildconfiguration
should not affect the build anymore.

Change-Id: I82f5cd229d82cdb9f897c1db69c47b028cca29d1
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-12-07 13:43:09 +01:00
Erik Verbruggen
cfc1069c78 C++: Remove hard-coded configuration file name.
Change-Id: Ibe4cc69eafd14dab7707862b1068ce1e21b1d8e0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-04 08:33:33 +01:00
Orgad Shaneh
a44aa55502 Add whitespace after control keywords
find -name \*.cpp -o -name \*.h | \
  xargs sed -Ei 's/ (for|foreach|if|switch|while)\(/ \1 (/g'

Change-Id: I9efdff4bf0c8c01a52baaaeb75198483c77b0390
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-28 20:20:46 +01:00
Orgad Shaneh
6d4846a78c GenericProjectManager: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: Iafe507e833d09fe45a24c830d670995c49e3a145
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-27 08:56:25 +01:00
Eike Ziller
387f5a7006 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/cpptools/cppcompletion_test.cpp
	src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	tests/auto/cplusplus/findusages/tst_findusages.cpp

Change-Id: Idd2abc09753a71a6c252bfa9914274459b2c7e63
2012-11-26 10:52:28 +01:00
Tobias Hunger
634ab62870 Fix build issues being empty for non-qmake projects
In qmake based projects we override LC_ALL to make sure the parsers
do not fail to extract build issues from the compiler output.

Do the same for the other build systems.

Task-number: QTCREATORBUG-5097
Change-Id: I75830c362a736df42a0500c889c3c42e42b82047
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-21 13:27:40 +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
Orgad Shaneh
7c4e2b6c60 Id: Add QByteArray constructor
Distinguish from const char * one.

QString ctor is yet to be removed

Change-Id: I2da231036c6417353b0566d39666d918ad141c6d
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-20 08:57:35 +01:00