void TaskWindow::setCategoryVisibility(const Core::Id &categoryId, bool visible) { if (categoryId.uniqueIdentifier() == 0) return; QList<Core::Id> categories = d->m_filter->filteredCategories(); if (visible) { categories.removeOne(categoryId); } else { categories.append(categoryId); } d->m_filter->setFilteredCategories(categories); int count = 0; if (d->m_filter->filterIncludesErrors()) count += d->m_model->errorTaskCount(categoryId); if (d->m_filter->filterIncludesWarnings()) count += d->m_model->warningTaskCount(categoryId); if (visible) d->m_badgeCount += count; else d->m_badgeCount -= count; setBadgeNumber(d->m_badgeCount); }
void TaskWindow::removeTask(const Task &task) { d->m_model->removeTask(task); emit tasksChanged(); navigateStateChanged(); if (task.type == Task::Error && d->m_filter->filterIncludesErrors() && !d->m_filter->filteredCategories().contains(task.category)) { setBadgeNumber(--d->m_badgeCount); } if (task.type == Task::Warning && d->m_filter->filterIncludesWarnings() && !d->m_filter->filteredCategories().contains(task.category)) { setBadgeNumber(--d->m_badgeCount); } if (task.type == Task::Unknown && d->m_filter->filterIncludesUnknowns() && !d->m_filter->filteredCategories().contains(task.category)) { setBadgeNumber(--d->m_badgeCount); } }
void TaskWindow::clearTasks(const Core::Id &categoryId) { if (categoryId.uniqueIdentifier() != 0 && !d->m_filter->filteredCategories().contains(categoryId)) { if (d->m_filter->filterIncludesErrors()) d->m_badgeCount -= d->m_model->errorTaskCount(categoryId); if (d->m_filter->filterIncludesWarnings()) d->m_badgeCount -= d->m_model->warningTaskCount(categoryId); if (d->m_filter->filterIncludesUnknowns()) d->m_badgeCount -= d->m_model->unknownTaskCount(categoryId); } else { d->m_badgeCount = 0; } d->m_model->clearTasks(categoryId); emit tasksChanged(); emit tasksCleared(); navigateStateChanged(); setBadgeNumber(d->m_badgeCount); }
void TodoOutputPane::updateTodoCount() { setBadgeNumber(m_todoItemsModel->rowCount()); }