/** * SPDX-FileCopyrightText: 2020 Tobias Fella * SPDX-FileCopyrightText: 2021 Bart De Vries * * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL */ #pragma once #include #include #include #include #include #include "feed.h" class FeedsModel : public QAbstractListModel { Q_OBJECT QML_ELEMENT QML_UNCREATABLE("") public: enum Roles { FeedRole = Qt::UserRole, UrlRole, TitleRole, UnreadCountRole, NewCountRole, FavoriteCountRole, }; Q_ENUM(Roles) explicit FeedsModel(QObject *parent = nullptr); QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; QHash roleNames() const override; int rowCount(const QModelIndex &parent) const override; private: void triggerFeedUpdate(const QString &url); };