forked from qt-creator/qt-creator
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:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -446,10 +446,13 @@ 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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user