File indexing completed on 2025-04-27 04:04:22
0001 /* 0002 * SPDX-FileCopyrightText: (C) 2014 Vishesh Handa <vhanda@kde.org> 0003 * SPDX-FileCopyrightText: (C) 2017 Atul Sharma <atulsharma406@gmail.com> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #ifndef IMAGETIMEMODEL_H 0009 #define IMAGETIMEMODEL_H 0010 0011 #include <QAbstractListModel> 0012 #include <QStringList> 0013 0014 #include "types.h" 0015 0016 class ImageTimeModel : public QAbstractListModel 0017 { 0018 Q_OBJECT 0019 Q_PROPERTY(Types::TimeGroup group READ group WRITE setGroup NOTIFY groupChanged) 0020 public: 0021 explicit ImageTimeModel(QObject *parent = nullptr); 0022 0023 QHash<int, QByteArray> roleNames() const override; 0024 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; 0025 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0026 0027 Types::TimeGroup group() const; 0028 void setGroup(Types::TimeGroup group); 0029 0030 signals: 0031 void groupChanged(); 0032 0033 private slots: 0034 void slotPopulate(); 0035 0036 private: 0037 Types::TimeGroup m_group; 0038 QList<QPair<QByteArray, QString>> m_times; 0039 }; 0040 0041 #endif