Commit dd62bcc8 authored by Tobias Hunger's avatar Tobias Hunger
Browse files

Task: Make sure file contains non-native separators

parent cda261db
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment