예제 #1
0
void EventsUpdater::setDay(const QDate &date)
{
    m_startTime = QDateTime(date, QTime(0, 0));
    m_endTime = QDateTime(date, QTime(23, 59, 59, 999));

    updateServers();
}
예제 #2
0
void EventsModel::setFilterDates(const QDateTime &begin, const QDateTime &end)
{
    m_filter.dateBegin = begin;
    m_filter.dateEnd = end;

    beginResetModel();
    items.clear();
    updateServers();
    endResetModel();
}
EventsUpdater::EventsUpdater(DVRServerRepository *serverRepository, QObject *parent) :
        QObject(parent), m_serverRepository(serverRepository), m_limit(-1)
{
    Q_ASSERT(m_serverRepository);

    connect(m_serverRepository, SIGNAL(serverAdded(DVRServer*)), SLOT(serverAdded(DVRServer*)));
    connect(&m_updateTimer, SIGNAL(timeout()), SLOT(updateServers()));

    foreach (DVRServer *s, m_serverRepository->servers())
        serverAdded(s);
}
예제 #4
0
EventsModel::EventsModel(DVRServerRepository *serverRepository, QObject *parent)
    : QAbstractItemModel(parent), m_serverRepository(serverRepository), serverEventsLimit(-1), incompleteEventsFirst(false)
{
    Q_ASSERT(m_serverRepository);

    connect(m_serverRepository, SIGNAL(serverAdded(DVRServer*)), SLOT(serverAdded(DVRServer*)));
    connect(m_serverRepository, SIGNAL(serverRemoved(DVRServer*)), SLOT(clearServerEvents(DVRServer*)));
    connect(&updateTimer, SIGNAL(timeout()), SLOT(updateServers()));

    //createTestData();

    sortColumn = DateColumn;
    sortOrder = Qt::DescendingOrder;
    applyFilters();

    foreach (DVRServer *s, m_serverRepository->servers())
        serverAdded(s);
}
예제 #5
0
void EventsModel::clearFilters()
{
    if (m_filter.sources.isEmpty() && m_filter.dateBegin.isNull() && m_filter.dateEnd.isNull() &&
        m_filter.types.isNull() && m_filter.level == EventLevel::Info)
        return;

    bool reload = !m_filter.dateBegin.isNull() || !m_filter.dateEnd.isNull();

    m_filter.sources.clear();
    m_filter.dateBegin = m_filter.dateEnd = QDateTime();
    m_filter.types.clear();
    m_filter.level = EventLevel::Info;

    if (reload)
    {
        beginResetModel();
        items.clear();
        updateServers();
        endResetModel();
    } else
        applyFilters();
}