AusweisApp2/src/qml/HistoryModelSearchFilter.cpp

45 lines
1.2 KiB
C++
Raw Normal View History

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();
}