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 };