File indexing completed on 2024-04-21 16:12:19
0001 // SPDX-License-Identifier: GPL-2.0-or-later 0002 // SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org> 0003 0004 #pragma once 0005 0006 #include <QAbstractListModel> 0007 0008 class BugzillaManager; 0009 0010 class PlatformModel : public QAbstractListModel 0011 { 0012 Q_OBJECT 0013 public: 0014 enum class Role { 0015 Name, 0016 }; 0017 Q_ENUM(Role) 0018 0019 using QAbstractListModel::QAbstractListModel; 0020 0021 Q_PROPERTY(BugzillaManager *manager MEMBER m_manager WRITE setManager NOTIFY managerChanged) 0022 BugzillaManager *m_manager = nullptr; 0023 void setManager(BugzillaManager *manager); 0024 Q_SIGNAL void managerChanged(); 0025 0026 Q_PROPERTY(int detectedPlatformRow READ detectedPlatformRow NOTIFY detectedPlatformRowChanged) 0027 [[nodiscard]] int detectedPlatformRow(); 0028 Q_SIGNAL void detectedPlatformRowChanged(); 0029 0030 Q_PROPERTY(QString error MEMBER m_error NOTIFY errorChanged) 0031 QString m_error; 0032 Q_SIGNAL void errorChanged(); 0033 0034 [[nodiscard]] int rowCount(const QModelIndex &parent) const override; 0035 [[nodiscard]] QVariant data(const QModelIndex &index, int intRole) const override; 0036 [[nodiscard]] QHash<int, QByteArray> roleNames() const override; 0037 0038 private: 0039 QStringList m_list; 0040 };