File indexing completed on 2024-05-05 16:58:39

0001 // SPDX-FileCopyrightText: 2021 Nicolas Fella <nicolas.fella@gmx.de>
0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0003 
0004 #pragma once
0005 
0006 #include <QSortFilterProxyModel>
0007 
0008 /**
0009  * @class MessageFilterModel
0010  *
0011  * This model filters out any messages that should be hidden.
0012  *
0013  * Deleted messages are only hidden if the user hasn't set them to be shown.
0014  */
0015 class MessageFilterModel : public QSortFilterProxyModel
0016 {
0017     Q_OBJECT
0018 public:
0019     explicit MessageFilterModel(QObject *parent = nullptr);
0020 
0021     /**
0022      * @brief Custom filter function to remove hidden messages.
0023      */
0024     bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
0025 };