File indexing completed on 2024-05-12 05:36:17
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Kai Uwe Broulik <kde@privat.broulik.de> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QAbstractListModel> 0010 #include <QList> 0011 0012 #include <Solid/Battery> 0013 #include <Solid/Device> 0014 0015 class BatteryModel : public QAbstractListModel 0016 { 0017 Q_OBJECT 0018 0019 Q_PROPERTY(int count READ rowCount NOTIFY countChanged) 0020 0021 public: 0022 explicit BatteryModel(QObject *parent); 0023 ~BatteryModel() override = default; 0024 0025 enum Roles { 0026 BatteryRole = Qt::UserRole, 0027 UdiRole, 0028 VendorRole, 0029 ProductRole, 0030 }; 0031 Q_ENUM(Roles) 0032 0033 QVariant data(const QModelIndex &index, int role) const override; 0034 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 0035 QHash<int, QByteArray> roleNames() const override; 0036 0037 signals: 0038 void countChanged(); 0039 0040 private: 0041 QList<Solid::Device> m_batteries; 0042 };