git repos / SagoImageBrowser

imagemodel.h

browsing at commit = 032aa1e161c4fd5d6a7554d65109e9a069648a17

raw · blame · history

#pragma once

#include <QAbstractListModel>
#include <QPixmap>
#include <QVector>

class ImageModel : public QAbstractListModel
{
    Q_OBJECT

public:
    explicit ImageModel(QObject *parent = nullptr);

    void setDirectory(const QString &path);
    QString filePath(const QModelIndex &index) const;

    int rowCount(const QModelIndex &parent = QModelIndex()) const override;
    QVariant data(const QModelIndex &index, int role) const override;

private:
    struct Item
    {
        QString path;
        QPixmap thumbnail;
    };

    QVector<Item> m_items;
};