diff --git a/src/plugins/analyzerbase/analyzerplugin.cpp b/src/plugins/analyzerbase/analyzerplugin.cpp index 65c229716935cbad969f3397c970d6e20c4d54bb..0e0d28f25dba13bdca7c6364675f2e282f793eaa 100644 --- a/src/plugins/analyzerbase/analyzerplugin.cpp +++ b/src/plugins/analyzerbase/analyzerplugin.cpp @@ -86,7 +86,7 @@ bool AnalyzerPlugin::initialize(const QStringList &arguments, QString *errorStri ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ProjectExplorer::TaskHub *hub = pm->getObject<ProjectExplorer::TaskHub>(); //: Category under which Analyzer tasks are listed in Issues view - hub->addCategory(QLatin1String(Constants::ANALYZERTASK_ID), tr("Analyzer")); + hub->addCategory(Core::Id(Constants::ANALYZERTASK_ID), tr("Analyzer")); return true; } diff --git a/src/plugins/analyzerbase/analyzerruncontrol.cpp b/src/plugins/analyzerbase/analyzerruncontrol.cpp index 22afb0d08d4be3ff9d7521ec955f6992b0780f00..9e5309b78bfe28226a6b550a6a62c22fbcf82191 100644 --- a/src/plugins/analyzerbase/analyzerruncontrol.cpp +++ b/src/plugins/analyzerbase/analyzerruncontrol.cpp @@ -118,7 +118,7 @@ void AnalyzerRunControl::start() // clear about-to-be-outdated tasks ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); TaskHub *hub = pm->getObject<TaskHub>(); - hub->clearTasks(QLatin1String(Constants::ANALYZERTASK_ID)); + hub->clearTasks(Core::Id(Constants::ANALYZERTASK_ID)); if (d->m_engine->start()) { d->m_isRunning = true; @@ -179,7 +179,8 @@ void AnalyzerRunControl::addTask(Task::TaskType type, const QString &description { ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); TaskHub *hub = pm->getObject<TaskHub>(); - hub->addTask(Task(type, description, file, line, QLatin1String(Constants::ANALYZERTASK_ID))); + hub->addTask(Task(type, description, Utils::FileName::fromUserInput(file), line, + Core::Id(Constants::ANALYZERTASK_ID))); hub->popup(false); } diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp index 2186f8a9af653d53880f7150f79d2c4b6453b2bb..6abcc5642a2fb78a2be60ac339674450bb496c91 100644 --- a/src/plugins/coreplugin/id.cpp +++ b/src/plugins/coreplugin/id.cpp @@ -55,7 +55,7 @@ static QHash<QByteArray, int> idFromString; static int theId(const QByteArray &ba) { - QTC_ASSERT(!ba.isEmpty(), /**/); + QTC_CHECK(!ba.isEmpty()); int res = idFromString.value(ba); if (res == 0) { if (lastUid == 0) diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index d25e0286f6c43bca5cad2bbc7b6ce7b8fe4f0ce6..ac7f75b2f00c6019e19be4fce0940a40b4882e27 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1787,10 +1787,10 @@ void DebuggerEnginePrivate::reportTestError(const QString &msg, int line) if (!m_taskHub) { ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); m_taskHub = pm->getObject<TaskHub>(); - m_taskHub->addCategory(QLatin1String("DebuggerTest"), tr("Debugger Test")); + m_taskHub->addCategory(Core::Id("DebuggerTest"), tr("Debugger Test")); } - Task task(Task::Error, msg, m_testFileName, line + 1, QLatin1String("DebuggerTest")); + Task task(Task::Error, msg, Utils::FileName::fromUserInput(m_testFileName), line + 1, Core::Id("DebuggerTest")); m_taskHub->addTask(task); } diff --git a/src/plugins/madde/maemopackagecreationstep.cpp b/src/plugins/madde/maemopackagecreationstep.cpp index 1be613e5a7d3c8f1a7dd05bc401301bb852282da..6866dcea6954e762d50e67c6ff0aa5bde5b548af 100644 --- a/src/plugins/madde/maemopackagecreationstep.cpp +++ b/src/plugins/madde/maemopackagecreationstep.cpp @@ -367,7 +367,7 @@ void MaemoDebianPackageCreationStep::checkProjectName() "Debian packages.\nThey must only use lower-case letters, " "numbers, '-', '+' and '.'.\n""We will try to work around that, " "but you may experience problems."), - QString(), -1, TASK_CATEGORY_BUILDSYSTEM)); + Utils::FileName(), -1, Core::Id(TASK_CATEGORY_BUILDSYSTEM))); } } diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 2a4f8321bd3e16a048ae3ed66b7dcd5796d5fc1c..7b05a5dfd71048e51be4b1eaff65cae64fb5ab22 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -371,7 +371,7 @@ void AbstractProcessStep::taskAdded(const ProjectExplorer::Task &task) return; Task editable(task); - QString filePath = QDir::cleanPath(task.file.trimmed()); + QString filePath = task.file.toString(); if (!filePath.isEmpty() && !QDir::isAbsolutePath(filePath)) { // We have no save way to decide which file in which subfolder // is meant. Therefore we apply following heuristics: @@ -388,7 +388,7 @@ void AbstractProcessStep::taskAdded(const ProjectExplorer::Task &task) } if (possibleFiles.count() == 1) { - editable.file = possibleFiles.first().filePath(); + editable.file = Utils::FileName(possibleFiles.first()); } else { // More then one filename, so do a better compare // Chop of any "../" @@ -403,7 +403,7 @@ void AbstractProcessStep::taskAdded(const ProjectExplorer::Task &task) } } if (count == 1) - editable.file = possibleFilePath; + editable.file = Utils::FileName::fromString(possibleFilePath); else qWarning() << "Could not find absolute location of file " << filePath; } diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index bb4e6870f69d4191b49e5978c557acdaae85cb83..3a1d747ed93d1a524222eb5cbebdb82ee47bfc2a 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -159,9 +159,9 @@ BuildManager::BuildManager(ProjectExplorerPlugin *parent) void BuildManager::extensionsInitialized() { - d->m_taskHub->addCategory(QLatin1String(Constants::TASK_CATEGORY_COMPILE), + d->m_taskHub->addCategory(Core::Id(Constants::TASK_CATEGORY_COMPILE), tr("Compile", "Category for compiler issues listed under 'Issues'")); - d->m_taskHub->addCategory(QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM), + d->m_taskHub->addCategory(Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM), tr("Build System", "Category for build system issues listed under 'Issues'")); } @@ -200,8 +200,8 @@ bool BuildManager::isBuilding() const int BuildManager::getErrorTaskCount() const { const int errors = - d->m_taskWindow->errorTaskCount(QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)) - + d->m_taskWindow->errorTaskCount(QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + d->m_taskWindow->errorTaskCount(Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)) + + d->m_taskWindow->errorTaskCount(Core::Id(Constants::TASK_CATEGORY_COMPILE)); return errors; } @@ -305,8 +305,8 @@ void BuildManager::toggleTaskWindow() bool BuildManager::tasksAvailable() const { const int count = - d->m_taskWindow->taskCount(QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)) - + d->m_taskWindow->taskCount(QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + d->m_taskWindow->taskCount(Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)) + + d->m_taskWindow->taskCount(Core::Id(Constants::TASK_CATEGORY_COMPILE)); return count > 0; } @@ -322,8 +322,8 @@ void BuildManager::startBuildQueue() d->m_progressFutureInterface = new QFutureInterface<void>; d->m_progressWatcher.setFuture(d->m_progressFutureInterface->future()); d->m_outputWindow->clearContents(); - d->m_taskHub->clearTasks(QLatin1String(Constants::TASK_CATEGORY_COMPILE)); - d->m_taskHub->clearTasks(QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)); + d->m_taskHub->clearTasks(Core::Id(Constants::TASK_CATEGORY_COMPILE)); + d->m_taskHub->clearTasks(Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); progressManager->setApplicationLabel(QString()); d->m_futureProgress = QWeakPointer<Core::FutureProgress>(progressManager->addTask(d->m_progressFutureInterface->future(), QString(), diff --git a/src/plugins/projectexplorer/buildprogress.cpp b/src/plugins/projectexplorer/buildprogress.cpp index f8c37879df7f1e7c7e3a7148279ffe865ae90def..91a02a7e259e9ca7602b94026c8bd4b08a22b407 100644 --- a/src/plugins/projectexplorer/buildprogress.cpp +++ b/src/plugins/projectexplorer/buildprogress.cpp @@ -89,8 +89,8 @@ void BuildProgress::updateState() { if (!m_taskWindow) return; - int errors = m_taskWindow->errorTaskCount(QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)) - + m_taskWindow->errorTaskCount(QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + int errors = m_taskWindow->errorTaskCount(Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)) + + m_taskWindow->errorTaskCount(Core::Id(Constants::TASK_CATEGORY_COMPILE)); bool haveErrors = (errors > 0); m_errorIcon->setEnabled(haveErrors); m_errorLabel->setEnabled(haveErrors); diff --git a/src/plugins/projectexplorer/clangparser.cpp b/src/plugins/projectexplorer/clangparser.cpp index 6e55948eab1cc372b5af3d5a5cc665ac2f0cafea..a0419c5a5115f0b3d7f7606d965ee7b1d963b347 100644 --- a/src/plugins/projectexplorer/clangparser.cpp +++ b/src/plugins/projectexplorer/clangparser.cpp @@ -72,9 +72,9 @@ void ClangParser::stdError(const QString &line) m_expectSnippet = true; newTask(Task::Error, m_commandRegExp.cap(4), - QString(), /* filename */ + Utils::FileName(), /* filename */ -1, /* line */ - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (m_commandRegExp.cap(3) == QLatin1String("warning")) m_currentTask.type = Task::Warning; else if (m_commandRegExp.cap(3) == QLatin1String("note")) @@ -86,9 +86,9 @@ void ClangParser::stdError(const QString &line) m_expectSnippet = true; newTask(Task::Unknown, lne.trimmed(), - m_inLineRegExp.cap(2), /* filename */ + Utils::FileName::fromUserInput(m_inLineRegExp.cap(2)), /* filename */ m_inLineRegExp.cap(3).toInt(), /* line */ - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); return; } @@ -100,9 +100,9 @@ void ClangParser::stdError(const QString &line) lineNo = m_messageRegExp.cap(5).toInt(&ok); newTask(Task::Error, m_messageRegExp.cap(8), - m_messageRegExp.cap(1), /* filename */ + Utils::FileName::fromUserInput(m_messageRegExp.cap(1)), /* filename */ lineNo, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (m_messageRegExp.cap(7) == QLatin1String("warning")) m_currentTask.type = Task::Warning; else if (m_messageRegExp.cap(7) == QLatin1String("note")) @@ -126,7 +126,7 @@ void ClangParser::stdError(const QString &line) } void ClangParser::newTask(Task::TaskType type_, const QString &description_, - const QString &file_, int line_, const QString &category_) + const Utils::FileName &file_, int line_, const Core::Id &category_) { emitTask(); m_currentTask = Task(type_, description_, file_, line_, category_); @@ -157,7 +157,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() QTest::addColumn<QList<ProjectExplorer::Task> >("tasks"); QTest::addColumn<QString>("outputLines"); - const QString categoryCompile = QLatin1String(Constants::TASK_CATEGORY_COMPILE); + const Core::Id categoryCompile = Core::Id(Constants::TASK_CATEGORY_COMPILE); QTest::newRow("pass-through stdout") << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT @@ -177,7 +177,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("argument unused during compilation: '-mthreads'"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); QTest::newRow("clang++ error") @@ -187,7 +187,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("no input files [err_drv_no_input_files]"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); QTest::newRow("complex warning") @@ -200,13 +200,13 @@ void ProjectExplorerPlugin::testClangOutputParser_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In file included from ..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qnamespace.h:45:"), - QLatin1String("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qnamespace.h"), 45, + Utils::FileName::fromUserInput("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qnamespace.h"), 45, categoryCompile) << Task(Task::Warning, QLatin1String("unknown attribute 'dllimport' ignored [-Wunknown-attributes]\n" "class Q_CORE_EXPORT QSysInfo {\n" " ^"), - QLatin1String("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qglobal.h"), 1425, + Utils::FileName::fromUserInput("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qglobal.h"), 1425, categoryCompile)) << QString(); QTest::newRow("note") @@ -220,7 +220,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() QLatin1String("instantiated from:\n" "# define Q_CORE_EXPORT Q_DECL_IMPORT\n" " ^"), - QLatin1String("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qglobal.h"), 1289, + Utils::FileName::fromUserInput("..\\..\\..\\QtSDK1.1\\Desktop\\Qt\\4.7.3\\mingw\\include/QtCore/qglobal.h"), 1289, categoryCompile)) << QString(); QTest::newRow("fatal error") @@ -234,7 +234,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() QLatin1String("'bits/c++config.h' file not found\n" "#include <bits/c++config.h>\n" " ^"), - QLatin1String("/usr/include/c++/4.6/utility"), 68, + Utils::FileName::fromUserInput("/usr/include/c++/4.6/utility"), 68, categoryCompile)) << QString(); @@ -249,7 +249,7 @@ void ProjectExplorerPlugin::testClangOutputParser_data() QLatin1String("?: has lower precedence than +; + will be evaluated first [-Wparentheses]\n" " int x = option->rect.x() + horizontal ? 2 : 6;\n" " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^"), - QLatin1String("/home/code/src/creator/src/plugins/coreplugin/manhattanstyle.cpp"), 567, + Utils::FileName::fromUserInput("/home/code/src/creator/src/plugins/coreplugin/manhattanstyle.cpp"), 567, categoryCompile)) << QString(); } diff --git a/src/plugins/projectexplorer/clangparser.h b/src/plugins/projectexplorer/clangparser.h index c754e8b1c12f09caee92f06f6aa1538cb7629baf..2e0051e6893344efe033fc357bab3be8e2e2d34f 100644 --- a/src/plugins/projectexplorer/clangparser.h +++ b/src/plugins/projectexplorer/clangparser.h @@ -51,7 +51,7 @@ public: private: void newTask(Task::TaskType type_, const QString &description_, - const QString &file_, int line_, const QString &category_); + const Utils::FileName &file_, int line_, const Core::Id &category_); void emitTask(); diff --git a/src/plugins/projectexplorer/copytaskhandler.cpp b/src/plugins/projectexplorer/copytaskhandler.cpp index 9fce4026de6303ef3759feaf2de56868e2c39efb..271e2d037a34046417f057fecd2efadeaf4585ac 100644 --- a/src/plugins/projectexplorer/copytaskhandler.cpp +++ b/src/plugins/projectexplorer/copytaskhandler.cpp @@ -63,7 +63,7 @@ void CopyTaskHandler::handle(const ProjectExplorer::Task &task) break; } - QApplication::clipboard()->setText(QDir::toNativeSeparators(task.file) + QLatin1Char(':') + + QApplication::clipboard()->setText(task.file.toUserOutput() + QLatin1Char(':') + QString::number(task.line) + QLatin1String(": ") + type + task.description); } diff --git a/src/plugins/projectexplorer/gccparser.cpp b/src/plugins/projectexplorer/gccparser.cpp index b62bbe4df36c635089575886e033a46857866db1..480f88031b049c7229b95096a53cbaa690c01203 100644 --- a/src/plugins/projectexplorer/gccparser.cpp +++ b/src/plugins/projectexplorer/gccparser.cpp @@ -79,17 +79,17 @@ void GccParser::stdError(const QString &line) lne == QLatin1String("* cpp failed")) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(Constants::TASK_CATEGORY_COMPILE))); + Core::Id(Constants::TASK_CATEGORY_COMPILE))); return; } else if (m_regExpGccNames.indexIn(lne) > -1) { QString description = lne.mid(m_regExpGccNames.matchedLength()); Task task(Task::Error, description, - QString(), /* filename */ + Utils::FileName(), /* filename */ -1, /* line */ - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (description.startsWith(QLatin1String("warning: "))) { task.type = Task::Warning; task.description = description.mid(9); @@ -99,12 +99,12 @@ void GccParser::stdError(const QString &line) emit addTask(task); return; } else if (m_regExp.indexIn(lne) > -1) { - QString filename = m_regExp.cap(1); + Utils::FileName filename = Utils::FileName::fromUserInput(m_regExp.cap(1)); int lineno = m_regExp.cap(3).toInt(); Task task(Task::Unknown, m_regExp.cap(8) /* description */, filename, lineno, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (m_regExp.cap(7) == QLatin1String("warning")) task.type = Task::Warning; else if (m_regExp.cap(7) == QLatin1String("error") || @@ -121,9 +121,9 @@ void GccParser::stdError(const QString &line) } else if (m_regExpIncluded.indexIn(lne) > -1) { emit addTask(Task(Task::Unknown, lne /* description */, - m_regExpIncluded.cap(1) /* filename */, + Utils::FileName::fromUserInput(m_regExpIncluded.cap(1)) /* filename */, m_regExpIncluded.cap(3).toInt() /* linenumber */, - QLatin1String(Constants::TASK_CATEGORY_COMPILE))); + Core::Id(Constants::TASK_CATEGORY_COMPILE))); return; } IOutputParser::stdError(line); @@ -147,7 +147,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() QTest::addColumn<QList<ProjectExplorer::Task> >("tasks"); QTest::addColumn<QString>("outputLines"); - const QString categoryCompile = QLatin1String(Constants::TASK_CATEGORY_COMPILE); + const Core::Id categoryCompile = Core::Id(Constants::TASK_CATEGORY_COMPILE); QTest::newRow("pass-through stdout") << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT @@ -169,15 +169,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function `int main(int, char**)':"), - QLatin1String("/temp/test/untitled8/main.cpp"), -1, + Utils::FileName::fromUserInput("/temp/test/untitled8/main.cpp"), -1, categoryCompile) << Task(Task::Error, QLatin1String("`sfasdf' undeclared (first use this function)"), - QLatin1String("/temp/test/untitled8/main.cpp"), 9, + Utils::FileName::fromUserInput("/temp/test/untitled8/main.cpp"), 9, categoryCompile) << Task(Task::Error, QLatin1String("(Each undeclared identifier is reported only once for each function it appears in.)"), - QLatin1String("/temp/test/untitled8/main.cpp"), 9, + Utils::FileName::fromUserInput("/temp/test/untitled8/main.cpp"), 9, categoryCompile) ) << QString(); @@ -188,7 +188,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("inline function `QDebug qDebug()' used but never defined"), - QLatin1String("/src/corelib/global/qglobal.h"), 1635, + Utils::FileName::fromUserInput("/src/corelib/global/qglobal.h"), 1635, categoryCompile)) << QString(); QTest::newRow("warning") @@ -197,7 +197,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("Some warning"), - QLatin1String("main.cpp"), 7, + Utils::FileName::fromUserInput("main.cpp"), 7, categoryCompile)) << QString(); QTest::newRow("GCCE #error") @@ -206,7 +206,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("#error Symbian error"), - QLatin1String("C:\\temp\\test\\untitled8\\main.cpp"), 7, + Utils::FileName::fromUserInput("C:\\temp\\test\\untitled8\\main.cpp"), 7, categoryCompile)) << QString(); // Symbian reports #warning(s) twice (using different syntax). @@ -216,7 +216,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("#warning Symbian warning"), - QLatin1String("C:\\temp\\test\\untitled8\\main.cpp"), 8, + Utils::FileName::fromUserInput("C:\\temp\\test\\untitled8\\main.cpp"), 8, categoryCompile)) << QString(); QTest::newRow("GCCE #warning2") @@ -225,7 +225,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("#warning Symbian warning"), - QLatin1String("/temp/test/untitled8/main.cpp"), 8, + Utils::FileName::fromUserInput("/temp/test/untitled8/main.cpp"), 8, categoryCompile)) << QString(); QTest::newRow("Undefined reference (debug)") @@ -237,16 +237,16 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function `main':"), - QLatin1String("main.o"), -1, + Utils::FileName::fromUserInput("main.o"), -1, categoryCompile) << Task(Task::Error, QLatin1String("undefined reference to `MainWindow::doSomething()'"), - QLatin1String("C:\\temp\\test\\untitled8/main.cpp"), 8, + Utils::FileName::fromUserInput("C:\\temp\\test\\untitled8/main.cpp"), 8, categoryCompile) << Task(Task::Error, QLatin1String("collect2: ld returned 1 exit status"), - QString(), -1, - categoryCompile) + Utils::FileName(), -1, + categoryCompile) ) << QString(); QTest::newRow("Undefined reference (release)") @@ -258,15 +258,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function `main':"), - QLatin1String("main.o"), -1, + Utils::FileName::fromUserInput("main.o"), -1, categoryCompile) << Task(Task::Error, QLatin1String("undefined reference to `MainWindow::doSomething()'"), - QLatin1String("C:\\temp\\test\\untitled8/main.cpp"), -1, + Utils::FileName::fromUserInput("C:\\temp\\test\\untitled8/main.cpp"), -1, categoryCompile) << Task(Task::Error, QLatin1String("collect2: ld returned 1 exit status"), - QString(), -1, + Utils::FileName(), -1, categoryCompile) ) << QString(); @@ -277,7 +277,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("file not recognized: File format not recognized"), - QLatin1String("c:\\Qt\\4.6\\lib/QtGuid4.dll"), -1, + Utils::FileName::fromUserInput("c:\\Qt\\4.6\\lib/QtGuid4.dll"), -1, categoryCompile)) << QString(); QTest::newRow("Invalid rpath") @@ -287,7 +287,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("/usr/local/lib: No such file or directory"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); @@ -300,15 +300,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In member function 'void Debugger::Internal::GdbEngine::handleBreakInsert2(const Debugger::Internal::GdbResponse&)':"), - QLatin1String("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), -1, + Utils::FileName::fromUserInput("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), -1, categoryCompile) << Task(Task::Warning, QLatin1String("unused variable 'index'"), - QLatin1String("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), 2114, + Utils::FileName::fromUserInput("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), 2114, categoryCompile) << Task(Task::Warning, QLatin1String("unused variable 'handler'"), - QLatin1String("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), 2115, + Utils::FileName::fromUserInput("../../../../master/src/plugins/debugger/gdb/gdbengine.cpp"), 2115, categoryCompile)) << QString(); QTest::newRow("gnumakeparser.cpp errors") @@ -320,15 +320,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In member function 'void ProjectExplorer::ProjectExplorerPlugin::testGnuMakeParserTaskMangling_data()':"), - QLatin1String("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), -1, + Utils::FileName::fromUserInput("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), -1, categoryCompile) << Task(Task::Error, QLatin1String("expected primary-expression before ':' token"), - QLatin1String("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), 264, + Utils::FileName::fromUserInput("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), 264, categoryCompile) << Task(Task::Error, QLatin1String("expected ';' before ':' token"), - QLatin1String("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), 264, + Utils::FileName::fromUserInput("/home/code/src/creator/src/plugins/projectexplorer/gnumakeparser.cpp"), 264, categoryCompile)) << QString(); QTest::newRow("distcc error(QTCREATORBUG-904)") @@ -346,7 +346,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("Core::IEditor* QVariant::value<Core::IEditor*>() const has different visibility (hidden) in .obj/debug-shared/openeditorsview.o and (default) in .obj/debug-shared/editormanager.o"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); QTest::newRow("ld fatal") @@ -356,7 +356,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("Symbol referencing errors. No output written to testproject"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); QTest::newRow("Teambuilder issues") @@ -372,7 +372,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("initialized from here"), - QString::fromLatin1("/home/dev/creator/share/qtcreator/dumper/dumper.cpp"), 1079, + Utils::FileName::fromUserInput("/home/dev/creator/share/qtcreator/dumper/dumper.cpp"), 1079, categoryCompile)) << QString(); QTest::newRow("static member function") @@ -383,11 +383,11 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In static member function 'static std::_Rb_tree_node_base* std::_Rb_global<_Dummy>::_Rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&, std::_Rb_tree_node_base*&)':"), - QString::fromLatin1("/Qt/4.6.2-Symbian/s60sdk/epoc32/include/stdapis/stlport/stl/_tree.c"), -1, + Utils::FileName::fromUserInput("/Qt/4.6.2-Symbian/s60sdk/epoc32/include/stdapis/stlport/stl/_tree.c"), -1, categoryCompile) << Task(Task::Warning, QLatin1String("suggest explicit braces to avoid ambiguous 'else'"), - QString::fromLatin1("/Qt/4.6.2-Symbian/s60sdk/epoc32/include/stdapis/stlport/stl/_tree.c"), 194, + Utils::FileName::fromUserInput("/Qt/4.6.2-Symbian/s60sdk/epoc32/include/stdapis/stlport/stl/_tree.c"), 194, categoryCompile)) << QString(); QTest::newRow("rm false positive") @@ -409,7 +409,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("cannot find -ldoesnotexist"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); QTest::newRow("In function") @@ -421,15 +421,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function void foo(i) [with i = double]:"), - QLatin1String("../../scriptbug/main.cpp"), -1, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), -1, categoryCompile) << Task(Task::Unknown, QLatin1String("instantiated from here"), - QLatin1String("../../scriptbug/main.cpp"), 22, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), 22, categoryCompile) << Task(Task::Warning, QLatin1String("unused variable c"), - QLatin1String("../../scriptbug/main.cpp"), 8, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), 8, categoryCompile)) << QString(); QTest::newRow("instanciated from here") @@ -439,7 +439,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("instantiated from here"), - QLatin1String("main.cpp"), 10, + Utils::FileName::fromUserInput("main.cpp"), 10, categoryCompile)) << QString(); QTest::newRow("In constructor") @@ -449,7 +449,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In constructor 'Find::BaseTextFind::BaseTextFind(QTextEdit*)':"), - QLatin1String("/dev/creator/src/plugins/find/basetextfind.h"), -1, + Utils::FileName::fromUserInput("/dev/creator/src/plugins/find/basetextfind.h"), -1, categoryCompile)) << QString(); @@ -464,23 +464,23 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("At global scope:"), - QLatin1String("../../scriptbug/main.cpp"), -1, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), -1, categoryCompile) << Task(Task::Unknown, QLatin1String("In instantiation of void bar(i) [with i = double]:"), - QLatin1String("../../scriptbug/main.cpp"), -1, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), -1, categoryCompile) << Task(Task::Unknown, QLatin1String("instantiated from void foo(i) [with i = double]"), - QLatin1String("../../scriptbug/main.cpp"), 8, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), 8, categoryCompile) << Task(Task::Unknown, QLatin1String("instantiated from here"), - QLatin1String("../../scriptbug/main.cpp"), 22, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), 22, categoryCompile) << Task(Task::Warning, QLatin1String("unused parameter v"), - QLatin1String("../../scriptbug/main.cpp"), 5, + Utils::FileName::fromUserInput("../../scriptbug/main.cpp"), 5, categoryCompile)) << QString(); @@ -491,7 +491,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("test.moc: No such file or directory"), - QLatin1String("/home/code/test.cpp"), 54, + Utils::FileName::fromUserInput("/home/code/test.cpp"), 54, categoryCompile)) << QString(); @@ -505,19 +505,19 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function `QPlotAxis':"), - QLatin1String("debug/qplotaxis.o"), -1, + Utils::FileName::fromUserInput("debug/qplotaxis.o"), -1, categoryCompile) << Task(Task::Error, QLatin1String("undefined reference to `vtable for QPlotAxis'"), - QLatin1String("M:\\Development\\x64\\QtPlot/qplotaxis.cpp"), 26, + Utils::FileName::fromUserInput("M:\\Development\\x64\\QtPlot/qplotaxis.cpp"), 26, categoryCompile) << Task(Task::Error, QLatin1String("undefined reference to `vtable for QPlotAxis'"), - QLatin1String("M:\\Development\\x64\\QtPlot/qplotaxis.cpp"), 26, + Utils::FileName::fromUserInput("M:\\Development\\x64\\QtPlot/qplotaxis.cpp"), 26, categoryCompile) << Task(Task::Error, QLatin1String("collect2: ld returned 1 exit status"), - QString(), -1, + Utils::FileName(), -1, categoryCompile)) << QString(); @@ -532,23 +532,23 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In member function typename _Vector_base<_Tp, _Alloc>::_Tp_alloc_type::const_reference Vector<_Tp, _Alloc>::at(int) [with _Tp = Point, _Alloc = Allocator<Point>]:"), - QLatin1String("../stl/main.cpp"), -1, + Utils::FileName::fromUserInput("../stl/main.cpp"), -1, categoryCompile) << Task(Task::Unknown, QLatin1String("instantiated from here"), - QLatin1String("../stl/main.cpp"), 38, + Utils::FileName::fromUserInput("../stl/main.cpp"), 38, categoryCompile) << Task(Task::Warning, QLatin1String("returning reference to temporary"), - QLatin1String("../stl/main.cpp"), 31, + Utils::FileName::fromUserInput("../stl/main.cpp"), 31, categoryCompile) << Task(Task::Unknown, QLatin1String("At global scope:"), - QLatin1String("../stl/main.cpp"), -1, + Utils::FileName::fromUserInput("../stl/main.cpp"), -1, categoryCompile) << Task(Task::Warning, QLatin1String("unused parameter index"), - QLatin1String("../stl/main.cpp"), 31, + Utils::FileName::fromUserInput("../stl/main.cpp"), 31, categoryCompile)) << QString(); @@ -562,19 +562,19 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In file included from C:/Symbian_SDK/epoc32/include/e32cmn.h:6792,"), - QLatin1String("C:/Symbian_SDK/epoc32/include/e32cmn.h"), 6792, + Utils::FileName::fromUserInput("C:/Symbian_SDK/epoc32/include/e32cmn.h"), 6792, categoryCompile) << Task(Task::Unknown, QLatin1String("from C:/Symbian_SDK/epoc32/include/e32std.h:25,"), - QLatin1String("C:/Symbian_SDK/epoc32/include/e32std.h"), 25, + Utils::FileName::fromUserInput("C:/Symbian_SDK/epoc32/include/e32std.h"), 25, categoryCompile) << Task(Task::Unknown, QLatin1String("In member function 'SSecureId::operator const TSecureId&() const':"), - QLatin1String("C:/Symbian_SDK/epoc32/include/e32cmn.inl"), -1, + Utils::FileName::fromUserInput("C:/Symbian_SDK/epoc32/include/e32cmn.inl"), -1, categoryCompile) << Task(Task::Warning, QLatin1String("returning reference to temporary"), - QLatin1String("C:/Symbian_SDK/epoc32/include/e32cmn.inl"), 7094, + Utils::FileName::fromUserInput("C:/Symbian_SDK/epoc32/include/e32cmn.inl"), 7094, categoryCompile)) << QString(); @@ -585,7 +585,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("At top level:"), - QLatin1String("../../../src/XmlUg/targetdelete.c"), -1, + Utils::FileName::fromUserInput("../../../src/XmlUg/targetdelete.c"), -1, categoryCompile)) << QString(); @@ -598,15 +598,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In file included from /Symbian/SDK/EPOC32/INCLUDE/GCCE/GCCE.h:15,"), - QLatin1String("/Symbian/SDK/EPOC32/INCLUDE/GCCE/GCCE.h"), 15, + Utils::FileName::fromUserInput("/Symbian/SDK/EPOC32/INCLUDE/GCCE/GCCE.h"), 15, categoryCompile) << Task(Task::Unknown, QLatin1String("from <command line>:26:"), - QLatin1String("<command line>"), 26, + Utils::FileName::fromUserInput("<command line>"), 26, categoryCompile) << Task(Task::Warning, QLatin1String("no newline at end of file"), - QLatin1String("/Symbian/SDK/epoc32/include/variant/Symbian_OS.hrh"), 1134, + Utils::FileName::fromUserInput("/Symbian/SDK/epoc32/include/variant/Symbian_OS.hrh"), 1134, categoryCompile)) << QString(); @@ -617,7 +617,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("undefined reference to `MainWindow::doSomething()'"), - QLatin1String("main.cpp"), -1, + Utils::FileName::fromUserInput("main.cpp"), -1, categoryCompile)) << QString(); @@ -629,11 +629,11 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In member function 'ProFileEvaluator::Private::VisitReturn ProFileEvaluator::Private::evaluateConditionalFunction(const ProString&, const ProStringList&)':"), - QLatin1String("../../../src/shared/proparser/profileevaluator.cpp"), -1, + Utils::FileName::fromUserInput("../../../src/shared/proparser/profileevaluator.cpp"), -1, categoryCompile) << Task(Task::Warning, QLatin1String("case value '0' not in enumerated type 'ProFileEvaluator::Private::TestFunc'"), - QLatin1String("../../../src/shared/proparser/profileevaluator.cpp"), 2817, + Utils::FileName::fromUserInput("../../../src/shared/proparser/profileevaluator.cpp"), 2817, categoryCompile)) << QString(); @@ -645,11 +645,11 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In file included from <command-line>:0:0:"), - QLatin1String("<command-line>"), 0, + Utils::FileName::fromUserInput("<command-line>"), 0, categoryCompile) << Task(Task::Warning, QLatin1String("\"STUPID_DEFINE\" redefined"), - QLatin1String("./mw.h"), 4, + Utils::FileName::fromUserInput("./mw.h"), 4, categoryCompile)) << QString(); QTest::newRow("instanciation with line:column info") @@ -661,15 +661,15 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Unknown, QLatin1String("In function 'void UnitTest::CheckEqual(UnitTest::TestResults&, const Expected&, const Actual&, const UnitTest::TestDetails&) [with Expected = unsigned int, Actual = int]':"), - QLatin1String("file.h"), -1, + Utils::FileName::fromUserInput("file.h"), -1, categoryCompile) << Task(Task::Unknown, QLatin1String("instantiated from here"), - QLatin1String("file.cpp"), 87, + Utils::FileName::fromUserInput("file.cpp"), 87, categoryCompile) << Task(Task::Warning, QLatin1String("comparison between signed and unsigned integer expressions [-Wsign-compare]"), - QLatin1String("file.h"), 21, + Utils::FileName::fromUserInput("file.h"), 21, categoryCompile)) << QString(); QTest::newRow("linker error") // QTCREATORBUG-3107 @@ -679,7 +679,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("undefined reference to `CNS5kINSPacket::SOH_BYTE'"), - QLatin1String("cns5k_ins_parser_tests.cpp"), -1, + Utils::FileName::fromUserInput("cns5k_ins_parser_tests.cpp"), -1, categoryCompile)) << QString(); @@ -690,7 +690,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("The name 'pushButton' (QPushButton) is already in use, defaulting to 'pushButton1'."), - QLatin1String("mainwindow.ui"), -1, + Utils::FileName::fromUserInput("mainwindow.ui"), -1, Constants::TASK_CATEGORY_COMPILE)) << QString(); @@ -701,7 +701,7 @@ void ProjectExplorerPlugin::testGccOutputParsers_data() << ( QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("warning: feupdateenv is not implemented and will always fail"), - QLatin1String("libimf.so"), -1, + Utils::FileName::fromUserInput("libimf.so"), -1, Constants::TASK_CATEGORY_COMPILE)) << QString(); } diff --git a/src/plugins/projectexplorer/gnumakeparser.cpp b/src/plugins/projectexplorer/gnumakeparser.cpp index 0027fcf0e0fa73509d7799e8d7d2a631aace7f43..fab1822c4cf22bdd8caf03278ade92ec737938af 100644 --- a/src/plugins/projectexplorer/gnumakeparser.cpp +++ b/src/plugins/projectexplorer/gnumakeparser.cpp @@ -95,9 +95,9 @@ void GnuMakeParser::stdError(const QString &line) m_suppressIssues = true; addTask(Task(Task::Error, m_makefileError.cap(3), - m_makefileError.cap(1), + Utils::FileName::fromUserInput(m_makefileError.cap(1)), m_makefileError.cap(2).toInt(), - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); } return; } @@ -108,9 +108,9 @@ void GnuMakeParser::stdError(const QString &line) m_suppressIssues = true; addTask(Task(Task::Error, m_makeLine.cap(8), - QString() /* filename */, + Utils::FileName() /* filename */, -1, /* line */ - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); } return; } @@ -139,7 +139,7 @@ void GnuMakeParser::taskAdded(const Task &task) m_suppressIssues = true; } - QString filePath(QDir::cleanPath(task.file.trimmed())); + QString filePath(task.file.toString()); if (!filePath.isEmpty() && !QDir::isAbsolutePath(filePath)) { QList<QFileInfo> possibleFiles; @@ -151,7 +151,7 @@ void GnuMakeParser::taskAdded(const Task &task) } } if (possibleFiles.size() == 1) - editable.file = possibleFiles.first().filePath(); + editable.file = Utils::FileName(possibleFiles.first()); // Let the Makestep apply additional heuristics (based on // files in ther project) if we can not uniquely // identify the file! @@ -261,8 +261,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("No rule to make target `hello.c', needed by `hello.o'. Stop."), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("multiple fatals") @@ -275,8 +275,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("[.obj/debug-shared/gnumakeparser.o] Error 1"), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("Makefile error") @@ -287,8 +287,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("missing separator (did you mean TAB instead of 8 spaces?). Stop."), - QString::fromLatin1("Makefile"), 360, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName::fromUserInput("Makefile"), 360, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("mingw32-make error") @@ -300,8 +300,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("[debug/qplotaxis.o] Error 1"), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("mingw64-make error") @@ -312,8 +312,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("[dynlib.inst] Error -1073741819"), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("pass-trough note") @@ -332,8 +332,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("[sis] Error 2"), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); QTest::newRow("missing g++") @@ -344,8 +344,8 @@ void ProjectExplorerPlugin::testGnuMakeParserParsing_data() << (QList<Task>() << Task(Task::Error, QString::fromLatin1("g++: Command not found"), - QString(), -1, - QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString() << QStringList(); } @@ -407,40 +407,40 @@ void ProjectExplorerPlugin::testGnuMakeParserTaskMangling_data() << QStringList() << Task(Task::Error, QLatin1String("no filename, no mangling"), - QString(), + Utils::FileName(), -1, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)) + Core::Id(Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Error, QLatin1String("no filename, no mangling"), - QString(), + Utils::FileName(), -1, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); QTest::newRow("no mangling") << QStringList() << QStringList() << Task(Task::Error, QLatin1String("unknown filename, no mangling"), - QString::fromLatin1("some/path/unknown.cpp"), + Utils::FileName::fromUserInput("some/path/unknown.cpp"), -1, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)) + Core::Id(Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Error, QLatin1String("unknown filename, no mangling"), - QString::fromLatin1("some/path/unknown.cpp"), + Utils::FileName::fromUserInput("some/path/unknown.cpp"), -1, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); QTest::newRow("find file") << (QStringList(QLatin1String("test/file.cpp"))) << (QStringList(QLatin1String("test"))) << Task(Task::Error, QLatin1String("mangling"), - QString::fromLatin1("file.cpp"), + Utils::FileName::fromUserInput("file.cpp"), 10, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)) + Core::Id(Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Error, QLatin1String("mangling"), - QString::fromLatin1("$TMPDIR/test/file.cpp"), + Utils::FileName::fromUserInput("$TMPDIR/test/file.cpp"), 10, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); } void ProjectExplorerPlugin::testGnuMakeParserTaskMangling() @@ -483,8 +483,9 @@ void ProjectExplorerPlugin::testGnuMakeParserTaskMangling() } // fix up output task file: - if (outputTask.file.startsWith(QLatin1String("$TMPDIR/"))) - outputTask.file = outputTask.file.replace(QLatin1String("$TMPDIR/"), tempdir); + QString filePath = outputTask.file.toString(); + if (filePath.startsWith(QLatin1String("$TMPDIR/"))) + outputTask.file = Utils::FileName::fromString(filePath.replace(QLatin1String("$TMPDIR/"), tempdir)); // test mangling: testbench.testTaskMangling(inputTask, outputTask); diff --git a/src/plugins/projectexplorer/ldparser.cpp b/src/plugins/projectexplorer/ldparser.cpp index e01dc5c633d9455c58e94a15ac988224bfecc191..351c108a065011bcf386510e930c0d073220b5b0 100644 --- a/src/plugins/projectexplorer/ldparser.cpp +++ b/src/plugins/projectexplorer/ldparser.cpp @@ -70,17 +70,17 @@ void LdParser::stdError(const QString &line) if (lne.startsWith(QLatin1String("collect2:"))) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(Constants::TASK_CATEGORY_COMPILE))); + Core::Id(Constants::TASK_CATEGORY_COMPILE))); return; } else if (m_regExpGccNames.indexIn(lne) > -1) { QString description = lne.mid(m_regExpGccNames.matchedLength()); Task task(Task::Error, description, - QString(), /* filename */ + Utils::FileName(), /* filename */ -1, /* line */ - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (description.startsWith(QLatin1String("warning: "))) { task.type = Task::Warning; task.description = description.mid(9); @@ -94,13 +94,13 @@ void LdParser::stdError(const QString &line) int lineno = m_regExpLinker.cap(7).toInt(&ok); if (!ok) lineno = -1; - QString filename = m_regExpLinker.cap(1); + Utils::FileName filename = Utils::FileName::fromUserInput(m_regExpLinker.cap(1)); if (!m_regExpLinker.cap(4).isEmpty() && !m_regExpLinker.cap(4).startsWith(QLatin1String("(.text"))) - filename = m_regExpLinker.cap(4); + filename = Utils::FileName::fromUserInput(m_regExpLinker.cap(4)); QString description = m_regExpLinker.cap(8).trimmed(); Task task(Task::Error, description, filename, lineno, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (description.startsWith(QLatin1String("At global scope")) || description.startsWith(QLatin1String("At top level")) || description.startsWith(QLatin1String("instantiated from ")) || diff --git a/src/plugins/projectexplorer/linuxiccparser.cpp b/src/plugins/projectexplorer/linuxiccparser.cpp index 6a932b4b9b90fca92ccdb4df943a373b95e7f88e..11abb9859a21e9103de365232a9c56ae6c1e0303 100644 --- a/src/plugins/projectexplorer/linuxiccparser.cpp +++ b/src/plugins/projectexplorer/linuxiccparser.cpp @@ -73,9 +73,9 @@ void LinuxIccParser::stdError(const QString &line) if (m_expectFirstLine && m_firstLine.indexIn(line) != -1) { // Clear out old task m_temporary = ProjectExplorer::Task(Task::Unknown, m_firstLine.cap(6).trimmed(), - m_firstLine.cap(1), + Utils::FileName::fromUserInput(m_firstLine.cap(1)), m_firstLine.cap(2).toInt(), - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); QString category = m_firstLine.cap(4); if (category == QLatin1String("error")) m_temporary.type = Task::Error; @@ -126,8 +126,6 @@ void ProjectExplorerPlugin::testLinuxIccOutputParsers_data() QTest::addColumn<QList<ProjectExplorer::Task> >("tasks"); QTest::addColumn<QString>("outputLines"); - const QString categoryCompile = QLatin1String(Constants::TASK_CATEGORY_COMPILE); - QTest::newRow("pass-through stdout") << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT << QString::fromLatin1("Sometext\n") << QString() @@ -149,8 +147,8 @@ void ProjectExplorerPlugin::testLinuxIccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("identifier \"f\" is undefined\nf(0);"), - QLatin1String("main.cpp"), 13, - categoryCompile)) + Utils::FileName::fromUserInput("main.cpp"), 13, + Core::Id(Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("private function") @@ -163,8 +161,8 @@ void ProjectExplorerPlugin::testLinuxIccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("function \"AClass::privatefunc\" (declared at line 4 of \"main.h\") is inaccessible\nb.privatefunc();"), - QLatin1String("main.cpp"), 53, - categoryCompile)) + Utils::FileName::fromUserInput("main.cpp"), 53, + Core::Id(Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("simple warning") @@ -177,8 +175,8 @@ void ProjectExplorerPlugin::testLinuxIccOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("use of \"=\" where \"==\" may have been intended\nwhile (a = true)"), - QLatin1String("main.cpp"), 41, - categoryCompile)) + Utils::FileName::fromUserInput("main.cpp"), 41, + Core::Id(Constants::TASK_CATEGORY_COMPILE))) << QString(); } diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp index e0e3078f03a4f7f3cda9734f961e9edc14f1b0a3..b3ec83019290c7a1373f655075c04049b4e1f77e 100644 --- a/src/plugins/projectexplorer/msvcparser.cpp +++ b/src/plugins/projectexplorer/msvcparser.cpp @@ -36,12 +36,12 @@ static const char FILE_POS_PATTERN[] = "(cl|LINK|.+) : "; static const char ERROR_PATTERN[] = "[A-Z]+\\d\\d\\d\\d ?:"; -static QPair<QString, int> parseFileName(const QString &input) +static QPair<Utils::FileName, int> parseFileName(const QString &input) { QString fileName = input; if (fileName.startsWith(QLatin1String("LINK")) || fileName.startsWith(QLatin1String("cl"))) - return qMakePair(QString(), -1); + return qMakePair(Utils::FileName(), -1); // Extract linenumber (if it is there): int linenumber = -1; @@ -56,7 +56,7 @@ static QPair<QString, int> parseFileName(const QString &input) } } } - return qMakePair(fileName, linenumber); + return qMakePair(Utils::FileName::fromUserInput(fileName), linenumber); } using namespace ProjectExplorer; @@ -111,9 +111,9 @@ void MsvcParser::stdOutput(const QString &line) if (infoPos > -1) { m_lastTask = Task(Task::Unknown, m_additionalInfoRegExp.cap(3).trimmed(), /* description */ - m_additionalInfoRegExp.cap(1), /* fileName */ + Utils::FileName::fromUserInput(m_additionalInfoRegExp.cap(1)), /* fileName */ m_additionalInfoRegExp.cap(2).toInt(), /* linenumber */ - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); return; } IOutputParser::stdOutput(line); @@ -131,11 +131,11 @@ bool MsvcParser::processCompileLine(const QString &line) sendQueuedTask(); if (m_compileRegExp.indexIn(line) > -1) { - QPair<QString, int> position = parseFileName( m_compileRegExp.cap(1)); + QPair<Utils::FileName, int> position = parseFileName( m_compileRegExp.cap(1)); m_lastTask = Task(Task::Unknown, m_compileRegExp.cap(4).trimmed() /* description */, position.first, position.second, - QLatin1String(Constants::TASK_CATEGORY_COMPILE)); + Core::Id(Constants::TASK_CATEGORY_COMPILE)); if (m_compileRegExp.cap(3) == QLatin1String("warning")) m_lastTask.type = Task::Warning; else if (m_compileRegExp.cap(3) == QLatin1String("error")) @@ -192,8 +192,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("C4716: 'findUnresolvedModule' : must return a value"), - QLatin1String("qmlstandalone\\main.cpp"), 54, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("qmlstandalone\\main.cpp"), 54, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("labeled warning") @@ -201,8 +201,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("C4100: 'something' : unreferenced formal parameter"), - QLatin1String("x:\\src\\plugins\\projectexplorer\\msvcparser.cpp"), 69, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("x:\\src\\plugins\\projectexplorer\\msvcparser.cpp"), 69, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("additional information") @@ -213,12 +213,12 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("C4099: 'TextEditor::CompletionItem' : type name first seen using 'struct' now seen using 'class'"), - QLatin1String("x:\\src\\plugins\\texteditor\\icompletioncollector.h"), 50, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + Utils::FileName::fromUserInput("x:\\src\\plugins\\texteditor\\icompletioncollector.h"), 50, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Unknown, QLatin1String("see declaration of 'TextEditor::CompletionItem'"), - QLatin1String("x:\\src\\plugins\\texteditor\\completionsupport.h"), 39, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("x:\\src\\plugins\\texteditor\\completionsupport.h"), 39, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("fatal linker error") @@ -228,8 +228,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("LNK1146: no argument specified with option '/LIBPATH:'"), - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); // This actually comes through stderr! @@ -240,8 +240,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("D9002 : ignoring unknown option '-fopenmp'"), - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("complex error") << QString::fromLatin1("..\\untitled\\main.cpp(19) : error C2440: 'initializing' : cannot convert from 'int' to 'std::_Tree<_Traits>::iterator'\n" @@ -260,8 +260,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() " _Traits=std::_Tmap_traits<int,double,std::less<int>,std::allocator<std::pair<const int,double>>,false>\n" "]\n" "No constructor could take the source type, or constructor overload resolution was ambiguous"), - QLatin1String("..\\untitled\\main.cpp"), 19, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("..\\untitled\\main.cpp"), 19, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("Linker error 1") << QString::fromLatin1("main.obj : error LNK2019: unresolved external symbol \"public: void __thiscall Data::doit(void)\" (?doit@Data@@QAEXXZ) referenced in function _main") @@ -270,8 +270,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("LNK2019: unresolved external symbol \"public: void __thiscall Data::doit(void)\" (?doit@Data@@QAEXXZ) referenced in function _main"), - QLatin1String("main.obj"), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("main.obj"), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("Linker error 2") << QString::fromLatin1("debug\\Experimentation.exe : fatal error LNK1120: 1 unresolved externals") @@ -280,8 +280,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("LNK1120: 1 unresolved externals"), - QLatin1String("debug\\Experimentation.exe"), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("debug\\Experimentation.exe"), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("Multiline error") << QString::fromLatin1("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility(2227) : warning C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'\n" @@ -297,12 +297,12 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'"), - QLatin1String("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility"), 2227, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + Utils::FileName::fromUserInput("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility"), 2227, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Unknown, QLatin1String("see declaration of 'std::_Copy_impl'"), - QLatin1String("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility"), 2212, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + Utils::FileName::fromUserInput("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility"), 2212, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) << Task(Task::Unknown, QLatin1String("see reference to function template instantiation '_OutIt std::copy<const unsigned char*,unsigned short*>(_InIt,_InIt,_OutIt)' being compiled\n" "with\n" @@ -310,8 +310,8 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() " _OutIt=unsigned short *,\n" " _InIt=const unsigned char *\n" "]"), - QLatin1String("symbolgroupvalue.cpp"), 2314, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("symbolgroupvalue.cpp"), 2314, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); } diff --git a/src/plugins/projectexplorer/showineditortaskhandler.cpp b/src/plugins/projectexplorer/showineditortaskhandler.cpp index 5d81d8f8a4377b0cb90341b91f83a1184d565ae6..1ac6b7ec4044545ba03fb7c8c8083af565706d7c 100644 --- a/src/plugins/projectexplorer/showineditortaskhandler.cpp +++ b/src/plugins/projectexplorer/showineditortaskhandler.cpp @@ -50,13 +50,13 @@ bool ShowInEditorTaskHandler::canHandle(const ProjectExplorer::Task &task) { if (task.file.isEmpty()) return false; - QFileInfo fi(task.file); + QFileInfo fi(task.file.toFileInfo()); return fi.exists() && fi.isFile() && fi.isReadable(); } void ShowInEditorTaskHandler::handle(const ProjectExplorer::Task &task) { - QFileInfo fi(task.file); + QFileInfo fi(task.file.toFileInfo()); TextEditor::BaseTextEditorWidget::openEditorAt(fi.canonicalFilePath(), task.line); } diff --git a/src/plugins/projectexplorer/task.cpp b/src/plugins/projectexplorer/task.cpp index ae7b01842ec22736e0f0c25065b483846d7a745e..e5850907f92683d4e007e9e1627fdc6537223726 100644 --- a/src/plugins/projectexplorer/task.cpp +++ b/src/plugins/projectexplorer/task.cpp @@ -49,8 +49,9 @@ Task::Task() : taskId(0), type(Unknown), line(-1) { } Task::Task(TaskType type_, const QString &description_, - const QString &file_, int line_, const QString &category_) : - taskId(s_nextId), type(type_), description(description_), file(QDir::fromNativeSeparators(file_)), line(line_), category(category_) + const Utils::FileName &file_, int line_, const Core::Id &category_) : + taskId(s_nextId), type(type_), description(description_), + file(file_), line(line_), category(category_) { ++s_nextId; } @@ -80,9 +81,9 @@ bool operator<(const Task &a, const Task &b) // Can't happen return true; } else { - if (a.category < b.category) + if (a.category.uniqueIdentifier() < b.category.uniqueIdentifier()) return true; - if (b.category < a.category) + if (b.category.uniqueIdentifier() < a.category.uniqueIdentifier()) return false; return a.taskId < b.taskId; } diff --git a/src/plugins/projectexplorer/task.h b/src/plugins/projectexplorer/task.h index 059246b01ced82bd563bde6bc3dfbf43d644596f..60e4863534d2e6d9bf2d3c62ef57c9d530e0bf08 100644 --- a/src/plugins/projectexplorer/task.h +++ b/src/plugins/projectexplorer/task.h @@ -35,6 +35,9 @@ #include "projectexplorer_export.h" +#include <coreplugin/id.h> +#include <utils/fileutils.h> + #include <QtCore/QMetaType> #include <QtGui/QTextLayout> @@ -53,16 +56,17 @@ public: Task(); Task(TaskType type_, const QString &description_, - const QString &file_, int line_, const QString &category_); + const Utils::FileName &file_, int line_, const Core::Id &category_); bool isNull() const; unsigned int taskId; TaskType type; QString description; - QString file; + Utils::FileName file; int line; - QString category; + Core::Id category; + // Having a QList<QTextLayout::FormatRange> in Task isn't that great // It would be cleaner to split up the text into // the logical hunks and then assemble them again diff --git a/src/plugins/projectexplorer/taskhub.cpp b/src/plugins/projectexplorer/taskhub.cpp index 67f41e87b7e5cfda67b8a4f98b54b092a2136cf7..28cd6985b26006562eec47650e76efde2813a81a 100644 --- a/src/plugins/projectexplorer/taskhub.cpp +++ b/src/plugins/projectexplorer/taskhub.cpp @@ -48,7 +48,7 @@ TaskHub::~TaskHub() } -void TaskHub::addCategory(const QString &categoryId, const QString &displayName, bool visible) +void TaskHub::addCategory(const Core::Id &categoryId, const QString &displayName, bool visible) { emit categoryAdded(categoryId, displayName, visible); } @@ -58,7 +58,7 @@ void TaskHub::addTask(const Task &task) emit taskAdded(task); } -void TaskHub::clearTasks(const QString &categoryId) +void TaskHub::clearTasks(const Core::Id &categoryId) { emit tasksCleared(categoryId); } @@ -68,7 +68,7 @@ void TaskHub::removeTask(const Task &task) emit taskRemoved(task); } -void TaskHub::setCategoryVisibility(const QString &categoryId, bool visible) +void TaskHub::setCategoryVisibility(const Core::Id &categoryId, bool visible) { emit categoryVisibilityChanged(categoryId, visible); } diff --git a/src/plugins/projectexplorer/taskhub.h b/src/plugins/projectexplorer/taskhub.h index 33b73d210a1057a91dfd2e41f27be23981bf401c..020ab81c0f4f701e7d24e37c8d18f099af6a7b49 100644 --- a/src/plugins/projectexplorer/taskhub.h +++ b/src/plugins/projectexplorer/taskhub.h @@ -48,22 +48,22 @@ public: TaskHub(); virtual ~TaskHub(); - void addCategory(const QString &categoryId, const QString &displayName, bool visible = true); + void addCategory(const Core::Id &categoryId, const QString &displayName, bool visible = true); void addTask(const Task &task); - void clearTasks(const QString &categoryId = QString()); + void clearTasks(const Core::Id &categoryId = Core::Id()); void removeTask(const Task &task); - void setCategoryVisibility(const QString &categoryId, bool visible); + void setCategoryVisibility(const Core::Id &categoryId, bool visible); void popup(bool withFocus); // TODO now there are two places for icons QIcon taskTypeIcon(ProjectExplorer::Task::TaskType t) const; signals: - void categoryAdded(const QString &categoryId, const QString &displayName, bool visible); + void categoryAdded(const Core::Id &categoryId, const QString &displayName, bool visible); void taskAdded(const ProjectExplorer::Task &task); void taskRemoved(const ProjectExplorer::Task &task); - void tasksCleared(const QString &categoryId); - void categoryVisibilityChanged(const QString &categoryId, bool visible); + void tasksCleared(const Core::Id &categoryId); + void categoryVisibilityChanged(const Core::Id &categoryId, bool visible); void popupRequested(bool withFocus); private: const QIcon m_errorIcon; diff --git a/src/plugins/projectexplorer/taskmodel.cpp b/src/plugins/projectexplorer/taskmodel.cpp index 84bee37d603668315fed0a4a5c962f767cb56c00..fa9c6006372d7e35ec38f518f7367b4d5a4ba77e 100644 --- a/src/plugins/projectexplorer/taskmodel.cpp +++ b/src/plugins/projectexplorer/taskmodel.cpp @@ -35,7 +35,7 @@ #include "task.h" #include "taskhub.h" -#include <QtCore/QDebug> +#include <utils/qtcassert.h> #include <QtGui/QFontMetrics> @@ -54,22 +54,22 @@ TaskModel::TaskModel(QObject *parent) : m_warningIcon(QLatin1String(":/projectexplorer/images/compile_warning.png")), m_sizeOfLineNumber(0) { - m_categories.insert(QString(), CategoryData()); + m_categories.insert(Core::Id(), CategoryData()); } -int TaskModel::taskCount(const QString &category) +int TaskModel::taskCount(const Core::Id &categoryId) { - return m_categories.value(category).count; + return m_categories.value(categoryId).count; } -int TaskModel::errorTaskCount(const QString &category) +int TaskModel::errorTaskCount(const Core::Id &categoryId) { - return m_categories.value(category).errors; + return m_categories.value(categoryId).errors; } -int TaskModel::warningTaskCount(const QString &category) +int TaskModel::warningTaskCount(const Core::Id &categoryId) { - return m_categories.value(category).warnings; + return m_categories.value(categoryId).warnings; } bool TaskModel::hasFile(const QModelIndex &index) const @@ -93,22 +93,22 @@ QIcon TaskModel::taskTypeIcon(Task::TaskType t) const return QIcon(); } -void TaskModel::addCategory(const QString &categoryId, const QString &categoryName) +void TaskModel::addCategory(const Core::Id &categoryId, const QString &categoryName) { - Q_ASSERT(!categoryId.isEmpty()); + QTC_ASSERT(categoryId.uniqueIdentifier(), return); CategoryData data; data.displayName = categoryName; m_categories.insert(categoryId, data); } -QList<Task> TaskModel::tasks(const QString &categoryId) const +QList<Task> TaskModel::tasks(const Core::Id &categoryId) const { - if (categoryId.isEmpty()) + if (categoryId.uniqueIdentifier() == 0) return m_tasks; QList<Task> taskList; foreach (const Task &t, m_tasks) { - if (t.category == categoryId) + if (t.category.uniqueIdentifier() == categoryId.uniqueIdentifier()) taskList.append(t); } return taskList; @@ -118,7 +118,7 @@ void TaskModel::addTask(const Task &task) { Q_ASSERT(m_categories.keys().contains(task.category)); CategoryData &data = m_categories[task.category]; - CategoryData &global = m_categories[QString()]; + CategoryData &global = m_categories[Core::Id()]; beginInsertRows(QModelIndex(), m_tasks.count(), m_tasks.count()); m_tasks.append(task); @@ -135,26 +135,26 @@ void TaskModel::removeTask(const Task &task) beginRemoveRows(QModelIndex(), index, index); m_categories[task.category].removeTask(t); - m_categories[QString()].removeTask(t); + m_categories[Core::Id()].removeTask(t); m_tasks.removeAt(index); endRemoveRows(); } } -void TaskModel::clearTasks(const QString &categoryId) +void TaskModel::clearTasks(const Core::Id &categoryId) { - if (categoryId.isEmpty()) { + if (categoryId.uniqueIdentifier() != 0) { if (m_tasks.count() == 0) return; beginRemoveRows(QModelIndex(), 0, m_tasks.count() -1); m_tasks.clear(); - foreach (const QString &key, m_categories.keys()) + foreach (const Core::Id &key, m_categories.keys()) m_categories[key].clear(); endRemoveRows(); } else { int index = 0; int start = 0; - CategoryData &global = m_categories[QString()]; + CategoryData &global = m_categories[Core::Id()]; CategoryData &cat = m_categories[categoryId]; while (index < m_tasks.count()) { @@ -214,7 +214,7 @@ QVariant TaskModel::data(const QModelIndex &index, int role) const return QVariant(); if (role == TaskModel::File) { - return m_tasks.at(index.row()).file; + return m_tasks.at(index.row()).file.toString(); } else if (role == TaskModel::Line) { if (m_tasks.at(index.row()).line <= 0) return QVariant(); @@ -223,11 +223,11 @@ QVariant TaskModel::data(const QModelIndex &index, int role) const } else if (role == TaskModel::Description) { return m_tasks.at(index.row()).description; } else if (role == TaskModel::FileNotFound) { - return m_fileNotFound.value(m_tasks.at(index.row()).file); + return m_fileNotFound.value(m_tasks.at(index.row()).file.toString()); } else if (role == TaskModel::Type) { return (int)m_tasks.at(index.row()).type; } else if (role == TaskModel::Category) { - return m_tasks.at(index.row()).category; + return m_tasks.at(index.row()).category.uniqueIdentifier(); } else if (role == TaskModel::Icon) { return taskTypeIcon(m_tasks.at(index.row()).type); } else if (role == TaskModel::Task_t) { @@ -243,14 +243,14 @@ Task TaskModel::task(const QModelIndex &index) const return m_tasks.at(index.row()); } -QStringList TaskModel::categoryIds() const +QList<Core::Id> TaskModel::categoryIds() const { - QStringList ids = m_categories.keys(); - ids.removeAll(QString()); - return ids; + QList<Core::Id> categories = m_categories.keys(); + categories.removeAll(Core::Id()); // remove global category we added for bookkeeping + return categories; } -QString TaskModel::categoryDisplayName(const QString &categoryId) const +QString TaskModel::categoryDisplayName(const Core::Id &categoryId) const { return m_categories.value(categoryId).displayName; } @@ -268,7 +268,7 @@ int TaskModel::sizeOfFile(const QFont &font) m_fileMeasurementFont = font; for (int i = m_lastMaxSizeIndex; i < count; ++i) { - QString filename = m_tasks.at(i).file; + QString filename = m_tasks.at(i).file.toString(); const int pos = filename.lastIndexOf(QLatin1Char('/')); if (pos != -1) filename = filename.mid(pos +1); @@ -292,7 +292,7 @@ int TaskModel::sizeOfLineNumber(const QFont &font) void TaskModel::setFileNotFound(const QModelIndex &idx, bool b) { if (idx.isValid() && idx.row() < m_tasks.count()) { - m_fileNotFound.insert(m_tasks[idx.row()].file, b); + m_fileNotFound.insert(m_tasks[idx.row()].file.toUserOutput(), b); emit dataChanged(idx, idx); } } diff --git a/src/plugins/projectexplorer/taskmodel.h b/src/plugins/projectexplorer/taskmodel.h index 2ec8b22c18660586668145be1b9248ebfbc7feaf..421bc2d60dcdc340e0f967c191b6b823c537f740 100644 --- a/src/plugins/projectexplorer/taskmodel.h +++ b/src/plugins/projectexplorer/taskmodel.h @@ -54,14 +54,14 @@ public: QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; Task task(const QModelIndex &index) const; - QStringList categoryIds() const; - QString categoryDisplayName(const QString &categoryId) const; - void addCategory(const QString &categoryId, const QString &categoryName); + QList<Core::Id> categoryIds() const; + QString categoryDisplayName(const Core::Id &categoryId) const; + void addCategory(const Core::Id &categoryId, const QString &categoryName); - QList<Task> tasks(const QString &categoryId = QString()) const; + QList<Task> tasks(const Core::Id &categoryId = Core::Id()) const; void addTask(const Task &task); void removeTask(const Task &task); - void clearTasks(const QString &categoryId = QString()); + void clearTasks(const Core::Id &categoryId = Core::Id()); int sizeOfFile(const QFont &font); int sizeOfLineNumber(const QFont &font); @@ -71,9 +71,9 @@ public: QIcon taskTypeIcon(Task::TaskType t) const; - int taskCount(const QString &category); - int errorTaskCount(const QString &category); - int warningTaskCount(const QString &category); + int taskCount(const Core::Id &categoryId); + int errorTaskCount(const Core::Id &categoryId); + int warningTaskCount(const Core::Id &categoryId); bool hasFile(const QModelIndex &index) const; @@ -114,7 +114,7 @@ private: int errors; }; - QHash<QString,CategoryData> m_categories; // category id to data + QHash<Core::Id,CategoryData> m_categories; // category id to data QList<Task> m_tasks; // all tasks (in order of insertion) QHash<QString,bool> m_fileNotFound; @@ -151,8 +151,8 @@ public: bool filterIncludesErrors() const { return m_includeErrors; } void setFilterIncludesErrors(bool b) { m_includeErrors = b; invalidateFilter(); } - QStringList filteredCategories() const { return m_categoryIds; } - void setFilteredCategories(const QStringList &categoryIds) { m_categoryIds = categoryIds; invalidateFilter(); } + QList<Core::Id> filteredCategories() const { return m_categoryIds; } + void setFilteredCategories(const QList<Core::Id> &categoryIds) { m_categoryIds = categoryIds; invalidateFilter(); } Task task(const QModelIndex &index) const { return m_sourceModel->task(mapToSource(index)); } @@ -175,7 +175,7 @@ private: bool m_includeUnknowns; bool m_includeWarnings; bool m_includeErrors; - QStringList m_categoryIds; + QList<Core::Id> m_categoryIds; mutable QList<int> m_mapping; mutable bool m_mappingUpToDate; diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index c7ba151ad27140f9964e13cb5cdd2eb594d9c73a..6b3ee13b56ab874b49e27ee5e029ed7b50edac42 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -44,6 +44,7 @@ #include <coreplugin/icontext.h> #include <coreplugin/icore.h> #include <extensionsystem/pluginmanager.h> +#include <utils/qtcassert.h> #include <QtCore/QDir> #include <QtCore/QFileInfo> @@ -289,16 +290,16 @@ TaskWindow::TaskWindow(TaskHub *taskhub) : d(new TaskWindowPrivate) d->m_categoriesButton->setMenu(d->m_categoriesMenu); - connect(d->m_taskHub, SIGNAL(categoryAdded(QString, QString, bool)), - this, SLOT(addCategory(QString, QString, bool))); + connect(d->m_taskHub, SIGNAL(categoryAdded(Core::Id,QString,bool)), + this, SLOT(addCategory(Core::Id,QString,bool))); connect(d->m_taskHub, SIGNAL(taskAdded(ProjectExplorer::Task)), this, SLOT(addTask(ProjectExplorer::Task))); connect(d->m_taskHub, SIGNAL(taskRemoved(ProjectExplorer::Task)), this, SLOT(removeTask(ProjectExplorer::Task))); - connect(d->m_taskHub, SIGNAL(tasksCleared(QString)), - this, SLOT(clearTasks(QString))); - connect(d->m_taskHub, SIGNAL(categoryVisibilityChanged(QString,bool)), - this, SLOT(setCategoryVisibility(QString,bool))); + connect(d->m_taskHub, SIGNAL(tasksCleared(Core::Id)), + this, SLOT(clearTasks(Core::Id))); + connect(d->m_taskHub, SIGNAL(categoryVisibilityChanged(Core::Id,bool)), + this, SLOT(setCategoryVisibility(Core::Id,bool))); connect(d->m_taskHub, SIGNAL(popupRequested(bool)), this, SLOT(popup(bool))); } @@ -324,7 +325,7 @@ QWidget *TaskWindow::outputWidget(QWidget *) return d->m_listview; } -void TaskWindow::clearTasks(const QString &categoryId) +void TaskWindow::clearTasks(const Core::Id &categoryId) { d->m_model->clearTasks(categoryId); @@ -333,12 +334,12 @@ void TaskWindow::clearTasks(const QString &categoryId) navigateStateChanged(); } -void TaskWindow::setCategoryVisibility(const QString &categoryId, bool visible) +void TaskWindow::setCategoryVisibility(const Core::Id &categoryId, bool visible) { - if (categoryId.isEmpty()) + if (categoryId.uniqueIdentifier() == 0) return; - QStringList categories = d->m_filter->filteredCategories(); + QList<Core::Id> categories = d->m_filter->filteredCategories(); if (visible) { categories.removeOne(categoryId); @@ -353,11 +354,11 @@ void TaskWindow::visibilityChanged(bool /* b */) { } -void TaskWindow::addCategory(const QString &categoryId, const QString &displayName, bool visible) +void TaskWindow::addCategory(const Core::Id &categoryId, const QString &displayName, bool visible) { d->m_model->addCategory(categoryId, displayName); if (!visible) { - QStringList filters = d->m_filter->filteredCategories(); + QList<Core::Id> filters = d->m_filter->filteredCategories(); filters += categoryId; d->m_filter->setFilteredCategories(filters); } @@ -402,7 +403,7 @@ void TaskWindow::triggerDefaultHandler(const QModelIndex &index) if (d->m_defaultHandler->canHandle(task)) { d->m_defaultHandler->handle(task); } else { - if (!QFileInfo(task.file).exists()) + if (!task.file.toFileInfo().exists()) d->m_model->setFileNotFound(index, true); } } @@ -462,42 +463,42 @@ void TaskWindow::updateCategoriesMenu() { d->m_categoriesMenu->clear(); - const QStringList filteredCategories = d->m_filter->filteredCategories(); + const QList<Core::Id> filteredCategories = d->m_filter->filteredCategories(); - QMap<QString, QString> nameToIds; - foreach (const QString &categoryId, d->m_model->categoryIds()) - nameToIds.insert(d->m_model->categoryDisplayName(categoryId), categoryId); + QMap<QString, QByteArray> nameToIds; + foreach (const Core::Id &categoryId, d->m_model->categoryIds()) + nameToIds.insert(d->m_model->categoryDisplayName(categoryId), categoryId.name()); foreach (const QString &displayName, nameToIds.keys()) { - const QString categoryId = nameToIds.value(displayName); + const QByteArray categoryId = nameToIds.value(displayName); QAction *action = new QAction(d->m_categoriesMenu); action->setCheckable(true); action->setText(displayName); action->setData(categoryId); - action->setChecked(!filteredCategories.contains(categoryId)); + action->setChecked(!filteredCategories.contains(Core::Id(categoryId.constData()))); d->m_categoriesMenu->addAction(action); } } void TaskWindow::filterCategoryTriggered(QAction *action) { - QString categoryId = action->data().toString(); - Q_ASSERT(!categoryId.isEmpty()); + Core::Id categoryId(action->data().toByteArray().constData()); + QTC_CHECK(categoryId.uniqueIdentifier() != 0); setCategoryVisibility(categoryId, action->isChecked()); } -int TaskWindow::taskCount(const QString &category) const +int TaskWindow::taskCount(const Core::Id &category) const { return d->m_model->taskCount(category); } -int TaskWindow::errorTaskCount(const QString &category) const +int TaskWindow::errorTaskCount(const Core::Id &category) const { return d->m_model->errorTaskCount(category); } -int TaskWindow::warningTaskCount(const QString &category) const +int TaskWindow::warningTaskCount(const Core::Id &category) const { return d->m_model->warningTaskCount(category); } @@ -511,7 +512,7 @@ void TaskWindow::clearContents() { // clear all tasks in all displays // Yeah we are that special - d->m_taskHub->clearTasks(QString()); + d->m_taskHub->clearTasks(); } bool TaskWindow::hasFocus() const diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h index 39ab967c2cf9eca77dfdd38e9f1865965617e75a..8bdd6181f1732426b55200fb48ee82b7fb571adc 100644 --- a/src/plugins/projectexplorer/taskwindow.h +++ b/src/plugins/projectexplorer/taskwindow.h @@ -33,6 +33,7 @@ #ifndef TASKWINDOW_H #define TASKWINDOW_H +#include <coreplugin/id.h> #include <coreplugin/ioutputpane.h> QT_BEGIN_NAMESPACE @@ -57,9 +58,9 @@ public: TaskWindow(ProjectExplorer::TaskHub *taskHub); virtual ~TaskWindow(); - int taskCount(const QString &category = QString()) const; - int warningTaskCount(const QString &category = QString()) const; - int errorTaskCount(const QString &category = QString()) const; + int taskCount(const Core::Id &category = Core::Id()) const; + int warningTaskCount(const Core::Id &category = Core::Id()) const; + int errorTaskCount(const Core::Id &category = Core::Id()) const; // IOutputPane QWidget *outputWidget(QWidget *); @@ -85,11 +86,11 @@ signals: void tasksCleared(); private slots: - void addCategory(const QString &categoryId, const QString &displayName, bool visible); + void addCategory(const Core::Id &categoryId, const QString &displayName, bool visible); void addTask(const ProjectExplorer::Task &task); void removeTask(const ProjectExplorer::Task &task); - void clearTasks(const QString &categoryId); - void setCategoryVisibility(const QString &categoryId, bool visible); + void clearTasks(const Core::Id &categoryId); + void setCategoryVisibility(const Core::Id &categoryId, bool visible); void triggerDefaultHandler(const QModelIndex &index); void showContextMenu(const QPoint &position); diff --git a/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp b/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp index 70a396c922eb933d522caed9095fd3bdfb3fb361..0d99c4622e2fd7988f2ff2f34e7fccaab3c4f6cb 100644 --- a/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp +++ b/src/plugins/projectexplorer/vcsannotatetaskhandler.cpp @@ -51,7 +51,7 @@ VcsAnnotateTaskHandler::VcsAnnotateTaskHandler() : bool VcsAnnotateTaskHandler::canHandle(const ProjectExplorer::Task &task) { - QFileInfo fi(task.file); + QFileInfo fi(task.file.toFileInfo()); if (!fi.exists() || !fi.isFile() || !fi.isReadable()) return false; Core::IVersionControl *vc = Core::ICore::vcsManager()->findVersionControlForDirectory(fi.absolutePath()); @@ -62,7 +62,7 @@ bool VcsAnnotateTaskHandler::canHandle(const ProjectExplorer::Task &task) void VcsAnnotateTaskHandler::handle(const ProjectExplorer::Task &task) { - QFileInfo fi(task.file); + QFileInfo fi(task.file.toFileInfo()); Core::IVersionControl *vc = Core::ICore::vcsManager()->findVersionControlForDirectory(fi.absolutePath()); Q_ASSERT(vc); Q_ASSERT(vc->supportsOperation(Core::IVersionControl::AnnotateOperation)); diff --git a/src/plugins/qmljseditor/qmltaskmanager.cpp b/src/plugins/qmljseditor/qmltaskmanager.cpp index 21198ffa7623008ffefc413e6613bfd3b3d97b9b..a6a6dfb44c0e9d0fb35541b0f60197b7d3532a4a 100644 --- a/src/plugins/qmljseditor/qmltaskmanager.cpp +++ b/src/plugins/qmljseditor/qmltaskmanager.cpp @@ -71,7 +71,7 @@ QmlTaskManager::QmlTaskManager(QObject *parent) : SLOT(updateMessagesNow())); } -static QList<ProjectExplorer::Task> convertToTasks(const QList<DiagnosticMessage> &messages, const QString &fileName, const QString &category) +static QList<ProjectExplorer::Task> convertToTasks(const QList<DiagnosticMessage> &messages, const Utils::FileName &fileName, const Core::Id &category) { QList<ProjectExplorer::Task> result; foreach (const DiagnosticMessage &msg, messages) { @@ -87,7 +87,7 @@ static QList<ProjectExplorer::Task> convertToTasks(const QList<DiagnosticMessage return result; } -static QList<ProjectExplorer::Task> convertToTasks(const QList<StaticAnalysis::Message> &messages, const QString &fileName, const QString &category) +static QList<ProjectExplorer::Task> convertToTasks(const QList<StaticAnalysis::Message> &messages, const Utils::FileName &fileName, const Core::Id &category) { QList<DiagnosticMessage> diagnostics; foreach (const StaticAnalysis::Message &msg, messages) @@ -116,15 +116,18 @@ void QmlTaskManager::collectMessages( FileErrorMessages result; result.fileName = fileName; result.tasks = convertToTasks(document->diagnosticMessages(), - fileName, Constants::TASK_CATEGORY_QML); + Utils::FileName::fromString(fileName), + Core::Id(Constants::TASK_CATEGORY_QML)); if (updateSemantic) { result.tasks += convertToTasks(linkMessages.value(fileName), - fileName, Constants::TASK_CATEGORY_QML_ANALYSIS); + Utils::FileName::fromString(fileName), + Core::Id(Constants::TASK_CATEGORY_QML_ANALYSIS)); Check checker(document, context); result.tasks += convertToTasks(checker(), - fileName, Constants::TASK_CATEGORY_QML_ANALYSIS); + Utils::FileName::fromString(fileName), + Core::Id(Constants::TASK_CATEGORY_QML_ANALYSIS)); } if (!result.tasks.isEmpty()) @@ -190,9 +193,9 @@ void QmlTaskManager::displayAllResults() void QmlTaskManager::insertTask(const ProjectExplorer::Task &task) { - QList<ProjectExplorer::Task> tasks = m_docsWithTasks.value(task.file); + QList<ProjectExplorer::Task> tasks = m_docsWithTasks.value(task.file.toString()); tasks.append(task); - m_docsWithTasks.insert(task.file, tasks); + m_docsWithTasks.insert(task.file.toString(), tasks); m_taskHub->addTask(task); } diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index c4a31a05dd7085e270c790fd26b685a5a518b184..f54da29d91bf901fa6604a37cf6a9b19f989b7c5 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -137,16 +137,16 @@ bool MakeStep::init() if (!bc) { m_tasks.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, tr("Qt Creator needs a buildconfiguration set up to build. Configure a tool chain in Project mode."), - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return false; } if (!bc->toolChain()) { m_tasks.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, tr("Qt Creator needs a tool chain set up to build. Configure a tool chain in Project mode."), - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } ProjectExplorer::ProcessParameters *pp = processParameters(); diff --git a/src/plugins/qt4projectmanager/qmakeparser.cpp b/src/plugins/qt4projectmanager/qmakeparser.cpp index cf8b9ff1854756d3d9bf192da1c70d2f2d37f144..dfae1021176c3681f9e01da81a6c2f48f6451a7d 100644 --- a/src/plugins/qt4projectmanager/qmakeparser.cpp +++ b/src/plugins/qt4projectmanager/qmakeparser.cpp @@ -54,18 +54,18 @@ void QMakeParser::stdError(const QString &line) const QString description = lne.mid(15); emit addTask(Task(Task::Error, description, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return; } if (lne.startsWith(QLatin1String("Project WARNING:"))) { const QString description = lne.mid(17); emit addTask(Task(Task::Warning, description, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return; } if (m_error.indexIn(lne) > -1) { @@ -79,9 +79,9 @@ void QMakeParser::stdError(const QString &line) } emit addTask(Task(type, m_error.cap(3) /* description */, - fileName, + Utils::FileName::fromUserInput(fileName), m_error.cap(2).toInt() /* line */, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return; } IOutputParser::stdError(line); @@ -102,7 +102,7 @@ using namespace ProjectExplorer; void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() { - const QString categoryBuildSystem = QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM); + const Core::Id categoryBuildSystem = Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM); QTest::addColumn<QString>("input"); QTest::addColumn<OutputParserTester::Channel>("inputChannel"); QTest::addColumn<QString>("childStdOutLines"); @@ -129,7 +129,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("undefined file"), - QString(), -1, + Utils::FileName(), -1, categoryBuildSystem)) << QString(); @@ -140,7 +140,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("Parse Error ('sth odd')"), - QLatin1String("e:\\project.pro"), + Utils::FileName::fromUserInput("e:\\project.pro"), 14, categoryBuildSystem)) << QString(); @@ -152,7 +152,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("bearer module might require ReadUserData capability"), - QString(), -1, + Utils::FileName(), -1, categoryBuildSystem)) << QString(); @@ -163,7 +163,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("Unescaped backslashes are deprecated."), - QLatin1String("e:\\NokiaQtSDK\\Simulator\\Qt\\msvc2008\\lib\\qtmaind.prl"), 1, + Utils::FileName::fromUserInput("e:\\NokiaQtSDK\\Simulator\\Qt\\msvc2008\\lib\\qtmaind.prl"), 1, categoryBuildSystem)) << QString(); } diff --git a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp index e5ffb79a188a728d7bbed744c6e63a3e02a26dc1..aff51f4c9b397175df0897a226dd467af974d6cb 100644 --- a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp @@ -58,18 +58,18 @@ void AbldParser::stdOutput(const QString &line) if (lne.startsWith(QLatin1String("Is Perl, version "))) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); return; } if (lne.startsWith(QLatin1String("FATAL ERROR:")) || lne.startsWith(QLatin1String("Error :"))) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdOutContinuation = false; return; } @@ -81,8 +81,8 @@ void AbldParser::stdOutput(const QString &line) Task task(Task::Unknown, m_perlIssue.cap(4) /* description */, - m_currentFile, m_currentLine, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM)); + Utils::FileName::fromUserInput(m_currentFile), m_currentLine, + Core::Id(TASK_CATEGORY_BUILDSYSTEM)); if (m_perlIssue.cap(1) == QLatin1String("WARNING")) task.type = Task::Warning; @@ -96,8 +96,8 @@ void AbldParser::stdOutput(const QString &line) if (lne.startsWith(QLatin1String("SIS creation failed!"))) { m_waitingForStdOutContinuation = false; emit addTask(Task(Task::Error, - line, QString(), -1, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + line, Utils::FileName(), -1, + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); return; } @@ -109,8 +109,8 @@ void AbldParser::stdOutput(const QString &line) if (m_waitingForStdOutContinuation) { emit addTask(Task(Task::Unknown, lne /* description */, - m_currentFile, m_currentLine, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName::fromUserInput(m_currentFile), m_currentLine, + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdOutContinuation = true; return; } @@ -129,18 +129,18 @@ void AbldParser::stdError(const QString &line) lne.startsWith(QLatin1String("Platform "))) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); return; } if (lne.startsWith(QLatin1String("Died at "))) { emit addTask(Task(Task::Error, lne /* description */, - QString() /* filename */, + Utils::FileName() /* filename */, -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdErrContinuation = false; return; } @@ -157,18 +157,18 @@ void AbldParser::stdError(const QString &line) if (lne.startsWith(QLatin1String("WARNING: "))) { QString description = lne.mid(9); emit addTask(Task(Task::Warning, description, - m_currentFile, + Utils::FileName::fromUserInput(m_currentFile), -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdErrContinuation = true; return; } if (lne.startsWith(QLatin1String("ERROR: "))) { QString description = lne.mid(7); emit addTask(Task(Task::Error, description, - m_currentFile, + Utils::FileName::fromUserInput(m_currentFile), -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdErrContinuation = true; return; } @@ -176,9 +176,9 @@ void AbldParser::stdError(const QString &line) { emit addTask(Task(Task::Unknown, lne /* description */, - m_currentFile, + Utils::FileName::fromUserInput(m_currentFile), -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_BUILDSYSTEM))); + Core::Id(TASK_CATEGORY_BUILDSYSTEM))); m_waitingForStdErrContinuation = true; return; } diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp index 1f8644ec3554beff4056bd53ad8dea998a71ffa8..8c4446103e50ee3314ec344616b9c182bc844ddd 100644 --- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp @@ -153,7 +153,7 @@ QList<ProjectExplorer::Task> Qt4SymbianTargetFactory::reportIssues(const QString QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker", "The Symbian tool chain does not handle spaces " "in the project path '%1'.").arg(projectPath), - QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } if (projectName.contains(QRegExp(QLatin1String("[^a-zA-Z0-9.-]")))) { results.append(Task(Task::Warning, @@ -161,7 +161,7 @@ QList<ProjectExplorer::Task> Qt4SymbianTargetFactory::reportIssues(const QString "The Symbian tool chain does not handle special " "characters in the project name '%1' well.") .arg(projectName), - QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } return results; } diff --git a/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp b/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp index b2bf58b32b816e1a5386ba2c05cb22e7c920627d..832924716616941d78eee1d3562bdaab2a0fc374 100644 --- a/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp @@ -68,9 +68,9 @@ void RvctParser::stdError(const QString &line) m_task = new Task(Task::Error, m_genericProblem.cap(2) /* description */, - QString(), + Utils::FileName(), -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_COMPILE)); + Core::Id(TASK_CATEGORY_COMPILE)); if (m_warningOrError.cap(4) == QLatin1String("Warning")) m_task->type = Task::Warning; else if (m_warningOrError.cap(4) == QLatin1String("Error")) @@ -83,9 +83,9 @@ void RvctParser::stdError(const QString &line) m_task = new Task(Task::Unknown, m_warningOrError.cap(5) /* description */, - m_warningOrError.cap(1) /* file */, + Utils::FileName::fromUserInput(m_warningOrError.cap(1)) /* file */, m_warningOrError.cap(2).toInt() /* line */, - QLatin1String(TASK_CATEGORY_COMPILE)); + Core::Id(TASK_CATEGORY_COMPILE)); if (m_warningOrError.cap(4) == QLatin1String("Warning")) m_task->type = Task::Warning; else if (m_warningOrError.cap(4) == QLatin1String("Error")) @@ -152,7 +152,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data() QTest::addColumn<QList<ProjectExplorer::Task> >("tasks"); QTest::addColumn<QString>("outputLines"); - const QString categoryCompile = QLatin1String(Constants::TASK_CATEGORY_COMPILE); + const Core::Id categoryCompile = Core::Id(Constants::TASK_CATEGORY_COMPILE); QTest::newRow("pass-through stdout") << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT << QString::fromLatin1("Sometext\n") << QString() @@ -175,7 +175,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data() QLatin1String("#68-D: integer conversion resulted in a change of sign\n" " : public _Integer_limits<char, CHAR_MIN, CHAR_MAX, -1, true>\n" " ^"), - QLatin1String("../../../../s60-sdk/epoc32/include/stdapis/stlport/stl/_limits.h"), 256, + Utils::FileName::fromUserInput("../../../../s60-sdk/epoc32/include/stdapis/stlport/stl/_limits.h"), 256, categoryCompile) ) << QString(); @@ -190,7 +190,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data() QLatin1String("#20: identifier \"e\" is undefined\n" " delete ui;e\n" " ^"), - QLatin1String("mainwindow.cpp"), 22, + Utils::FileName::fromUserInput("mainwindow.cpp"), 22, categoryCompile) ) << QString(); @@ -201,7 +201,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data() << (QList<ProjectExplorer::Task>() << Task(Task::Error, QLatin1String("L6218E: Undefined symbol MainWindow::sth() (referred from mainwindow.o)"), - QString(), -1, + Utils::FileName(), -1, categoryCompile) ) << QString(); @@ -232,7 +232,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data() "FLEXnet Licensing error:-1,359. System Error: 2 \"No such file or directory\"\n" "For further information, refer to the FLEXnet Licensing End User Guide,\n" "available at \"www.macrovision.com\"."), - QString(), -1, + Utils::FileName(), -1, categoryCompile) ) << QString(); diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp index 5e6e06d2d5e9da8518207a9ca4dff911925c8e39..a0449c1b2a060ed6e3bf18705b0ebe0b8248e681 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp @@ -63,8 +63,8 @@ bool S60CreatePackageParser::parseLine(const QString &line) "Use a developer certificate or any other signing option to prevent " "this patching from happening."). arg(m_packageName, lines); - ProjectExplorer::Task task(ProjectExplorer::Task::Warning, message, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); + ProjectExplorer::Task task(ProjectExplorer::Task::Warning, message, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); QTextLayout::FormatRange fr; fr.start = message.indexOf(lines); @@ -86,11 +86,11 @@ bool S60CreatePackageParser::parseLine(const QString &line) tr("Cannot create Smart Installer package " "as the Smart Installer's base file is missing. " "Please ensure that it is located in the SDK."), - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); else - emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error, errorMessage, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error, errorMessage, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); return true; } return false; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp index 06247502ecb4aa7db5b2d33e0149c169ec91a7ef..2652e7cf632f31f6eb2a86d37daf675d54c7acc2 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp @@ -510,8 +510,8 @@ void S60CreatePackageStep::reportPackageStepIssue(const QString &message, bool i ProjectExplorer::Task::Error: ProjectExplorer::Task::Warning, message, - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } void S60CreatePackageStep::packageWarningDialogDone() diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp index 3deddf9b2bd86cb7fe53b391dde1d7572bc5c166..949086250a58ff0a7f9cdf8bc0104425c0a42896 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp @@ -195,8 +195,8 @@ void S60DeployStep::reportError(const QString &error) emit addOutput(error, ProjectExplorer::BuildStep::ErrorMessageOutput); emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error, error, - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); emit finished(false); } @@ -604,8 +604,8 @@ void S60DeployStep::checkForCancel() appendMessage(canceledText, true); emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error, canceledText, - QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); emit finishNow(false); } } diff --git a/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp b/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp index 6c1eaa30e24f76be4826d3445e373288b79c3385..97754fe163dbf21a27792af9f3b1e32650a3b599 100644 --- a/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp @@ -66,8 +66,8 @@ void SbsV2Parser::stdOutput(const QString &line) QString logfile = QDir::fromNativeSeparators(line.mid(18).trimmed()); parseLogFile(logfile); addTask(ProjectExplorer::Task(Task::Unknown, tr("SBSv2 build log"), - logfile, -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName::fromUserInput(logfile), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } } @@ -81,14 +81,15 @@ void SbsV2Parser::taskAdded(const ProjectExplorer::Task &task) { // Fix pathes: ProjectExplorer::Task tmp(task); + const QString filename = tmp.file.toString(); if (!tmp.file.isEmpty()) { - QFileInfo fi(tmp.file); + QFileInfo fi(tmp.file.toFileInfo()); if (!fi.isAbsolute()) { - if (m_currentSource.exists(tmp.file)) - tmp.file = m_currentSource.absoluteFilePath(tmp.file); - else if (m_currentTarget.exists(tmp.file)) - tmp.file = m_currentTarget.absoluteFilePath(tmp.file); + if (m_currentSource.exists(filename)) + tmp.file = Utils::FileName::fromString(m_currentSource.absoluteFilePath(filename)); + else if (m_currentTarget.exists(filename)) + tmp.file = Utils::FileName::fromString(m_currentTarget.absoluteFilePath(filename)); } } @@ -132,7 +133,7 @@ void SbsV2Parser::readError() Q_ASSERT(m_log.isStartElement() && m_log.name() == QLatin1String("error")); QString error = m_log.readElementText(); - addTask(Task(Task::Error, error, QString(), -1, QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))); + addTask(Task(Task::Error, error, Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); } void SbsV2Parser::readWarning() @@ -140,7 +141,7 @@ void SbsV2Parser::readWarning() Q_ASSERT(m_log.isStartElement() && m_log.name() == QLatin1String("warning")); QString warning = m_log.readElementText(); - addTask(Task(Task::Warning, warning, QString(), -1, QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM))); + addTask(Task(Task::Warning, warning, Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); } void SbsV2Parser::readRecipe() @@ -186,10 +187,10 @@ void SbsV2Parser::readRecipe() if (returnCode != 0) { //: %1 is the SBSv2 build recipe name, %2 the return code of the failed command QString description = tr("Recipe %1 failed with exit code %2.").arg(name).arg(returnCode); - m_hub->addTask(Task(Task::Error, description, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); - m_hub->addTask(Task(Task::Unknown, outputText, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + m_hub->addTask(Task(Task::Error, description, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + m_hub->addTask(Task(Task::Unknown, outputText, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } } @@ -230,8 +231,8 @@ void Qt4ProjectManagerPlugin::testSbsV2OutputParsers_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << ProjectExplorer::Task(Task::Unknown, QLatin1String("SBSv2 build log"), - QLatin1String("X:/epoc32/build/Makefile.2010-08-10-15-25-52.log"), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))) + Utils::FileName::fromUserInput("X:/epoc32/build/Makefile.2010-08-10-15-25-52.log"), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))) << QString(); } diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp index 0acf96eb9a5dd1f15051f5f839a46263e35464e2..1af9843cee855b38812a01686001ccdfc3d4810b 100644 --- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp @@ -344,7 +344,7 @@ QList<ProjectExplorer::Task> SymbianQtVersion::reportIssuesImpl(const QString &p results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker", "The Symbian SDK and the project sources must reside on the same drive."), - QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } return results; } diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp index c8ef970a14862e9e8b1e0c5c8e459a632bebef2a..63786474eeb7217e80b5105a4d3eea411fe40de1 100644 --- a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp @@ -58,9 +58,9 @@ void WinscwParser::stdOutput(const QString &line) if (m_compilerProblem.indexIn(lne) > -1) { Task task(Task::Error, m_compilerProblem.cap(3) /* description */, - m_compilerProblem.cap(1) /* filename */, + Utils::FileName::fromUserInput(m_compilerProblem.cap(1)) /* filename */, m_compilerProblem.cap(2).toInt() /* linenumber */, - QLatin1String(TASK_CATEGORY_COMPILE)); + Core::Id(TASK_CATEGORY_COMPILE)); if (task.description.startsWith(QLatin1String("warning: "))) { task.type = Task::Warning; task.description = task.description.mid(9); @@ -78,9 +78,9 @@ void WinscwParser::stdError(const QString &line) if (m_linkerProblem.indexIn(lne) > -1) { emit addTask(Task(Task::Error, m_linkerProblem.cap(2) /* description */, - m_linkerProblem.cap(1) /* filename */, + Utils::FileName::fromUserInput(m_linkerProblem.cap(1)) /* filename */, -1 /* linenumber */, - QLatin1String(TASK_CATEGORY_COMPILE))); + Core::Id(TASK_CATEGORY_COMPILE))); return; } IOutputParser::stdError(line); diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index df04fb811c8b27625a276a73ace71992a1c334bc..db1075999dea80a6b553852568075981c674436f 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1017,8 +1017,8 @@ QList<ProjectExplorer::Task> BaseQtVersion::reportIssuesImpl(const QString &proF if (!isValid()) { //: %1: Reason for being invalid const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "The Qt version is invalid: %1").arg(invalidReason()); - results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, msg, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, msg, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } QFileInfo qmakeInfo = qmakeCommand().toFileInfo(); @@ -1027,8 +1027,8 @@ QList<ProjectExplorer::Task> BaseQtVersion::reportIssuesImpl(const QString &proF //: %1: Path to qmake executable const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "The qmake command \"%1\" was not found or is not executable.").arg(qmakeCommand().toUserOutput()); - results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, msg, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error, msg, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } QString sourcePath = QFileInfo(proFile).absolutePath(); @@ -1038,14 +1038,14 @@ QList<ProjectExplorer::Task> BaseQtVersion::reportIssuesImpl(const QString &proF if ((tmpBuildDir.startsWith(sourcePath)) && (tmpBuildDir != sourcePath)) { const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "Qmake does not support build directories below the source directory."); - results.append(ProjectExplorer::Task(ProjectExplorer::Task::Warning, msg, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + results.append(ProjectExplorer::Task(ProjectExplorer::Task::Warning, msg, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } else if (tmpBuildDir.count(slash) != sourcePath.count(slash) && qtVersion() < QtVersionNumber(4,8, 0)) { const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "The build directory needs to be at the same level as the source directory."); - results.append(ProjectExplorer::Task(ProjectExplorer::Task::Warning, msg, QString(), -1, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); + results.append(ProjectExplorer::Task(ProjectExplorer::Task::Warning, msg, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } return results; diff --git a/src/plugins/qtsupport/qtparser.cpp b/src/plugins/qtsupport/qtparser.cpp index 9388396486aec16cef986df3be2d8f7a1fd9758b..f515a2327c43a97dba46b9cf721416dfca4395ab 100644 --- a/src/plugins/qtsupport/qtparser.cpp +++ b/src/plugins/qtsupport/qtparser.cpp @@ -60,9 +60,9 @@ void QtParser::stdError(const QString &line) lineno = -1; Task task(Task::Error, m_mocRegExp.cap(5).trimmed(), - m_mocRegExp.cap(1) /* filename */, + Utils::FileName::fromUserInput(m_mocRegExp.cap(1)) /* filename */, lineno, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)); + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)); if (m_mocRegExp.cap(4) == QLatin1String("Warning")) task.type = Task::Warning; emit addTask(task); @@ -125,8 +125,8 @@ void QtSupportPlugin::testQtOutputParser_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("No relevant classes found. No output generated."), - QLatin1String("..\\untitled\\errorfile.h"), 0, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("..\\untitled\\errorfile.h"), 0, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("moc warning 2") << QString::fromLatin1("c:\\code\\test.h(96): Warning: Property declaration ) has no READ accessor function. The property will be invalid.") @@ -134,8 +134,8 @@ void QtSupportPlugin::testQtOutputParser_data() << QString() << QString() << (QList<ProjectExplorer::Task>() << Task(Task::Warning, QLatin1String("Property declaration ) has no READ accessor function. The property will be invalid."), - QLatin1String("c:\\code\\test.h"), 96, - QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + Utils::FileName::fromUserInput("c:\\code\\test.h"), 96, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); } diff --git a/src/plugins/remotelinux/abstractpackagingstep.cpp b/src/plugins/remotelinux/abstractpackagingstep.cpp index 7ba42c869174923e414781efd6ceab6e4a159c16..89e8b96423e2a967062b9999279ae56e24f991a3 100644 --- a/src/plugins/remotelinux/abstractpackagingstep.cpp +++ b/src/plugins/remotelinux/abstractpackagingstep.cpp @@ -172,8 +172,8 @@ void AbstractPackagingStep::setDeploymentInfoUnmodified() void AbstractPackagingStep::raiseError(const QString &errorMessage) { emit addOutput(errorMessage, BuildStep::ErrorOutput); - emit addTask(Task(Task::Error, errorMessage, QString(), -1, - Constants::TASK_CATEGORY_BUILDSYSTEM)); + emit addTask(Task(Task::Error, errorMessage, Utils::FileName(), -1, + Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); } } // namespace RemoteLinux diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp index e1ed4c4d7ae7de23d956804d3d92501f8aff092e..380ab1092e353a30a381b1d2ac9f903bb4f22ecc 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp @@ -130,16 +130,16 @@ void AbstractRemoteLinuxDeployStep::handleProgressMessage(const QString &message void AbstractRemoteLinuxDeployStep::handleErrorMessage(const QString &message) { emit addOutput(message, ErrorMessageOutput); - emit addTask(Task(Task::Error, message, QString(), -1, - ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); + emit addTask(Task(Task::Error, message, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); d->hasError = true; } void AbstractRemoteLinuxDeployStep::handleWarningMessage(const QString &message) { emit addOutput(message, ErrorMessageOutput); - emit addTask(Task(Task::Warning, message, QString(), -1, - ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); + emit addTask(Task(Task::Warning, message, Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); } void AbstractRemoteLinuxDeployStep::handleFinished() diff --git a/src/plugins/tasklist/stopmonitoringhandler.cpp b/src/plugins/tasklist/stopmonitoringhandler.cpp index 7f94b58e449f9c769c7c6e3c63b7728763aafef9..48f5e13ed6c7fc390720a6112831ced90f6afe7d 100644 --- a/src/plugins/tasklist/stopmonitoringhandler.cpp +++ b/src/plugins/tasklist/stopmonitoringhandler.cpp @@ -57,7 +57,7 @@ StopMonitoringHandler::~StopMonitoringHandler() bool StopMonitoringHandler::canHandle(const ProjectExplorer::Task &task) { - return task.category == QLatin1String(Constants::TASKLISTTASK_ID); + return task.category == Core::Id(Constants::TASKLISTTASK_ID); } void StopMonitoringHandler::handle(const ProjectExplorer::Task &task) diff --git a/src/plugins/tasklist/tasklistplugin.cpp b/src/plugins/tasklist/tasklistplugin.cpp index e707b4c70691b28f24d448fc7214f54bff22a6ee..b8690edb83241715644ee4dfa9191ed81dc22ca9 100644 --- a/src/plugins/tasklist/tasklistplugin.cpp +++ b/src/plugins/tasklist/tasklistplugin.cpp @@ -122,7 +122,9 @@ public: } description = unescape(description); - hub->addTask(ProjectExplorer::Task(type, description, file, line, QLatin1String(Constants::TASKLISTTASK_ID))); + hub->addTask(ProjectExplorer::Task(type, description, + Utils::FileName::fromUserInput(file), line, + Core::Id(Constants::TASKLISTTASK_ID))); } return true; } @@ -196,7 +198,7 @@ bool TaskListPlugin::initialize(const QStringList &arguments, QString *errorMess d->hub = pm->getObject<ProjectExplorer::TaskHub>(); //: Category under which tasklist tasks are listed in Issues view - d->hub->addCategory(QLatin1String(Constants::TASKLISTTASK_ID), tr("My Tasks")); + d->hub->addCategory(Core::Id(Constants::TASKLISTTASK_ID), tr("My Tasks")); if (!Core::ICore::mimeDatabase()->addMimeTypes(QLatin1String(":tasklist/TaskList.mimetypes.xml"), errorMessage)) return false; @@ -228,7 +230,7 @@ void TaskListPlugin::stopMonitoring() void TaskListPlugin::clearTasks() { - d->hub->clearTasks(QLatin1String(Constants::TASKLISTTASK_ID)); + d->hub->clearTasks(Core::Id(Constants::TASKLISTTASK_ID)); } Q_EXPORT_PLUGIN(TaskListPlugin)