2017-07-03 09:33:28 +02:00
|
|
|
/*!
|
2018-03-28 15:10:51 +02:00
|
|
|
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
|
2017-07-03 09:33:28 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "HistoryModelSearchFilter.h"
|
|
|
|
|
|
|
|
#include "HistoryModel.h"
|
|
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
using namespace governikus;
|
|
|
|
|
|
|
|
|
|
|
|
bool HistoryModelSearchFilter::filterAcceptsRow(int pSourceRow, const QModelIndex&) const
|
|
|
|
{
|
|
|
|
if (mFilterString.isEmpty())
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
const HistoryModel* const dataSourceModel = qobject_cast<HistoryModel*>(sourceModel());
|
|
|
|
if (dataSourceModel == nullptr)
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
const QModelIndex& modelIndex = dataSourceModel->index(pSourceRow, 0);
|
2017-12-20 14:54:05 +01:00
|
|
|
if (dataSourceModel->data(modelIndex, HistoryModel::DATETIME).toDateTime().toString(tr("dd.MM.yyyy")).contains(mFilterString, Qt::CaseInsensitive)
|
2017-07-03 09:33:28 +02:00
|
|
|
|| dataSourceModel->data(modelIndex, HistoryModel::SUBJECT).toString().contains(mFilterString, Qt::CaseInsensitive)
|
|
|
|
|| dataSourceModel->data(modelIndex, HistoryModel::PURPOSE).toString().contains(mFilterString, Qt::CaseInsensitive)
|
|
|
|
|| dataSourceModel->data(modelIndex, HistoryModel::REQUESTEDDATA).toString().contains(mFilterString, Qt::CaseInsensitive))
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void governikus::HistoryModelSearchFilter::setFilterString(const QString& pFilterString)
|
|
|
|
{
|
|
|
|
mFilterString = pFilterString;
|
|
|
|
invalidateFilter();
|
|
|
|
}
|