File indexing completed on 2025-11-16 04:46:31
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 <QQmlEngine> 0010 #include <QSortFilterProxyModel> 0011 0012 /** 0013 * @brief Filters and sorts FeedsModel 0014 * 0015 */ 0016 class FeedsProxyModel : public QSortFilterProxyModel 0017 { 0018 Q_OBJECT 0019 QML_ELEMENT 0020 0021 Q_PROPERTY(QString groupName READ groupName WRITE setGroupName NOTIFY groupNameChanged) 0022 0023 public: 0024 explicit FeedsProxyModel(QObject *parent = nullptr); 0025 ~FeedsProxyModel() override; 0026 0027 bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; 0028 bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override; 0029 0030 QString groupName() const; 0031 void setGroupName(const QString &name); 0032 0033 Q_SIGNALS: 0034 void groupNameChanged(); 0035 0036 private: 0037 QString m_group_name; 0038 };