qtutilities/settingsdialog/optioncategoryfiltermodel.cpp

33 lines
942 B
C++
Raw Normal View History

2015-09-06 20:19:21 +02:00
#include "./optioncategoryfiltermodel.h"
#include "./optioncategory.h"
2017-05-01 03:16:25 +02:00
#include "./optioncategorymodel.h"
2015-04-22 18:57:44 +02:00
namespace Dialogs {
/*!
* \class Dialogs::OptionCategoryFilterModel
2017-05-04 22:46:37 +02:00
* \brief The OptionCategoryFilterModel class is used by SettingsDialog to
* filter option categories.
2015-04-22 18:57:44 +02:00
*/
/*!
* \brief Constructs an option category filter model.
*/
2017-05-01 03:16:25 +02:00
OptionCategoryFilterModel::OptionCategoryFilterModel(QObject *parent)
: QSortFilterProxyModel(parent)
{
}
2015-04-22 18:57:44 +02:00
bool OptionCategoryFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
{
if (QSortFilterProxyModel::filterAcceptsRow(sourceRow, sourceParent))
2017-05-01 03:16:25 +02:00
return true;
if (OptionCategoryModel *model = qobject_cast<OptionCategoryModel *>(sourceModel())) {
if (OptionCategory *category = model->category(sourceRow)) {
2015-04-22 18:57:44 +02:00
return category->matches(filterRegExp().pattern());
}
}
return false;
}
} // namespace Dialogs