// SPDX-FileCopyrightText: 2022 Devin Lin // SPDX-License-Identifier: LGPL-2.0-or-later #pragma once #include "mobileshellsettings.h" #include "qqml.h" #include "quicksetting.h" #include #include #include #include "mobileshell_export.h" namespace MobileShell { class MOBILESHELL_EXPORT SavedQuickSettingsModel : public QAbstractListModel { Q_OBJECT public: SavedQuickSettingsModel(QObject *parent = nullptr); enum { NameRole, IdRole, IconRole, }; QVariant data(const QModelIndex &index, int role) const override; int rowCount(const QModelIndex &parent) const override; QHash roleNames() const override; Q_INVOKABLE void moveRow(int oldIndex, int newIndex); Q_INVOKABLE void insertRow(KPluginMetaData *metaData, int index); Q_INVOKABLE void removeRow(int index); QList list() const; public Q_SLOTS: void updateData(QList data); Q_SIGNALS: void dataUpdated(QList data); private: QList m_data; }; } // namespace MobileShell