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,
Constants::TASK_CATEGORY_DIAGNOSTICS,
icon,
/*addTextMark =*/ false));
Task::NoOptions));
}
void ClangDiagnosticManager::clearTaskHubIssues()

View File

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

View File

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

View File

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

View File

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