From a1e33602363a8f94746a249b97731e5bfaa51b84 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 12 Apr 2018 17:15:40 +0200 Subject: [PATCH] ProjectExplorer: Allow to add Tasks without TextMarks This is needed for the Clang Code Model that will also put the diagnostics into the issues pane. Because the Clang Code Model sets its own TextMarks, duplications are avoided. Change-Id: I668a271096cbcad44f03ad49c007ca1a18abc53c Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/task.cpp | 4 ++-- src/plugins/projectexplorer/task.h | 6 ++++-- src/plugins/projectexplorer/taskhub.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/plugins/projectexplorer/task.cpp b/src/plugins/projectexplorer/task.cpp index 0b34cec14cc..1fe6ed84092 100644 --- a/src/plugins/projectexplorer/task.cpp +++ b/src/plugins/projectexplorer/task.cpp @@ -57,8 +57,8 @@ unsigned int Task::s_nextId = 1; Task::Task(TaskType type_, const QString &description_, const Utils::FileName &file_, int line_, Core::Id category_, - const Utils::FileName &iconFile) : - taskId(s_nextId), type(type_), description(description_), + const Utils::FileName &iconFile, bool addTextMark) : + taskId(s_nextId), type(type_), addTextMark(addTextMark), description(description_), file(file_), line(line_), movedLine(line_), category(category_), icon(iconFile.isEmpty() ? taskTypeIcon(type_) : QIcon(iconFile.toString())) { diff --git a/src/plugins/projectexplorer/task.h b/src/plugins/projectexplorer/task.h index d8b72ba5d97..e8230e799d7 100644 --- a/src/plugins/projectexplorer/task.h +++ b/src/plugins/projectexplorer/task.h @@ -46,7 +46,7 @@ class TaskHub; class PROJECTEXPLORER_EXPORT Task { public: - enum TaskType { + enum TaskType : char { Unknown, Error, Warning @@ -55,7 +55,8 @@ public: Task() = default; Task(TaskType type, const QString &description, const Utils::FileName &file, int line, Core::Id category, - const Utils::FileName &iconName = Utils::FileName()); + const Utils::FileName &iconName = Utils::FileName(), + bool addTextMark = true); static Task compilerMissingTask(); static Task buildConfigurationMissingTask(); @@ -65,6 +66,7 @@ public: unsigned int taskId = 0; TaskType type = Unknown; + bool addTextMark = true; QString description; Utils::FileName file; int line = -1; diff --git a/src/plugins/projectexplorer/taskhub.cpp b/src/plugins/projectexplorer/taskhub.cpp index fe29a4ca60c..d56c275a581 100644 --- a/src/plugins/projectexplorer/taskhub.cpp +++ b/src/plugins/projectexplorer/taskhub.cpp @@ -152,7 +152,7 @@ void TaskHub::addTask(Task task) task.line = -1; task.movedLine = task.line; - if (task.line != -1) + if (task.addTextMark && task.line != -1) task.setMark(new TaskMark(task)); emit m_instance->taskAdded(task); }