aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbslogsink.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbslogsink.cpp')
-rw-r--r--src/plugins/qbsprojectmanager/qbslogsink.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/qbsprojectmanager/qbslogsink.cpp b/src/plugins/qbsprojectmanager/qbslogsink.cpp
index 03cfe0fdf6..624f513917 100644
--- a/src/plugins/qbsprojectmanager/qbslogsink.cpp
+++ b/src/plugins/qbsprojectmanager/qbslogsink.cpp
@@ -32,6 +32,9 @@
#include <qbs.h>
#include <coreplugin/messagemanager.h>
+#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/taskhub.h>
+#include <utils/fileutils.h>
#include <QCoreApplication>
#include <QMutexLocker>
@@ -46,6 +49,9 @@ namespace Internal {
QbsLogSink::QbsLogSink(QObject *parent) : QObject(parent)
{
+ ProjectExplorer::TaskHub *hub = ProjectExplorer::ProjectExplorerPlugin::instance()->taskHub();
+ connect(this, SIGNAL(newTask(ProjectExplorer::Task)),
+ hub, SLOT(addTask(ProjectExplorer::Task)), Qt::QueuedConnection);
}
void QbsLogSink::sendMessages()
@@ -62,6 +68,16 @@ void QbsLogSink::sendMessages()
mm->printToOutputPane(msg);
}
+void QbsLogSink::doPrintWarning(const qbs::Error &warning)
+{
+ foreach (const qbs::ErrorData &data, warning.entries())
+ emit newTask(ProjectExplorer::Task(ProjectExplorer::Task::Warning,
+ data.description(),
+ Utils::FileName::fromString(data.codeLocation().fileName()),
+ data.codeLocation().line(),
+ ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+}
+
void QbsLogSink::doPrintMessage(qbs::LoggerLevel level, const QString &message, const QString &tag)
{
Q_UNUSED(tag);