diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index b188b7855af..49a8e7daf59 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -546,6 +546,8 @@ void Qt4Project::updateCodeModel() if (debug) qDebug()<<"Qt4Project::updateCodeModel()"; + // TODO figure out the correct ordering of #include directories + CppTools::CppModelManagerInterface *modelmanager = ExtensionSystem::PluginManager::instance() ->getObject(); @@ -580,7 +582,7 @@ void Qt4Project::updateCodeModel() const QString newQtIncludePath = versionInfo.value(QLatin1String("QT_INSTALL_HEADERS")); const QString newQtLibsPath = versionInfo.value(QLatin1String("QT_INSTALL_LIBS")); - predefinedIncludePaths.append(newQtIncludePath); + predefinedIncludePaths.prepend(newQtIncludePath); QDir dir(newQtIncludePath); foreach (QFileInfo info, dir.entryInfoList(QDir::Dirs)) { const QString path = info.fileName(); @@ -588,7 +590,7 @@ void Qt4Project::updateCodeModel() if (path == QLatin1String("Qt")) continue; // skip $QT_INSTALL_HEADERS/Qt. There's no need to include it. else if (path.startsWith(QLatin1String("Qt")) || path == QLatin1String("phonon")) - predefinedIncludePaths.append(info.absoluteFilePath()); + predefinedIncludePaths.prepend(info.absoluteFilePath()); } FindQt4ProFiles findQt4ProFiles; @@ -598,13 +600,13 @@ void Qt4Project::updateCodeModel() QStringList allFrameworkPaths = predefinedFrameworkPaths; #ifdef Q_OS_MAC - allFrameworkPaths.append(newQtLibsPath); + allFrameworkPaths.prepend(newQtLibsPath); // put QtXXX.framework/Headers directories in include path since that qmake's behavior QDir frameworkDir(newQtLibsPath); foreach (QFileInfo info, frameworkDir.entryInfoList(QDir::Dirs)) { if (! info.fileName().startsWith(QLatin1String("Qt"))) continue; - allIncludePaths.append(info.absoluteFilePath()+"/Headers"); + allIncludePaths.prepend(info.absoluteFilePath()+"/Headers"); } #endif @@ -641,9 +643,9 @@ void Qt4Project::updateCodeModel() const QStringList proIncludePaths = pro->variableValue(IncludePathVar); foreach (const QString &includePath, proIncludePaths) { if (!allIncludePaths.contains(includePath)) - allIncludePaths.append(includePath); + allIncludePaths.prepend(includePath); if (!info.includes.contains(includePath)) - info.includes.append(includePath); + info.includes.prepend(includePath); } { // Pkg Config support @@ -655,13 +657,13 @@ void Qt4Project::updateCodeModel() process.waitForFinished(); QString result = process.readAllStandardOutput(); foreach(const QString &part, result.trimmed().split(' ', QString::SkipEmptyParts)) { - info.includes.append(part.mid(2)); // Chop off "-I" + info.includes.prepend(part.mid(2)); // Chop off "-I" } } } // Add mkspec directory - info.includes.append(qtVersion(activeBuildConfiguration())->mkspecPath()); + info.includes.prepend(qtVersion(activeBuildConfiguration())->mkspecPath()); info.frameworkPaths = allFrameworkPaths; @@ -675,7 +677,7 @@ void Qt4Project::updateCodeModel() } // Add mkspec directory - allIncludePaths.append(qtVersion(activeBuildConfiguration())->mkspecPath()); + allIncludePaths.prepend(qtVersion(activeBuildConfiguration())->mkspecPath()); // Dump things out // This is debugging output...