diff options
Diffstat (limited to 'src/plugins/genericprojectmanager')
10 files changed, 144 insertions, 121 deletions
diff --git a/src/plugins/genericprojectmanager/filesselectionwizardpage.h b/src/plugins/genericprojectmanager/filesselectionwizardpage.h index 644cc04f20..721f1d4cd5 100644 --- a/src/plugins/genericprojectmanager/filesselectionwizardpage.h +++ b/src/plugins/genericprojectmanager/filesselectionwizardpage.h @@ -41,7 +41,7 @@ class FilesSelectionWizardPage : public QWizardPage Q_OBJECT public: - FilesSelectionWizardPage(GenericProjectWizardDialog *genericProjectWizard, QWidget *parent = 0); + FilesSelectionWizardPage(GenericProjectWizardDialog *genericProjectWizard, QWidget *parent = nullptr); bool isComplete() const override; void initializePage() override; void cleanupPage() override; diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index c727469e0a..7c3e37e9db 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -118,7 +118,7 @@ BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, con QTC_ASSERT(info->kitId == parent->kit()->id(), return 0); QTC_ASSERT(!info->displayName.isEmpty(), return 0); - GenericBuildConfiguration *bc = new GenericBuildConfiguration(parent); + auto bc = new GenericBuildConfiguration(parent); bc->setDisplayName(info->displayName); bc->setDefaultDisplayName(info->displayName); bc->setBuildDirectory(info->buildDirectory); @@ -127,14 +127,14 @@ BuildConfiguration *GenericBuildConfigurationFactory::create(Target *parent, con BuildStepList *cleanSteps = bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN); Q_ASSERT(buildSteps); - GenericMakeStep *makeStep = new GenericMakeStep(buildSteps); + auto makeStep = new GenericMakeStep(buildSteps); buildSteps->insertStep(0, makeStep); - makeStep->setBuildTarget(QLatin1String("all"), /* on = */ true); + makeStep->setBuildTarget("all", /* on = */ true); Q_ASSERT(cleanSteps); - GenericMakeStep *cleanMakeStep = new GenericMakeStep(cleanSteps); + auto cleanMakeStep = new GenericMakeStep(cleanSteps); cleanSteps->insertStep(0, cleanMakeStep); - cleanMakeStep->setBuildTarget(QLatin1String("clean"), /* on = */ true); + cleanMakeStep->setBuildTarget("clean", /* on = */ true); cleanMakeStep->setClean(true); return bc; @@ -165,7 +165,7 @@ BuildConfiguration *GenericBuildConfigurationFactory::restore(Target *parent, co { if (!canRestore(parent, map)) return 0; - GenericBuildConfiguration *bc(new GenericBuildConfiguration(parent)); + auto bc = new GenericBuildConfiguration(parent); if (bc->fromMap(map)) return bc; delete bc; @@ -182,7 +182,7 @@ bool GenericBuildConfigurationFactory::canHandle(const Target *t) const BuildInfo *GenericBuildConfigurationFactory::createBuildInfo(const Kit *k, const Utils::FileName &buildDir) const { - BuildInfo *info = new BuildInfo(this); + auto info = new BuildInfo(this); info->typeName = tr("Build"); info->buildDirectory = buildDir; info->kitId = k->id(); @@ -201,13 +201,13 @@ BuildConfiguration::BuildType GenericBuildConfiguration::buildType() const GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration *bc) : m_buildConfiguration(0) { - QFormLayout *fl = new QFormLayout(this); + auto fl = new QFormLayout(this); fl->setContentsMargins(0, -1, 0, -1); fl->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); // build directory m_pathChooser = new Utils::PathChooser(this); - m_pathChooser->setHistoryCompleter(QLatin1String("Generic.BuildDir.History")); + m_pathChooser->setHistoryCompleter("Generic.BuildDir.History"); m_pathChooser->setEnabled(true); fl->addRow(tr("Build directory:"), m_pathChooser); connect(m_pathChooser, &Utils::PathChooser::rawPathChanged, diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.h b/src/plugins/genericprojectmanager/genericbuildconfiguration.h index 3406696592..75f5ceef5d 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.h +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.h @@ -64,7 +64,7 @@ class GenericBuildConfigurationFactory : public ProjectExplorer::IBuildConfigura Q_OBJECT public: - explicit GenericBuildConfigurationFactory(QObject *parent = 0); + explicit GenericBuildConfigurationFactory(QObject *parent = nullptr); ~GenericBuildConfigurationFactory(); int priority(const ProjectExplorer::Target *parent) const override; diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index fbbe741134..3ac7a14a63 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -142,19 +142,19 @@ QVariantMap GenericMakeStep::toMap() const { QVariantMap map(AbstractProcessStep::toMap()); - map.insert(QLatin1String(BUILD_TARGETS_KEY), m_buildTargets); - map.insert(QLatin1String(MAKE_ARGUMENTS_KEY), m_makeArguments); - map.insert(QLatin1String(MAKE_COMMAND_KEY), m_makeCommand); - map.insert(QLatin1String(CLEAN_KEY), m_clean); + map.insert(BUILD_TARGETS_KEY, m_buildTargets); + map.insert(MAKE_ARGUMENTS_KEY, m_makeArguments); + map.insert(MAKE_COMMAND_KEY, m_makeCommand); + map.insert(CLEAN_KEY, m_clean); return map; } bool GenericMakeStep::fromMap(const QVariantMap &map) { - m_buildTargets = map.value(QLatin1String(BUILD_TARGETS_KEY)).toStringList(); - m_makeArguments = map.value(QLatin1String(MAKE_ARGUMENTS_KEY)).toString(); - m_makeCommand = map.value(QLatin1String(MAKE_COMMAND_KEY)).toString(); - m_clean = map.value(QLatin1String(CLEAN_KEY)).toBool(); + m_buildTargets = map.value(BUILD_TARGETS_KEY).toStringList(); + m_makeArguments = map.value(MAKE_ARGUMENTS_KEY).toString(); + m_makeCommand = map.value(MAKE_COMMAND_KEY).toString(); + m_clean = map.value(CLEAN_KEY).toBool(); return BuildStep::fromMap(map); } @@ -174,7 +174,7 @@ QString GenericMakeStep::makeCommand(const Utils::Environment &environment) cons if (tc) command = tc->makeCommand(environment); else - command = QLatin1String("make"); + command = "make"; } return command; } @@ -220,9 +220,10 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt m_ui = new Ui::GenericMakeStep; m_ui->setupUi(this); - GenericProject *pro = static_cast<GenericProject *>(m_makeStep->target()->project()); - foreach (const QString &target, pro->buildTargets()) { - QListWidgetItem *item = new QListWidgetItem(target, m_ui->targetsList); + const auto pro = static_cast<GenericProject *>(m_makeStep->target()->project()); + const auto buildTargets = pro->buildTargets(); + for (const QString &target : buildTargets) { + auto item = new QListWidgetItem(target, m_ui->targetsList); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); item->setCheckState(m_makeStep->buildsTarget(item->text()) ? Qt::Checked : Qt::Unchecked); } @@ -333,19 +334,19 @@ QList<BuildStepInfo> GenericMakeStepFactory::availableSteps(BuildStepList *paren BuildStep *GenericMakeStepFactory::create(BuildStepList *parent, const Id id) { Q_UNUSED(id) - GenericMakeStep *step = new GenericMakeStep(parent); + auto step = new GenericMakeStep(parent); if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) { step->setClean(true); - step->setBuildTarget(QLatin1String("clean"), /* on = */ true); + step->setBuildTarget("clean", /* on = */ true); } else if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_BUILD) { - step->setBuildTarget(QLatin1String("all"), /* on = */ true); + step->setBuildTarget("all", /* on = */ true); } return step; } BuildStep *GenericMakeStepFactory::clone(BuildStepList *parent, BuildStep *source) { - GenericMakeStep *old(qobject_cast<GenericMakeStep *>(source)); + auto old = qobject_cast<GenericMakeStep *>(source); Q_ASSERT(old); return new GenericMakeStep(parent, old); } diff --git a/src/plugins/genericprojectmanager/genericmakestep.h b/src/plugins/genericprojectmanager/genericmakestep.h index e36315c87b..4228de35ee 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.h +++ b/src/plugins/genericprojectmanager/genericmakestep.h @@ -104,7 +104,7 @@ class GenericMakeStepFactory : public ProjectExplorer::IBuildStepFactory Q_OBJECT public: - explicit GenericMakeStepFactory(QObject *parent = 0); + explicit GenericMakeStepFactory(QObject *parent = nullptr); QList<ProjectExplorer::BuildStepInfo> availableSteps(ProjectExplorer::BuildStepList *parent) const override; diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index b2f26bb5c7..23b68c77ce 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -74,13 +74,13 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName) setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT)); setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX)); - QFileInfo fileInfo = projectFilePath().toFileInfo(); - QDir dir = fileInfo.dir(); + const QFileInfo fileInfo = projectFilePath().toFileInfo(); + const QDir dir = fileInfo.dir(); m_projectName = fileInfo.completeBaseName(); - m_filesFileName = QFileInfo(dir, m_projectName + QLatin1String(".files")).absoluteFilePath(); - m_includesFileName = QFileInfo(dir, m_projectName + QLatin1String(".includes")).absoluteFilePath(); - m_configFileName = QFileInfo(dir, m_projectName + QLatin1String(".config")).absoluteFilePath(); + m_filesFileName = QFileInfo(dir, m_projectName + ".files").absoluteFilePath(); + m_includesFileName = QFileInfo(dir, m_projectName + ".includes").absoluteFilePath(); + m_configFileName = QFileInfo(dir, m_projectName + ".config").absoluteFilePath(); m_filesIDocument = new GenericProjectFile(this, m_filesFileName, GenericProject::Files); m_includesIDocument = new GenericProjectFile(this, m_includesFileName, GenericProject::Configuration); @@ -123,7 +123,7 @@ static QStringList readLines(const QString &absoluteFileName) if (file.open(QFile::ReadOnly)) { QTextStream stream(&file); - forever { + for (;;) { const QString line = stream.readLine(); if (line.isNull()) break; @@ -149,8 +149,8 @@ bool GenericProject::saveRawList(const QStringList &rawList, const QString &file Utils::FileSaver saver(fileName, QIODevice::Text); if (!saver.hasError()) { QTextStream stream(saver.file()); - foreach (const QString &filePath, rawList) - stream << filePath << QLatin1Char('\n'); + for (const QString &filePath : rawList) + stream << filePath << '\n'; saver.setResult(&stream); } bool result = saver.finalize(ICore::mainWindow()); @@ -167,24 +167,25 @@ bool GenericProject::addFiles(const QStringList &filePaths) { QStringList newList = m_rawFileList; - QDir baseDir(projectDirectory().toString()); - foreach (const QString &filePath, filePaths) + const QDir baseDir(projectDirectory().toString()); + for (const QString &filePath : filePaths) insertSorted(&newList, baseDir.relativeFilePath(filePath)); - QSet<QString> includes = projectIncludePaths().toSet(); + const QSet<QString> includes = projectIncludePaths().toSet(); QSet<QString> toAdd; - foreach (const QString &filePath, filePaths) { + for (const QString &filePath : filePaths) { const QString directory = QFileInfo(filePath).absolutePath(); - if (!includes.contains(directory) && !toAdd.contains(directory)) + if (!includes.contains(directory)) toAdd << directory; } const QDir dir(projectDirectory().toString()); - foreach (const QString &path, toAdd) { + const auto candidates = toAdd; + for (const QString &path : candidates) { QString relative = dir.relativeFilePath(path); if (relative.isEmpty()) - relative = QLatin1Char('.'); + relative = '.'; m_rawProjectIncludePaths.append(relative); } @@ -199,7 +200,7 @@ bool GenericProject::removeFiles(const QStringList &filePaths) { QStringList newList = m_rawFileList; - foreach (const QString &filePath, filePaths) { + for (const QString &filePath : filePaths) { QHash<QString, QString>::iterator i = m_rawListEntries.find(filePath); if (i != m_rawListEntries.end()) newList.removeOne(i.value()); @@ -212,7 +213,7 @@ bool GenericProject::setFiles(const QStringList &filePaths) { QStringList newList; QDir baseDir(projectDirectory().toString()); - foreach (const QString &filePath, filePaths) + for (const QString &filePath : filePaths) newList.append(baseDir.relativeFilePath(filePath)); Utils::sort(newList); @@ -262,23 +263,23 @@ void GenericProject::refresh(RefreshOptions options) if (options & Files) { QList<FileNode *> fileNodes = Utils::transform(files(), [](const QString &f) { - FileType fileType = SourceType; // ### FIXME - if (f.endsWith(QLatin1String(".qrc"))) - fileType = ResourceType; + FileType fileType = FileType::Source; // ### FIXME + if (f.endsWith(".qrc")) + fileType = FileType::Resource; return new FileNode(Utils::FileName::fromString(f), fileType, false); }); - FileNode *projectFilesNode = new FileNode(Utils::FileName::fromString(m_filesFileName), - ProjectFileType, - /* generated = */ false); + auto projectFilesNode = new FileNode(Utils::FileName::fromString(m_filesFileName), + FileType::Project, + /* generated = */ false); - FileNode *projectIncludesNode = new FileNode(Utils::FileName::fromString(m_includesFileName), - ProjectFileType, - /* generated = */ false); + auto projectIncludesNode = new FileNode(Utils::FileName::fromString(m_includesFileName), + FileType::Project, + /* generated = */ false); - FileNode *projectConfigNode = new FileNode(Utils::FileName::fromString(m_configFileName), - ProjectFileType, - /* generated = */ false); + auto projectConfigNode = new FileNode(Utils::FileName::fromString(m_configFileName), + FileType::Project, + /* generated = */ false); fileNodes << projectFilesNode << projectIncludesNode << projectConfigNode; rootProjectNode()->buildTree(fileNodes); } @@ -288,25 +289,6 @@ void GenericProject::refresh(RefreshOptions options) } /** - * Expands environment variables in the given \a string when they are written - * like $$(VARIABLE). - */ -static void expandEnvironmentVariables(const QProcessEnvironment &env, QString &string) -{ - static QRegExp candidate(QLatin1String("\\$\\$\\((.+)\\)")); - - int index = candidate.indexIn(string); - while (index != -1) { - const QString value = env.value(candidate.cap(1)); - - string.replace(index, candidate.matchedLength(), value); - index += value.length(); - - index = candidate.indexIn(string, index); - } -} - -/** * Expands environment variables and converts the path from relative to the * project to an absolute path. * @@ -316,17 +298,29 @@ static void expandEnvironmentVariables(const QProcessEnvironment &env, QString & QStringList GenericProject::processEntries(const QStringList &paths, QHash<QString, QString> *map) const { - const QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + const BuildConfiguration *const buildConfig = activeTarget() ? activeTarget()->activeBuildConfiguration() + : nullptr; + + const Utils::Environment buildEnv = buildConfig ? buildConfig->environment() + : Utils::Environment::systemEnvironment(); + + const Utils::MacroExpander *expander = macroExpander(); + if (buildConfig) + expander = buildConfig->macroExpander(); + else if (activeTarget()) + expander = activeTarget()->macroExpander(); + const QDir projectDir(projectDirectory().toString()); QFileInfo fileInfo; QStringList absolutePaths; - foreach (const QString &path, paths) { + for (const QString &path : paths) { QString trimmedPath = path.trimmed(); if (trimmedPath.isEmpty()) continue; - expandEnvironmentVariables(env, trimmedPath); + trimmedPath = buildEnv.expandVariables(trimmedPath); + trimmedPath = expander->expand(trimmedPath); trimmedPath = Utils::FileName::fromUserInput(trimmedPath).toString(); @@ -363,16 +357,36 @@ void GenericProject::refreshCppCodeModel() ppBuilder.setQtVersion(activeQtVersion); ppBuilder.setIncludePaths(projectIncludePaths()); ppBuilder.setConfigFileName(configFileName()); - ppBuilder.setCxxFlags(QStringList() << QLatin1String("-std=c++11")); const QList<Id> languages = ppBuilder.createProjectPartsForFiles(files()); - foreach (Id language, languages) + for (Id language : languages) setProjectLanguage(language, true); - pInfo.finish(); m_codeModelFuture = modelManager->updateProjectInfo(pInfo); } +void GenericProject::activeTargetWasChanged() +{ + if (m_activeTarget) { + disconnect(m_activeTarget, &Target::activeBuildConfigurationChanged, + this, &GenericProject::activeBuildConfigurationWasChanged); + } + + m_activeTarget = activeTarget(); + + if (!m_activeTarget) + return; + + connect(m_activeTarget, &Target::activeBuildConfigurationChanged, + this, &GenericProject::activeBuildConfigurationWasChanged); + refresh(Everything); +} + +void GenericProject::activeBuildConfigurationWasChanged() +{ + refresh(Everything); +} + QStringList GenericProject::projectIncludePaths() const { return m_projectIncludePaths; @@ -401,15 +415,13 @@ QStringList GenericProject::files(FilesMode fileMode) const QStringList GenericProject::buildTargets() const { - QStringList targets; - targets.append(QLatin1String("all")); - targets.append(QLatin1String("clean")); + const QStringList targets = { "all", "clean" }; return targets; } Project::RestoreResult GenericProject::fromMap(const QVariantMap &map, QString *errorMessage) { - RestoreResult result = Project::fromMap(map, errorMessage); + const RestoreResult result = Project::fromMap(map, errorMessage); if (result != RestoreResult::Ok) return result; @@ -418,11 +430,11 @@ Project::RestoreResult GenericProject::fromMap(const QVariantMap &map, QString * addTarget(createTarget(defaultKit)); // Sanity check: We need both a buildconfiguration and a runconfiguration! - QList<Target *> targetList = targets(); + const QList<Target *> targetList = targets(); if (targetList.isEmpty()) return RestoreResult::Error; - foreach (Target *t, targetList) { + for (Target *t : targetList) { if (!t->activeBuildConfiguration()) { removeTarget(t); continue; @@ -431,6 +443,14 @@ Project::RestoreResult GenericProject::fromMap(const QVariantMap &map, QString * t->addRunConfiguration(new CustomExecutableRunConfiguration(t)); } + m_activeTarget = activeTarget(); + if (m_activeTarget) { + connect(m_activeTarget, &Target::activeBuildConfigurationChanged, + this, &GenericProject::activeBuildConfigurationWasChanged); + } + + connect(this, &Project::activeTargetChanged, + this, &GenericProject::activeTargetWasChanged); refresh(Everything); return RestoreResult::Ok; } @@ -447,7 +467,7 @@ GenericProjectFile::GenericProjectFile(GenericProject *parent, QString fileName, m_options(options) { setId("Generic.ProjectFile"); - setMimeType(QLatin1String(Constants::GENERICMIMETYPE)); + setMimeType(Constants::GENERICMIMETYPE); setFilePath(Utils::FileName::fromString(fileName)); } diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 1ad1567c88..59655c39cd 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -85,9 +85,11 @@ private: bool saveRawList(const QStringList &rawList, const QString &fileName); void parseProject(RefreshOptions options); QStringList processEntries(const QStringList &paths, - QHash<QString, QString> *map = 0) const; + QHash<QString, QString> *map = nullptr) const; void refreshCppCodeModel(); + void activeTargetWasChanged(); + void activeBuildConfigurationWasChanged(); QString m_filesFileName; QString m_includesFileName; @@ -103,6 +105,8 @@ private: QStringList m_projectIncludePaths; QFuture<void> m_codeModelFuture; + + ProjectExplorer::Target *m_activeTarget = nullptr; }; class GenericProjectFile : public Core::IDocument diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp index a84909c676..bdd7b71cdf 100644 --- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp +++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp @@ -61,11 +61,11 @@ QHash<QString, QStringList> sortFilesIntoPaths(const QString &base, const QSet<Q } else { // `file' is not part of the project. relativeFilePath = baseDir.relativeFilePath(absoluteFilePath.toString()); - if (relativeFilePath.endsWith(QLatin1Char('/'))) + if (relativeFilePath.endsWith('/')) relativeFilePath.chop(1); } - if (relativeFilePath == QLatin1String(".")) + if (relativeFilePath == ".") relativeFilePath.clear(); filesInPath[relativeFilePath].append(absoluteFileName); @@ -81,12 +81,13 @@ bool GenericProjectNode::showInSimpleTree() const QList<ProjectAction> GenericProjectNode::supportedActions(Node *node) const { Q_UNUSED(node); - return QList<ProjectAction>() - << AddNewFile - << AddExistingFile - << AddExistingDirectory - << RemoveFile - << Rename; + return { + AddNewFile, + AddExistingFile, + AddExistingDirectory, + RemoveFile, + Rename + }; } bool GenericProjectNode::addFiles(const QStringList &filePaths, QStringList *notAdded) diff --git a/src/plugins/genericprojectmanager/genericprojectplugin.cpp b/src/plugins/genericprojectmanager/genericprojectplugin.cpp index c49ad6198c..c0fc8df74a 100644 --- a/src/plugins/genericprojectmanager/genericprojectplugin.cpp +++ b/src/plugins/genericprojectmanager/genericprojectplugin.cpp @@ -58,7 +58,7 @@ namespace Internal { bool GenericProjectPlugin::initialize(const QStringList &, QString *errorMessage) { Q_UNUSED(errorMessage) - Utils::MimeDatabase::addMimeTypes(QLatin1String(":genericproject/GenericProjectManager.mimetypes.xml")); + Utils::MimeDatabase::addMimeTypes(":genericproject/GenericProjectManager.mimetypes.xml"); addAutoReleasedObject(new Manager); addAutoReleasedObject(new ProjectFilesFactory); diff --git a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp index 16e440def2..46e7eb6b90 100644 --- a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp +++ b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp @@ -74,7 +74,7 @@ void GenericProjectPlugin::test_simple() QCOMPARE(pPart->files.first().kind, ProjectFile::CXXSource); } -static QStringList simplify(const QVector<ProjectFile> &files, const QString &prefix) +static QStringList simplify(const ProjectFiles &files, const QString &prefix) { QStringList result; @@ -101,7 +101,7 @@ void GenericProjectPlugin::test_mixed1() QVERIFY(pInfo.isValid()); QCOMPARE(pInfo.projectParts().size(), 3); - QList<ProjectPart::Ptr> parts = pInfo.projectParts(); + QVector<ProjectPart::Ptr> parts = pInfo.projectParts(); std::sort(parts.begin(), parts.end(), [](const ProjectPart::Ptr &p1, const ProjectPart::Ptr &p2) { return p1->displayName < p2->displayName; @@ -112,29 +112,26 @@ void GenericProjectPlugin::test_mixed1() const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash); const QStringList part2files = simplify(parts[2]->files, dirPathWithSlash); - QCOMPARE(parts[0]->displayName, _("mixedproject1 (C++11)")); + QCOMPARE(parts[0]->displayName, _("mixedproject1 (C++)")); QCOMPARE(parts[0]->files.size(), 4); QVERIFY(part0files.contains(_("main.cpp"))); QVERIFY(part0files.contains(_("header.h"))); QVERIFY(part0files.contains(_("MyViewController.h"))); QVERIFY(part0files.contains(_("Glue.h"))); - QCOMPARE(parts[1]->displayName, _("mixedproject1 (Obj-C++11)")); + QCOMPARE(parts[1]->displayName, _("mixedproject1 (Obj-C)")); QCOMPARE(parts[1]->files.size(), 4); - QVERIFY(part1files.contains(_("Glue.mm"))); + QVERIFY(part1files.contains(_("MyViewController.m"))); QVERIFY(part1files.contains(_("header.h"))); QVERIFY(part1files.contains(_("MyViewController.h"))); QVERIFY(part1files.contains(_("Glue.h"))); - QCOMPARE(parts[2]->displayName, _("mixedproject1 (Obj-C11)")); - QCOMPARE(parts[2]->files.size(), 1); - QVERIFY(part2files.contains(_("MyViewController.m"))); - // No .h files here, because the mime-type for .h files is..... - // - // wait for it... - // - // C++! - // (See 1c7da3d83c9bb35064ae6b9052cbf1c6bff1395e.) + QCOMPARE(parts[2]->displayName, _("mixedproject1 (Obj-C++)")); + QCOMPARE(parts[2]->files.size(), 4); + QVERIFY(part2files.contains(_("Glue.mm"))); + QVERIFY(part2files.contains(_("header.h"))); + QVERIFY(part2files.contains(_("MyViewController.h"))); + QVERIFY(part2files.contains(_("Glue.h"))); } void GenericProjectPlugin::test_mixed2() @@ -150,7 +147,7 @@ void GenericProjectPlugin::test_mixed2() QVERIFY(pInfo.isValid()); QCOMPARE(pInfo.projectParts().size(), 2); - QList<ProjectPart::Ptr> parts = pInfo.projectParts(); + QVector<ProjectPart::Ptr> parts = pInfo.projectParts(); std::sort(parts.begin(), parts.end(), [](const ProjectPart::Ptr &p1, const ProjectPart::Ptr &p2) { return p1->displayName < p2->displayName; @@ -160,12 +157,12 @@ void GenericProjectPlugin::test_mixed2() const QStringList part0files = simplify(parts[0]->files, dirPathWithSlash); const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash); - QCOMPARE(parts[0]->displayName, _("mixedproject2 (C++11)")); - QCOMPARE(parts[0]->files.size(), 2); - QVERIFY(part0files.contains(_("main.cpp"))); - QVERIFY(part0files.contains(_("header.hpp"))); + QCOMPARE(parts[0]->displayName, _("mixedproject2 (C)")); + QCOMPARE(parts[0]->files.size(), 1); + QVERIFY(part0files.contains(_("impl.c"))); - QCOMPARE(parts[1]->displayName, _("mixedproject2 (C11)")); - QCOMPARE(parts[1]->files.size(), 1); - QVERIFY(part1files.contains(_("impl.c"))); + QCOMPARE(parts[1]->displayName, _("mixedproject2 (C++)")); + QCOMPARE(parts[1]->files.size(), 2); + QVERIFY(part1files.contains(_("main.cpp"))); + QVERIFY(part1files.contains(_("header.hpp"))); } |