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