1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /****************************************************************************
- ** Artriculate: Art comes tumbling down
- ** Copyright (C) 2016 Chaos Reins
- **
- ** This program is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU General Public License as published by
- ** the Free Software Foundation, either version 3 of the License, or
- ** (at your option) any later version.
- **
- ** This program is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ** GNU General Public License for more details.
- **
- ** You should have received a copy of the GNU General Public License
- ** along with this program. If not, see <http://www.gnu.org/licenses/>.
- ****************************************************************************/
- #ifndef PICTUREMODEL_H
- #define PICTUREMODEL_H
- #include <QAbstractListModel>
- #include <QUrl>
- class PictureModel : public QAbstractListModel
- {
- Q_OBJECT
- Q_PROPERTY (int count READ rowCount NOTIFY countChanged)
- public:
- enum PictureRoles {
- PathRole = Qt::UserRole + 1
- };
- PictureModel(QObject *parent = nullptr);
- ~PictureModel();
- int rowCount(const QModelIndex & parent = QModelIndex()) const;
- Q_INVOKABLE QUrl randomPicture() const;
- QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
- signals:
- void countChanged();
- protected:
- QHash<int, QByteArray> roleNames() const;
- private:
- class PictureModelPrivate;
- PictureModelPrivate *d;
- };
- #endif // PICTUREMODEL_H
|