From 862637cc178bc11a4cea6a760ddc97ee1315b268 Mon Sep 17 00:00:00 2001 From: Alessandro Portale <alessandro.portale@nokia.com> Date: Thu, 5 Aug 2010 21:03:37 +0200 Subject: [PATCH] Fix qml application output "jump-to-qml-error" for Windows. Works on Windows now. Done with and reviewed by dt, so blame him if it is now broken on Unix. Done-with: dt --- src/plugins/qt4projectmanager/qtoutputformatter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.cpp b/src/plugins/qt4projectmanager/qtoutputformatter.cpp index 5f53407bf8b..ae2ecb1fabd 100644 --- a/src/plugins/qt4projectmanager/qtoutputformatter.cpp +++ b/src/plugins/qt4projectmanager/qtoutputformatter.cpp @@ -33,6 +33,7 @@ #include <qt4projectmanager/qt4project.h> #include <QtCore/QFileInfo> +#include <QtCore/QUrl> #include <QtGui/QPlainTextEdit> using namespace ProjectExplorer; @@ -40,7 +41,7 @@ using namespace Qt4ProjectManager; QtOutputFormatter::QtOutputFormatter(Qt4Project *project) : OutputFormatter() - , m_qmlError(QLatin1String("(file:///[^:]+:\\d+:\\d+):")) + , m_qmlError(QLatin1String("(file:///.+:\\d+:\\d+):")) , m_qtError(QLatin1String("Object::.*in (.*:\\d+)")) , m_project(project) @@ -149,10 +150,10 @@ void QtOutputFormatter::appendLine(LinkResult lr, const QString &line, bool onSt void QtOutputFormatter::handleLink(const QString &href) { if (!href.isEmpty()) { - QRegExp qmlErrorLink(QLatin1String("^file://(/[^:]+):(\\d+):(\\d+)")); + const QRegExp qmlErrorLink(QLatin1String("^(file:///.+):(\\d+):(\\d+)")); if (qmlErrorLink.indexIn(href) != -1) { - const QString fileName = qmlErrorLink.cap(1); + const QString fileName = QUrl(qmlErrorLink.cap(1)).toLocalFile(); const int line = qmlErrorLink.cap(2).toInt(); const int column = qmlErrorLink.cap(3).toInt(); TextEditor::BaseTextEditor::openEditorAt(fileName, line, column - 1); -- GitLab