File indexing completed on 2024-04-28 15:35:51

0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include <QAbstractListModel>
0005 #include <QSqlTableModel>
0006 #include <qobject.h>
0007 
0008 class LibraryModel : public QSqlTableModel
0009 {
0010     Q_OBJECT
0011 
0012 public:
0013     enum ColorRoles {
0014         IdRole = Qt::UserRole + 1,
0015         AuthorRole,
0016         FileNameRole,
0017         TitleRole,
0018     };
0019     explicit LibraryModel(QObject *parent = nullptr);
0020 
0021     QHash<int, QByteArray> roleNames() const override;
0022     QVariant data(const QModelIndex &index, int role) const override;
0023 
0024     Q_INVOKABLE bool addBook(const QString &fileName);
0025 };