Пример #1
0
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);
}
Пример #2
0
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);
    }
}
Пример #3
0
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);
}
Пример #4
0
void TodoOutputPane::updateTodoCount()
{
    setBadgeNumber(m_todoItemsModel->rowCount());
}