File indexing completed on 2024-04-14 15:32:45

0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0002 // SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0003 
0004 #pragma once
0005 
0006 #include <QAbstractListModel>
0007 
0008 #include "bugzillaintegration/reportinterface.h"
0009 
0010 class ReproducibilityModel : public QAbstractListModel
0011 {
0012     Q_OBJECT
0013 public:
0014     enum class Role {
0015         String = Qt::UserRole,
0016         Integer,
0017     };
0018     Q_ENUM(Role)
0019 
0020     using QAbstractListModel::QAbstractListModel;
0021 
0022     [[nodiscard]] int rowCount(const QModelIndex &parent) const override;
0023     [[nodiscard]] QVariant data(const QModelIndex &index, int intRole) const override;
0024     [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
0025 
0026 private:
0027     static QList<ReportInterface::Reproducible> reproducibilities();
0028     const QList<ReportInterface::Reproducible> m_list = reproducibilities();
0029 };