File indexing completed on 2024-05-19 05:06:58

0001 /*
0002     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0003     SPDX-FileCopyrightText: 2019 Thomas Baumgart <tbaumgart@kde.org>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "securitiesfilterproxymodel.h"
0008 
0009 // ----------------------------------------------------------------------------
0010 // QT Includes
0011 
0012 // ----------------------------------------------------------------------------
0013 // KDE Includes
0014 
0015 // ----------------------------------------------------------------------------
0016 // Project Includes
0017 
0018 class SecuritiesFilterProxyModel::Private
0019 {
0020 public:
0021     Private()
0022     {
0023     }
0024 
0025     ~Private() {}
0026 
0027 };
0028 
0029 SecuritiesFilterProxyModel::SecuritiesFilterProxyModel(QObject *parent, SecuritiesModel *model)
0030     : QSortFilterProxyModel(parent), d(new Private)
0031 {
0032     setRecursiveFilteringEnabled(true);
0033     setDynamicSortFilter(true);
0034     setFilterKeyColumn(-1);
0035     setSortLocaleAware(true);
0036     setFilterCaseSensitivity(Qt::CaseInsensitive);
0037     setSourceModel(model);
0038 }
0039 
0040 #undef QSortFilterProxyModel
0041 
0042 SecuritiesFilterProxyModel::~SecuritiesFilterProxyModel()
0043 {
0044     delete d;
0045 }
0046 
0047 bool SecuritiesFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const
0048 {
0049     const QModelIndex idx = sourceModel()->index(source_row, 0, source_parent);
0050     return !sourceModel()->data(idx, eMyMoney::Model::Roles::IdRole).toString().isEmpty();
0051 }