Commit Graph

340 Commits

Author SHA1 Message Date
Tobias Hunger
78d3191363 UiCodeModel: Simplify usage
Change-Id: Id274db9ed3022364e7b65788f8313ae6cfa73326
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-01 14:23:00 +02:00
Nikolai Kosjar
fdaddec7d1 CppTools: Clean up CppModelManager(Interface)
* Const correctness
* Better variable names
* Sort order of includes and forward declarations
* Comment fixes
* Cosmetic/Whitespace changes

Change-Id: Ieb137266ac7eddedb00c37f8b2cc8677d67e4bdd
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-07-31 14:34:08 +02:00
Eike Ziller
8c2e3fd2cb Fix usage of EditorManager::editorsForFileName
And move to using the corresponding method in document model.

Change-Id: I80b12ceab8a91c5393b9c0422d660a8896ae09d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-18 14:51:39 +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
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
Daniel Teske
cdbbf37743 Qt4Project: Do not trigger updateCodeModels on folderChanged
This reverts commit 2fdb70bdce.
Be smarter about what to do on folder changes. Trigger at most
one codemodel update per folder change signal. (Thus still fixing
the original problem 2fdb70b fixed.) And only trigger one if the
actual file list changes. This could be further optimized to only
tell the code model about the new files, but that's for another
patch.

Task-number: QTCREATORBUG-9697
Change-Id: I78d134663f1455254caf812c27c048d4f0828242
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-02 10:33:04 +02:00
Tobias Hunger
28be3fb83b Qt4PM: Fix warning
Change-Id: I65b3e950a78821c8395e13c459e1e4ad3d348b18
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-21 17:49:16 +02:00
Daniel Teske
2fdb70bdce Qt4Project: On folder change just schedule a async parse
On a folder change we need to collect all files which we add to the project
tree due to INSTALL or DEPLOYMENT rules. On a folder change the old
implementation only collected the files in the changed folder, but also
started a updateCodeModels(). If multiple Qt4PriFileNodes would react to
the folderChanged() signal, then a lot of updateCodeModels() would be
started.

This new code does a unnecessary complete iteration of the files starting
from the top level INSTALLS or DEPLOYMENT folders, but optimizes the
updateCodeModels() by going through the more advanced scheduling the
qt4project does for evaluation.

Task-number: QTCREATORBUG-9581
Change-Id: I50345516c56bd33e6e1e1b2e0d7db50635ea1552
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-21 15:49:48 +02:00
Oswald Buddenhagen
66802ef8bf implement simple VFS to support caching during project parsing
this tremendously speeds up loading of qt 5.1 based projects (including
qt itself) under mac os, as these look up the sdk dynamically, and use
caching to avoid doing that in every subproject.

Change-Id: I833253f81c3159056fab2ff888f293b36cc2ef56
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-06-04 15:42:13 +02:00
Fawzi Mohamed
5a4cdc11cb qmljs: adding qrc support
Qmljs now keeps a cache of parsed qrc files, and can resolve "qrc:" links.

This breaks the assumption that the name that the qml files has on
the filesystem is the one that qml sees, and that contents of
directories can be found just looking at file whose path starts with the
directory path.

Currently the first file is used when multiple qrc files contain the same
path, but support for strict and weak path resolving is already there.

At the moment only qrc files for projects that call updateQmljsCodeModel
are updated.

ChangeLog: QmljsSupport: Imports using qrc links are resolved.

Task-number: QTCREATORBUG-8953
Change-Id: I695fac2692af2417d49c192c580a1c2e7b4873f4
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-06-03 10:32:13 +02:00
Daniel Teske
3ab78b3459 Qt4ProjectManager: .QML are not qml files
Task-number: QTCREATORBUG-9191

Change-Id: I989f295ed037e92be692c52fd3f8a2c322819e12
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-23 13:22:35 +02:00
Daniel Teske
b45e7b01bf Qt4ProFileNode: Split up targetInformation
TargetInformation now contains no platform specific code anymore.

Change-Id: Id7b3b562e1046a1ea18127716532b1fc2614ef91
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-04-17 17:08:03 +02:00
Tobias Hunger
c3ad09446b Qt4PM: Move icons and mimetypes into QtSupport
Change-Id: I285b30d71951ad849e31c56daaa8d162a8efea9f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-17 12:26:28 +02:00
Eike Ziller
9ff8979da3 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	src/plugins/cpptools/cppchecksymbols.h
	src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp

Change-Id: I887ba071fa637ad44e39bcae581738fa078a6612
2013-04-11 18:27:52 +02:00
Oswald Buddenhagen
02e11c6cd7 make Qt4ProFileNode::buildDir() return normalized paths
QDir::absoluteFilePath(QString()) apparently appends a trailing slash

Task-number: QTCREATORBUG-9096
Change-Id: I7c816590daa87df4b646e5cee75566c97b839b52
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-04-11 11:33:30 +02:00
Daniel Teske
66f9337fdf Qt4RunConfiguration: Add missing .exe
Broke in 3c6f76d16c

Task-number: QTCREATORBUG-9046
Change-Id: I9bace8f8cefaefe9adf73aa3c5ebd93dae66e258
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-04-10 11:45:50 +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
Friedemann Kleint
4b0bafd615 Clean headers in CppTools.
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.

Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-10 10:55:14 +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
David Schulz
6c12a06029 Editor: Added Dialog for read only files.
Task-number: QTCREATORBUG-2851
Change-Id: Ic47a5a1833650e31b4e27d0a01259d6b398a6415
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-08 10:16:11 +02:00
Friedemann Kleint
c0b6d1d3f2 Clean headers in Qt4ProjectManager.
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.

Change-Id: I53fa1aafaf98fd3105ef35b595e4311854cf9cbc
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-28 13:38:30 +01:00
Friedemann Kleint
2c9d93a328 Qt4ProjectManager: Forward-declare some classes.
Change-Id: Ia05cbfec090bf42d8b9c0475e8904dbad12486d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-28 12:41:44 +01:00
Sergey Shambir
2bb2628054 Qt4Projet: handle OBJECTIVE_HEADERS qmake var
Since there are no separate file extensions for Objective-C and
Objective-C++ headers, all headers can be parsed as Objective-C++.

Change-Id: I91500c53de0fc14ce7be0c7c534e443d1f1f725a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-22 12:39:13 +01:00
Laurent Montel
316d2179c0 Remove deadcode.
Change-Id: Ia31aa42ca3d490774f90769d56d8e0fa9546ed70
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-04 14:37:47 +01:00
Oswald Buddenhagen
6bbdeec812 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	src/plugins/qnx/blackberrydeployconfiguration.cpp

Change-Id: I16d1c7717f4bc25ba7e8dbdd5be6580fafe3f33d
2013-02-28 12:02:40 +01:00
Eskil Abrahamsen Blomfeldt
e4ce44c018 Read ANDROID_TARGET_ARCH instead of CONFIG
Instead of adding single archs like x86 to the general CONFIG
variable, we can read the ANDROID_TARGET_ARCH directly in
Qt Creator.

Change-Id: Idc4c4524d0f277aad8e129ca622d64d505a5ac95
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-02-28 09:59:08 +01:00
Laurent Montel
15b4a5d70b Don't try to parse file when we can not open it
Change-Id: I8712a9d8f4136e9e3aa1c84ea6be52d36ac0ed35
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-02-22 16:05:17 +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
Oswald Buddenhagen
6c03121668 fix qt project manager not finding existing variable assignments
... by fixing parameters of QMakeParser::parsedBlock() call. this was an
omission from 00e9be4246.

Task-number: QTCREATORBUG-8320
Change-Id: Iec36e2986efc7d04d292000185db05aa24f4ee1b
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-02-08 15:44:37 +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
Oswald Buddenhagen
65c169c80e Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/android/androidrunner.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I653ddaef6e341818fc74aacfe30e89c07f40a8c6
2013-01-16 16:46:03 +01:00
BogDan Vatra
f841f3743d Add QMAKE_INCDIR to headers search paths
Change-Id: I482d16efc93d9786d4a66846f6991c168d612a63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-01-15 18:47:12 +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
e763eec4ad Replace qml icon overlay
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>
2012-12-18 10:19:35 +01:00
Daniel Teske
5797f7ef54 Adjust to actual qmake behaviour for VPATH
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>
2012-12-05 17:34:32 +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
346a2557aa Qt4PM: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: Id6c19c0a2a982e7a9b11d7ef0740c0258dbdc7b7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-27 14:03:53 +01:00
Eike Ziller
8cbafa83b6 Mac: Fix running Qt applications
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>
2012-11-16 14:41:55 +01:00
Daniel Teske
95169eb8e3 Qt4Project: Do a build_pass evaluation
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>
2012-10-24 12:48:50 +02:00
Daniel Teske
9619ef7f75 Rename accidentaly renamed signal kitUpdated back to proFileUpdated
Change-Id: I48884e1efd7637fe8da6382c12bb9bfe4fbde1ee
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-10-16 17:20:28 +02:00
Daniel Teske
db022c9c8d Remove Qt4ProFileNode::updateUiFilesFromBuild
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>
2012-10-09 17:08:52 +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
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Oswald Buddenhagen
e730e2bb8a Merge remote-tracking branch 'gerrit/2.6'
Conflicts:
	src/libs/utils/environment.cpp
	src/plugins/android/androidtoolchain.cpp
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	src/shared/proparser/qmakeevaluator.cpp

Change-Id: I554e96445a4d2b9ba0cc173ecd766091ee921aa2
2012-09-12 17:27:37 +02:00
Daniel Teske
4668b7b1d3 Qt Quick Qt4Project: Fix updating of removed or moved qml files
Task-number: QTCREATORBUG-7842
Change-Id: Ie11df6b2681f35a44684757f7601b90c766a68c1
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2012-09-11 15:20:57 +02:00
Eike Ziller
5ac721dd58 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbp
	src/libs/utils/utils.pro

Change-Id: I6f0aba746f915d8c51dcf9372f7d9f593562fc2b
2012-09-11 14:02:03 +02:00
Joerg Bornemann
95824dc298 fix usage of removed DEPLOYMENT property in Qt 5
For DEPLOYMENT, foo.sources has been superseded by
foo.files in Qt 5.

Change-Id: I8a357aca0969b7caa94b9e9ed63613064ba86299
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-09-07 14:23:38 +02:00