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