diff --git a/src/plugins/projectexplorer/buildprogress.cpp b/src/plugins/projectexplorer/buildprogress.cpp index ee4534544f2f6ff0342898211e9a4584171980ec..651d6e3e97f44fb6101893037ddb2aae6952c1eb 100644 --- a/src/plugins/projectexplorer/buildprogress.cpp +++ b/src/plugins/projectexplorer/buildprogress.cpp @@ -93,7 +93,7 @@ void BuildProgress::updateState() m_errorIcon->setEnabled(haveErrors); m_errorLabel->setEnabled(haveErrors); m_errorLabel->setText(QString("%1").arg(errors)); - int warnings = m_taskWindow->taskCount()-errors; + int warnings = m_taskWindow->warningTaskCount(); bool haveWarnings = (warnings > 0); m_warningIcon->setEnabled(haveWarnings); m_warningLabel->setEnabled(haveWarnings); diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 2d7cf1b63bb5f39eb44a4e961a57d1b478d3c9a0..2888f076701de883435d9d40aa06580413028159 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -109,6 +109,7 @@ public: int taskCount(); int errorTaskCount(); + int warningTaskCount(); bool hasFile(const QModelIndex &index) const; @@ -124,6 +125,7 @@ private: const QIcon m_warningIcon; int m_taskCount; int m_errorTaskCount; + int m_warningTaskCount; int m_sizeOfLineNumber; QString m_lineMeasurementFont; }; @@ -292,6 +294,7 @@ TaskModel::TaskModel() : m_warningIcon(QLatin1String(":/projectexplorer/images/compile_warning.png")), m_taskCount(0), m_errorTaskCount(0), + m_warningTaskCount(0), m_sizeOfLineNumber(0) { } @@ -306,6 +309,11 @@ int TaskModel::errorTaskCount() return m_errorTaskCount; } +int TaskModel::warningTaskCount() +{ + return m_warningTaskCount; +} + bool TaskModel::hasFile(const QModelIndex &index) const { int row = index.row(); @@ -362,6 +370,8 @@ void TaskModel::addTask(const Task &task) ++m_taskCount; if (task.type == Task::Error) ++m_errorTaskCount; + if (task.type == Task::Warning) + ++m_warningTaskCount; } void TaskModel::removeTask(const Task &task) @@ -373,6 +383,8 @@ void TaskModel::removeTask(const Task &task) --m_taskCount; if (task.type == Task::Error) --m_errorTaskCount; + if (task.type == Task::Warning) + --m_warningTaskCount; endRemoveRows(); } } @@ -387,12 +399,14 @@ void TaskModel::clearTasks(const QString &categoryId) m_tasksInCategory.clear(); m_taskCount = 0; m_errorTaskCount = 0; + m_warningTaskCount = 0; endRemoveRows(); m_maxSizeOfFileName = 0; } else { int index = 0; int start = 0; int subErrorTaskCount = 0; + int subWarningTaskCount = 0; while (index < m_tasks.size()) { while (index < m_tasks.size() && m_tasks.at(index).category != categoryId) { ++start; @@ -403,6 +417,8 @@ void TaskModel::clearTasks(const QString &categoryId) while (index < m_tasks.size() && m_tasks.at(index).category == categoryId) { if (m_tasks.at(index).type == Task::Error) ++subErrorTaskCount; + if (m_tasks.at(index).type == Task::Warning) + ++subWarningTaskCount; ++index; } // Index is now on the first non category @@ -416,6 +432,7 @@ void TaskModel::clearTasks(const QString &categoryId) m_taskCount -= index - start; m_errorTaskCount -= subErrorTaskCount; + m_warningTaskCount -= subWarningTaskCount; endRemoveRows(); index = start; @@ -853,6 +870,11 @@ int TaskWindow::errorTaskCount() const return d->m_model->errorTaskCount(); } +int TaskWindow::warningTaskCount() const +{ + return d->m_model->warningTaskCount(); +} + int TaskWindow::priorityInStatusBar() const { return 90; diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h index d215eb2a0c945e8294cbe8c86848544cd0c51d54..80c04cef8d0da911231ad75cec010b13d552d977 100644 --- a/src/plugins/projectexplorer/taskwindow.h +++ b/src/plugins/projectexplorer/taskwindow.h @@ -58,6 +58,7 @@ public: virtual ~TaskWindow(); int taskCount() const; + int warningTaskCount() const; int errorTaskCount() const; // IOutputPane