File indexing completed on 2024-05-12 16:23:39

0001 /*
0002  * SPDX-FileCopyrightText: 2021 Dimitris Kardarakos <dimkard@posteo.net>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QSortFilterProxyModel>
0010 
0011 /**
0012  * @brief Filters and sorts FeedsModel
0013  *
0014  */
0015 class FeedsProxyModel : public QSortFilterProxyModel
0016 {
0017     Q_OBJECT
0018 
0019     Q_PROPERTY(QString groupName READ groupName WRITE setGroupName NOTIFY groupNameChanged)
0020 
0021 public:
0022     explicit FeedsProxyModel(QObject *parent = nullptr);
0023     ~FeedsProxyModel() override;
0024 
0025     bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
0026     bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override;
0027 
0028     QString groupName() const;
0029     void setGroupName(const QString &name);
0030 
0031 Q_SIGNALS:
0032     void groupNameChanged();
0033 
0034 private:
0035     QString m_group_name;
0036 };