File indexing completed on 2024-05-19 03:59:01

0001 /*
0002     SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen <admin@leinir.dk>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef KNSRCMODEL_H
0008 #define KNSRCMODEL_H
0009 
0010 #include <QAbstractListModel>
0011 #include <QUrl>
0012 
0013 class KNSRCModel : public QAbstractListModel
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit KNSRCModel(QObject *parent = nullptr);
0018     ~KNSRCModel() override;
0019 
0020     enum Roles {
0021         NameRole = Qt::UserRole + 1,
0022         FilePathRole,
0023     };
0024 
0025     QHash<int, QByteArray> roleNames() const override;
0026     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0027     int rowCount(const QModelIndex &parent = QModelIndex()) const override;
0028 
0029 private:
0030     struct Entry {
0031         QString name;
0032         QString filePath;
0033     };
0034     QList<Entry *> m_entries;
0035 };
0036 
0037 #endif // KNSRCMODEL_H