From 50ab71bbdcd9c4bbef85345b37353dd6104447f1 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen <erik.verbruggen@nokia.com> Date: Mon, 18 Oct 2010 12:39:02 +0200 Subject: [PATCH] QML: use Qt4 output formatter to get links in errors to work. Reviewed-by: Tobias Hunger --- .../qmlprojectrunconfiguration.cpp | 5 +++++ .../qmlprojectrunconfiguration.h | 2 ++ .../qt4projectmanager/qtoutputformatter.cpp | 4 ++-- .../qt4projectmanager/qtoutputformatter.h | 21 ++++++++++++------- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 7c270fc5a92..bb8c8db76c8 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -46,6 +46,7 @@ #include <qt4projectmanager/qtversionmanager.h> #include <qt4projectmanager/qt4projectmanagerconstants.h> #include <qt4projectmanager/qmlobservertool.h> +#include <qt4projectmanager/qtoutputformatter.h> #include <QFormLayout> #include <QComboBox> @@ -258,6 +259,10 @@ QWidget *QmlProjectRunConfiguration::createConfigurationWidget() return detailsWidget; } +ProjectExplorer::OutputFormatter *QmlProjectRunConfiguration::createOutputFormatter() const +{ + return new Qt4ProjectManager::QtOutputFormatter(qmlTarget()->qmlProject()); +} QString QmlProjectRunConfiguration::mainScript() const { diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h index 9b231f430c5..5942a76c0a8 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h @@ -83,6 +83,8 @@ public: // RunConfiguration virtual QWidget *createConfigurationWidget(); + ProjectExplorer::OutputFormatter *createOutputFormatter() const; + QVariantMap toMap() const; public slots: diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.cpp b/src/plugins/qt4projectmanager/qtoutputformatter.cpp index bffae06e0b9..176c29da7dd 100644 --- a/src/plugins/qt4projectmanager/qtoutputformatter.cpp +++ b/src/plugins/qt4projectmanager/qtoutputformatter.cpp @@ -39,7 +39,7 @@ using namespace ProjectExplorer; using namespace Qt4ProjectManager; -QtOutputFormatter::QtOutputFormatter(Qt4Project *project) +QtOutputFormatter::QtOutputFormatter(ProjectExplorer::Project *project) : OutputFormatter() , m_qmlError(QLatin1String("(file:///.+:\\d+:\\d+):")) , m_qtError(QLatin1String("Object::.*in (.*:\\d+)")) @@ -210,7 +210,7 @@ void QtOutputFormatter::handleLink(const QString &href) QFileInfo fi(fileName); if (fi.isRelative()) { // Yeah fileName is relative, no suprise - Qt4Project *pro = m_project.data(); + ProjectExplorer::Project *pro = m_project.data(); if (pro) { QString baseName = fi.fileName(); foreach (const QString &file, pro->files(Project::AllFiles)) { diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.h b/src/plugins/qt4projectmanager/qtoutputformatter.h index 9adda9f6c57..ba4709e49d0 100644 --- a/src/plugins/qt4projectmanager/qtoutputformatter.h +++ b/src/plugins/qt4projectmanager/qtoutputformatter.h @@ -27,17 +27,22 @@ ** **************************************************************************/ -#ifndef QMLOUTPUTFORMATTER_H -#define QMLOUTPUTFORMATTER_H +#ifndef QTOUTPUTFORMATTER_H +#define QTOUTPUTFORMATTER_H + +#include "qt4projectmanager_global.h" #include <projectexplorer/outputformatter.h> #include <QtCore/QRegExp> #include <QtCore/QSharedPointer> #include <QtGui/QTextCharFormat> +namespace ProjectExplorer { +class Project; +} // namespace ProjectExplorer + namespace Qt4ProjectManager { -class Qt4Project; struct LinkResult { @@ -46,10 +51,10 @@ struct LinkResult QString href; }; -class QtOutputFormatter: public ProjectExplorer::OutputFormatter +class QT4PROJECTMANAGER_EXPORT QtOutputFormatter: public ProjectExplorer::OutputFormatter { public: - QtOutputFormatter(Qt4Project *project); + QtOutputFormatter(ProjectExplorer::Project *project); virtual void appendApplicationOutput(const QString &text, bool onStdErr); @@ -63,13 +68,13 @@ private: QRegExp m_qtError; QRegExp m_qtAssert; QRegExp m_qtTestFail; - QWeakPointer<Qt4Project> m_project; + QWeakPointer<ProjectExplorer::Project> m_project; QTextCharFormat m_linkFormat; QString m_lastLine; QString m_deferedText; }; -} // namespace QmlProjectManager +} // namespace Qt4ProjectManager -#endif // QMLOUTPUTFORMATTER_H +#endif // QTOUTPUTFORMATTER_H -- GitLab