void Menu::mouseReleaseEvent(QMouseEvent *event)
{
    QAction *action = actionAt(event->pos());

    if (action && action->data().type() == QVariant::ULongLong)
    {
        TaskManager::TaskPtr taskPointer = TaskManager::TaskManager::self()->findTask(action->data().toULongLong());

        if (taskPointer)
        {
            TaskManager::GroupManager *groupManager = new TaskManager::GroupManager(this);
            Task *task = new Task(new TaskManager::TaskItem(groupManager, taskPointer), groupManager);

            if (event->button() == Qt::LeftButton)
            {
                task->activate();
            }
            else if (event->button() == Qt::MidButton)
            {
                task->close();
            }

            delete task;
            delete groupManager;
        }
    }

    KMenu::mouseReleaseEvent(event);
}