#pragma once #include #include #include struct ImageInfo { QString path; QString name; qint64 sizeBytes = 0; QSize dimensions; // width, height }; class ImageInfoModel : public QAbstractListModel { Q_OBJECT public: enum Roles { PathRole = Qt::UserRole + 1, SizeRole, DimensionsRole }; explicit ImageInfoModel(QObject* parent = nullptr); int rowCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; QHash roleNames() const override; void setFiles(const QStringList& filePaths); private: QVector m_items; };