File indexing completed on 2024-05-12 05:38:47

0001 /*
0002  *  SPDX-FileCopyrightText: 2021 Tomaz Canabrava <tcanabrava@kde.org>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QAbstractListModel>
0010 
0011 #include <QList>
0012 #include <QString>
0013 
0014 #include "powerdevilconfigcommonprivate_export.h"
0015 
0016 class POWERDEVILCONFIGCOMMONPRIVATE_EXPORT PowerProfileModel : public QAbstractListModel
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     enum { Name = Qt::DisplayRole, Value = Qt::UserRole };
0022 
0023     PowerProfileModel(QObject *parent = nullptr);
0024 
0025     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
0026     int rowCount(const QModelIndex &parent) const override;
0027     QHash<int, QByteArray> roleNames() const override;
0028 
0029 private:
0030     struct Data {
0031         QString name;
0032         QString value;
0033     };
0034 
0035     QList<Data> m_data;
0036 };