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

0001 // SPDX-FileCopyrightText: 2020 Jonah BrĂ¼chert <jbb@kaidan.im>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 #pragma once
0006 
0007 #include <QAbstractItemModel>
0008 
0009 class DownloadsModel : public QAbstractListModel
0010 {
0011     Q_OBJECT
0012 
0013     enum Role {
0014         UrlRole,
0015         FileNameRole,
0016         DownloadRole,
0017         MimeTypeIconRole,
0018         DownloadedFilePathRole,
0019     };
0020 
0021 public:
0022     explicit DownloadsModel(QObject *parent = nullptr);
0023 
0024     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0025     int rowCount(const QModelIndex &parent = {}) const override;
0026     QHash<int, QByteArray> roleNames() const override;
0027 
0028     Q_INVOKABLE void removeDownload(const int index);
0029 };