forked from qt-creator/qt-creator
Task: Make sure file contains non-native separators
This commit is contained in:
@@ -33,6 +33,7 @@
|
||||
|
||||
#include <coreplugin/coreconstants.h>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
#include <QtGui/QAction>
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QClipboard>
|
||||
@@ -48,16 +49,18 @@ void CopyTaskHandler::handle(const ProjectExplorer::Task &task)
|
||||
QString type;
|
||||
switch (task.type) {
|
||||
case Task::Error:
|
||||
type = tr("error: ", "Task is of type error");
|
||||
//: Task is of type: error
|
||||
type = tr("error: ");
|
||||
break;
|
||||
case Task::Warning:
|
||||
type = tr("warning: ", "Task is of type warning");
|
||||
//: Task is of type: warning
|
||||
type = tr("warning: ");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
QApplication::clipboard()->setText(task.file + ':' +
|
||||
QApplication::clipboard()->setText(QDir::toNativeSeparators(task.file) + ':' +
|
||||
QString::number(task.line) + ": "
|
||||
+ type + task.description);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
#include "taskwindow.h"
|
||||
#include "projectexplorerconstants.h"
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
namespace {
|
||||
@@ -100,7 +102,7 @@ void GccParser::stdError(const QString &line)
|
||||
int lineno = m_regExp.cap(3).toInt();
|
||||
Task task(Task::Unknown,
|
||||
m_regExp.cap(8) /* description */,
|
||||
filename, lineno,
|
||||
QDir::fromNativeSeparators(filename), lineno,
|
||||
Constants::TASK_CATEGORY_COMPILE);
|
||||
if (m_regExp.cap(7) == QLatin1String("warning"))
|
||||
task.type = Task::Warning;
|
||||
@@ -118,7 +120,7 @@ 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 */,
|
||||
QDir::fromNativeSeparators(m_regExpIncluded.cap(1)) /* filename */,
|
||||
m_regExpIncluded.cap(3).toInt() /* linenumber */,
|
||||
Constants::TASK_CATEGORY_COMPILE));
|
||||
return;
|
||||
|
||||
@@ -87,7 +87,7 @@ void GnuMakeParser::stdError(const QString &line)
|
||||
m_suppressIssues = true;
|
||||
addTask(Task(Task::Error,
|
||||
m_makefileError.cap(3),
|
||||
m_makefileError.cap(1),
|
||||
QDir::fromNativeSeparators(m_makefileError.cap(1)),
|
||||
m_makefileError.cap(2).toInt(),
|
||||
Constants::TASK_CATEGORY_BUILDSYSTEM));
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
#include "projectexplorerconstants.h"
|
||||
#include "taskwindow.h"
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
namespace {
|
||||
@@ -98,7 +100,7 @@ void LdParser::stdError(const QString &line)
|
||||
&& !m_regExpLinker.cap(4).startsWith(QLatin1String("(.text+0x")))
|
||||
filename = m_regExpLinker.cap(4);
|
||||
QString description = m_regExpLinker.cap(8).trimmed();
|
||||
Task task(Task::Error, description, filename, lineno,
|
||||
Task task(Task::Error, description, QDir::fromNativeSeparators(filename), lineno,
|
||||
Constants::TASK_CATEGORY_COMPILE);
|
||||
if (m_regExpInFunction.indexIn(description) > -1 ||
|
||||
description.startsWith(QLatin1String("At global scope")) ||
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
#include "ldparser.h"
|
||||
#include "taskwindow.h"
|
||||
#include "projectexplorerconstants.h"
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
|
||||
@@ -71,7 +72,8 @@ 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), m_firstLine.cap(2).toInt(),
|
||||
QDir::fromNativeSeparators(m_firstLine.cap(1)),
|
||||
m_firstLine.cap(2).toInt(),
|
||||
QLatin1String(Constants::TASK_CATEGORY_COMPILE));
|
||||
QString category = m_firstLine.cap(4);
|
||||
if (category == QLatin1String("error"))
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/taskwindow.h>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace Qt4ProjectManager;
|
||||
using namespace ProjectExplorer;
|
||||
using namespace ProjectExplorer::Constants;
|
||||
@@ -73,7 +75,7 @@ void AbldParser::stdOutput(const QString &line)
|
||||
|
||||
if (m_perlIssue.indexIn(lne) > -1) {
|
||||
m_waitingForStdOutContinuation = true;
|
||||
m_currentFile = m_perlIssue.cap(2);
|
||||
m_currentFile = QDir::fromNativeSeparators(m_perlIssue.cap(2));
|
||||
m_currentLine = m_perlIssue.cap(3).toInt();
|
||||
|
||||
Task task(Task::Unknown,
|
||||
@@ -143,7 +145,7 @@ void AbldParser::stdError(const QString &line)
|
||||
}
|
||||
|
||||
if (lne.startsWith(QLatin1String("MMPFILE \""))) {
|
||||
m_currentFile = lne.mid(9, lne.size() - 10);
|
||||
m_currentFile = QDir::fromNativeSeparators(lne.mid(9, lne.size() - 10));
|
||||
m_waitingForStdErrContinuation = false;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/taskwindow.h>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
using namespace ProjectExplorer::Constants;
|
||||
using namespace Qt4ProjectManager;
|
||||
@@ -80,7 +82,8 @@ void RvctParser::stdError(const QString &line)
|
||||
|
||||
m_task = new Task(Task::Unknown,
|
||||
m_warningOrError.cap(5) /* description */,
|
||||
m_warningOrError.cap(1) /* file */, m_warningOrError.cap(2).toInt() /* line */,
|
||||
QDir::fromNativeSeparators(m_warningOrError.cap(1)) /* file */,
|
||||
m_warningOrError.cap(2).toInt() /* line */,
|
||||
TASK_CATEGORY_COMPILE);
|
||||
if (m_warningOrError.cap(4) == "Warning")
|
||||
m_task->type = Task::Warning;
|
||||
|
||||
@@ -65,7 +65,7 @@ void SbsV2Parser::stdOutput(const QString &line)
|
||||
{
|
||||
// Eat most output!
|
||||
if (line.startsWith(QLatin1String("sbs: build log in "))) {
|
||||
QString logfile = line.mid(18).trimmed();
|
||||
QString logfile = QDir::fromNativeSeparators(line.mid(18).trimmed());
|
||||
parseLogFile(logfile);
|
||||
addTask(ProjectExplorer::Task(Task::Unknown, tr("SBSv2 build log"),
|
||||
logfile, -1,
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/taskwindow.h>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
|
||||
using namespace Qt4ProjectManager;
|
||||
using namespace ProjectExplorer;
|
||||
using namespace ProjectExplorer::Constants;
|
||||
@@ -54,7 +56,7 @@ 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 */,
|
||||
QDir::fromNativeSeparators(m_compilerProblem.cap(1)) /* filename */,
|
||||
m_compilerProblem.cap(2).toInt() /* linenumber */,
|
||||
TASK_CATEGORY_COMPILE);
|
||||
if (task.description.startsWith(QLatin1String("warning: "))) {
|
||||
@@ -74,7 +76,7 @@ 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 */,
|
||||
QDir::fromNativeSeparators(m_linkerProblem.cap(1)) /* filename */,
|
||||
-1 /* linenumber */,
|
||||
TASK_CATEGORY_COMPILE));
|
||||
return;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <projectexplorer/task.h>
|
||||
#include <projectexplorer/taskhub.h>
|
||||
|
||||
#include <QtCore/QDir>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QtPlugin>
|
||||
|
||||
@@ -105,6 +106,7 @@ public:
|
||||
description = chunks.at(3);
|
||||
}
|
||||
if (!file.isEmpty()) {
|
||||
file = QDir::fromNativeSeparators(file);
|
||||
QFileInfo fi(file);
|
||||
if (fi.isRelative() && context) {
|
||||
QString fullPath = context->projectDirectory() + '/' + file;
|
||||
|
||||
Reference in New Issue
Block a user