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 }