git repos / SagoImageBrowser

blame: imagemodel.h

normal view · raw

032aa1e1 Poul Sander 2026-02-19 18:55 1
#pragma once
032aa1e1 Poul Sander 2026-02-19 18:55 2
032aa1e1 Poul Sander 2026-02-19 18:55 3
#include <QAbstractListModel>
032aa1e1 Poul Sander 2026-02-19 18:55 4
#include <QPixmap>
032aa1e1 Poul Sander 2026-02-19 18:55 5
#include <QVector>
032aa1e1 Poul Sander 2026-02-19 18:55 6
032aa1e1 Poul Sander 2026-02-19 18:55 7
class ImageModel : public QAbstractListModel
032aa1e1 Poul Sander 2026-02-19 18:55 8
{
032aa1e1 Poul Sander 2026-02-19 18:55 9
    Q_OBJECT
032aa1e1 Poul Sander 2026-02-19 18:55 10
032aa1e1 Poul Sander 2026-02-19 18:55 11
public:
032aa1e1 Poul Sander 2026-02-19 18:55 12
    explicit ImageModel(QObject *parent = nullptr);
032aa1e1 Poul Sander 2026-02-19 18:55 13
032aa1e1 Poul Sander 2026-02-19 18:55 14
    void setDirectory(const QString &path);
032aa1e1 Poul Sander 2026-02-19 18:55 15
    QString filePath(const QModelIndex &index) const;
032aa1e1 Poul Sander 2026-02-19 18:55 16
032aa1e1 Poul Sander 2026-02-19 18:55 17
    int rowCount(const QModelIndex &parent = QModelIndex()) const override;
032aa1e1 Poul Sander 2026-02-19 18:55 18
    QVariant data(const QModelIndex &index, int role) const override;
032aa1e1 Poul Sander 2026-02-19 18:55 19
032aa1e1 Poul Sander 2026-02-19 18:55 20
private:
032aa1e1 Poul Sander 2026-02-19 18:55 21
    struct Item
032aa1e1 Poul Sander 2026-02-19 18:55 22
    {
032aa1e1 Poul Sander 2026-02-19 18:55 23
        QString path;
032aa1e1 Poul Sander 2026-02-19 18:55 24
        QPixmap thumbnail;
032aa1e1 Poul Sander 2026-02-19 18:55 25
    };
032aa1e1 Poul Sander 2026-02-19 18:55 26
032aa1e1 Poul Sander 2026-02-19 18:55 27
    QVector<Item> m_items;
032aa1e1 Poul Sander 2026-02-19 18:55 28
};
1970-01-01 00:00 29