File indexing completed on 2024-05-12 16:23:39
0001 /** 0002 * SPDX-FileCopyrightText: 2020 Tobias Fella <fella@posteo.de> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractListModel> 0010 #include <QHash> 0011 #include <QSqlTableModel> 0012 #include <QUrl> 0013 0014 #include "feed.h" 0015 0016 class FeedsModel : public QAbstractListModel 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 explicit FeedsModel(QObject *parent = nullptr); 0022 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0023 QHash<int, QByteArray> roleNames() const override; 0024 int rowCount(const QModelIndex &parent) const override; 0025 Q_INVOKABLE void removeFeed(const QString &url); 0026 Q_INVOKABLE void refreshAll(); 0027 0028 private: 0029 void loadFeed(int index) const; 0030 0031 mutable QVector<Feed *> m_feeds; 0032 };