Clang: Do not flash issues pane when switching editor

Previously, when swichting to a file with errors, the Issues pane button
would flash.

Stop this for the clang code model issues as it is rather annoying since
the issues pane is updated for the current document.

Change-Id: I403a8b8cd0deef586c53769d0b646855a7fc9278
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Nikolai Kosjar
2018-05-09 16:02:02 +02:00
parent 6afd9ecaf3
commit 20d2d76824
5 changed files with 18 additions and 8 deletions

View File

@@ -353,7 +353,7 @@ static void addTask(const ClangBackEnd::DiagnosticContainer &diagnostic, bool is
diagnostic.location.line, diagnostic.location.line,
Constants::TASK_CATEGORY_DIAGNOSTICS, Constants::TASK_CATEGORY_DIAGNOSTICS,
icon, icon,
/*addTextMark =*/ false)); Task::NoOptions));
} }
void ClangDiagnosticManager::clearTaskHubIssues() void ClangDiagnosticManager::clearTaskHubIssues()

View File

@@ -61,8 +61,8 @@ unsigned int Task::s_nextId = 1;
Task::Task(TaskType type_, const QString &description_, Task::Task(TaskType type_, const QString &description_,
const Utils::FileName &file_, int line_, Core::Id category_, const Utils::FileName &file_, int line_, Core::Id category_,
const QIcon &icon, bool addTextMark) : const QIcon &icon, Options options) :
taskId(s_nextId), type(type_), addTextMark(addTextMark), description(description_), taskId(s_nextId), type(type_), options(options), description(description_),
file(file_), line(line_), movedLine(line_), category(category_), file(file_), line(line_), movedLine(line_), category(category_),
icon(icon.isNull() ? taskTypeIcon(type_) : icon) icon(icon.isNull() ? taskTypeIcon(type_) : icon)
{ {

View File

@@ -52,11 +52,18 @@ public:
Warning Warning
}; };
enum Option : char {
NoOptions = 0,
AddTextMark = 1 << 0,
FlashWorthy = 1 << 1,
};
using Options = char;
Task() = default; Task() = default;
Task(TaskType type, const QString &description, Task(TaskType type, const QString &description,
const Utils::FileName &file, int line, Core::Id category, const Utils::FileName &file, int line, Core::Id category,
const QIcon &icon = QIcon(), const QIcon &icon = QIcon(),
bool addTextMark = true); Options options = AddTextMark | FlashWorthy);
static Task compilerMissingTask(); static Task compilerMissingTask();
static Task buildConfigurationMissingTask(); static Task buildConfigurationMissingTask();
@@ -66,7 +73,7 @@ public:
unsigned int taskId = 0; unsigned int taskId = 0;
TaskType type = Unknown; TaskType type = Unknown;
bool addTextMark = true; Options options = AddTextMark | FlashWorthy;
QString description; QString description;
Utils::FileName file; Utils::FileName file;
int line = -1; int line = -1;

View File

@@ -154,7 +154,7 @@ void TaskHub::addTask(Task task)
task.line = -1; task.line = -1;
task.movedLine = task.line; task.movedLine = task.line;
if (task.addTextMark && task.line != -1) if ((task.options & Task::AddTextMark) && task.line != -1)
task.setMark(new TaskMark(task)); task.setMark(new TaskMark(task));
emit m_instance->taskAdded(task); emit m_instance->taskAdded(task);
} }

View File

@@ -446,9 +446,12 @@ void TaskWindow::addTask(const Task &task)
emit tasksChanged(); emit tasksChanged();
navigateStateChanged(); navigateStateChanged();
if (task.type == Task::Error && d->m_filter->filterIncludesErrors() if ((task.options & Task::FlashWorthy)
&& !d->m_filter->filteredCategories().contains(task.category)) && task.type == Task::Error
&& d->m_filter->filterIncludesErrors()
&& !d->m_filter->filteredCategories().contains(task.category)) {
flash(); flash();
}
} }
void TaskWindow::removeTask(const Task &task) void TaskWindow::removeTask(const Task &task)