File indexing completed on 2024-05-12 05:50:08
0001 /* 0002 SPDX-FileCopyrightText: 2022 Jiří Wolker <woljiri@gmail.com> 0003 SPDX-FileCopyrightText: 2022 Eugene Popov <popov895@ukr.net> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef RECENTFILESMODEL_H 0009 #define RECENTFILESMODEL_H 0010 0011 #include <QAbstractListModel> 0012 #include <QIcon> 0013 #include <QUrl> 0014 0015 class RecentFilesModel : public QAbstractListModel 0016 { 0017 Q_OBJECT 0018 0019 public: 0020 explicit RecentFilesModel(QObject *parent = nullptr); 0021 0022 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0023 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0024 0025 void refresh(const QList<QUrl> &urls); 0026 QUrl url(const QModelIndex &index) const; 0027 0028 private: 0029 struct RecentFileInfo { 0030 QIcon icon; 0031 QString name; 0032 QUrl url; 0033 }; 0034 0035 QVector<RecentFileInfo> m_recentFiles; 0036 }; 0037 0038 #endif // RECENTFILESMODEL_H